Home | History | Annotate | Download | only in libffi
      1 2008-01-24  David Edelsohn  <edelsohn (a] gnu.org>
      2 
      3 	* configure: Regenerate.
      4 
      5 2008-01-06  Andreas Tobler  <a.tobler (a] schweiz.org>
      6 
      7 	* src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
      8 
      9 2008-01-05  Andreas Tobler  <a.tobler (a] schweiz.org>
     10 
     11 	PR testsuite/32843
     12 	* src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
     13 	signed/unsigned int8/16 for X86_DARWIN.
     14 	Updated copyright info.
     15 	Handle one and two byte structs with special cif->flags.
     16 	* src/x86/ffitarget.h: Add special types for one and two byte structs.
     17 	Updated copyright info.
     18 	* src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
     19 	sysv.S
     20 	Remove code to pop args from the stack after call.
     21 	Special-case signed/unsigned for int8/16, one and two byte structs.
     22 	(ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
     23 	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
     24 	FFI_TYPE_SINT32.
     25 	Updated copyright info.
     26 
     27 2007-12-08  David Daney  <ddaney (a] avtrex.com>
     28 
     29 	* src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with 
     30 	SUBU, add with ADDU and use smaller code sequences.
     31 
     32 2007-12-07  David Daney  <ddaney (a] avtrex.com>
     33 
     34 	* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
     35 	type.
     36 
     37 2007-12-06  David Daney  <ddaney (a] avtrex.com>
     38 
     39 	* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not	already
     40 	defined.
     41 	(ffi_java_raw): New typedef.
     42 	(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
     43 	ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
     44 	ffi_java_raw.
     45 	(ffi_java_raw_closure) : Same.
     46 	(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
     47 	parameter types.
     48 	* src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
     49 	FFI_SIZEOF_JAVA_RAW.
     50 	(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
     51 	Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
     52 	sizeof(ffi_java_raw) for alignment calculations.
     53 	(ffi_java_ptrarray_to_raw): Same.
     54 	(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
     55         if FFI_SIZEOF_JAVA_RAW == 4.
     56 	(ffi_java_raw_to_rvalue): Same.
     57 	(ffi_java_raw_call): Change type of raw to ffi_java_raw.
     58 	(ffi_java_translate_args): Same.
     59 	(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
     60 	parameter types.
     61 	* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
     62 
     63 2007-12-06  David Daney  <ddaney (a] avtrex.com>
     64 
     65 	* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on 
     66 	pointer values.
     67 
     68 2007-12-01  Andreas Tobler  <a.tobler (a] schweiz.org>
     69 
     70 	PR libffi/31937
     71 	* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
     72 	Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
     73 	* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
     74 	set the NUM_FPR_ARG_REGISTERS according to.
     75 	Add support for potential soft-float support under hard-float
     76 	architecture.
     77 	(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
     78 	FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
     79 	to the FFI_LINUX_SOFT_FLOAT ABI.
     80 	(ffi_prep_cif_machdep): Likewise.
     81 	(ffi_closure_helper_SYSV): Likewise.
     82 	* src/powerpc/ppc_closure.S: Make sure not to store float/double
     83 	on archs where __NO_FPRS__ is true.
     84 	Add FFI_TYPE_UINT128 support.
     85 	* src/powerpc/sysv.S: Add support for soft-float long-double-128.
     86 	Adjust copyright notice.
     87 
     88 2007-11-25  Andreas Tobler  <a.tobler (a] schweiz.org>
     89 
     90 	* src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
     91 	* include/ffi_common.h: ... here.
     92 	Update copyright.
     93 
     94 2007-11-17  Andreas Tobler  <a.tobler (a] schweiz.org>
     95 
     96 	* src/powerpc/sysv.S: Load correct cr to compare if we have long double.
     97 	* src/powerpc/linux64.S: Likewise.
     98 	* src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
     99 	* testsuite/libffi.call/return_ldl.c: New test.
    100 
    101 2007-09-04    <aph (a] redhat.com>
    102 
    103 	* src/arm/sysv.S (UNWIND): New.
    104 	(Whole file): Conditionally compile unwinder directives.
    105 	* src/arm/sysv.S: Add unwinder directives.
    106 
    107 	* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
    108 	Only treat r0 as a struct address if we're actually returning a
    109 	struct by address.
    110 	Only copy the bytes that are actually within a struct.
    111 	(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
    112 	is returned in r0, not passed by address.
    113 	(ffi_call): Allocate a word-sized temporary for the case where
    114 	a composite is returned in r0.
    115 	(ffi_prep_incoming_args_SYSV): Align as necessary.
    116 
    117 2007-08-05  Steven Newbury  <s_j_newbury (a] yahoo.co.uk>
    118 
    119 	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of 
    120 	directly using the sys_cacheflush syscall.
    121 
    122 2007-07-27  Andrew Haley  <aph (a] redhat.com>
    123 
    124 	* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
    125 
    126 2007-09-03  Maciej W. Rozycki  <macro (a] linux-mips.org>
    127 
    128 	* Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
    129 	* configure.ac: Likewise.
    130 	* Makefile.in: Regenerate.
    131 	* include/Makefile.in: Likewise.
    132 	* testsuite/Makefile.in: Likewise.
    133 	* configure: Likewise.
    134 
    135 2007-08-24  David Daney  <ddaney (a] avtrex.com>
    136 
    137 	* testsuite/libffi.call/return_sl.c: New test.
    138 
    139 2007-08-10  David Daney  <ddaney (a] avtrex.com>
    140 
    141 	* testsuite/libffi.call/cls_multi_ushort.c,
    142 	testsuite/libffi.call/cls_align_uint16.c,
    143 	testsuite/libffi.call/nested_struct1.c,
    144 	testsuite/libffi.call/nested_struct3.c,
    145 	testsuite/libffi.call/cls_7_1_byte.c,
    146 	testsuite/libffi.call/nested_struct5.c,
    147 	testsuite/libffi.call/cls_double.c,
    148 	testsuite/libffi.call/nested_struct7.c,
    149 	testsuite/libffi.call/cls_sint.c,
    150 	testsuite/libffi.call/nested_struct9.c,
    151 	testsuite/libffi.call/cls_20byte1.c,
    152 	testsuite/libffi.call/cls_multi_sshortchar.c,
    153 	testsuite/libffi.call/cls_align_sint64.c,
    154 	testsuite/libffi.call/cls_3byte2.c,
    155 	testsuite/libffi.call/cls_multi_schar.c,
    156 	testsuite/libffi.call/cls_multi_uchar.c,
    157 	testsuite/libffi.call/cls_19byte.c,
    158 	testsuite/libffi.call/cls_9byte1.c,
    159 	testsuite/libffi.call/cls_align_float.c,
    160 	testsuite/libffi.call/closure_fn1.c,
    161 	testsuite/libffi.call/problem1.c,
    162 	testsuite/libffi.call/closure_fn3.c,
    163 	testsuite/libffi.call/cls_sshort.c,
    164 	testsuite/libffi.call/closure_fn5.c,
    165 	testsuite/libffi.call/cls_align_double.c,
    166 	testsuite/libffi.call/nested_struct.c,
    167 	testsuite/libffi.call/cls_2byte.c,
    168 	testsuite/libffi.call/nested_struct10.c,
    169 	testsuite/libffi.call/cls_4byte.c,
    170 	testsuite/libffi.call/cls_6byte.c,
    171 	testsuite/libffi.call/cls_8byte.c,
    172 	testsuite/libffi.call/cls_multi_sshort.c,
    173 	testsuite/libffi.call/cls_align_sint16.c,
    174 	testsuite/libffi.call/cls_align_uint32.c,
    175 	testsuite/libffi.call/cls_20byte.c,
    176 	testsuite/libffi.call/cls_float.c,
    177 	testsuite/libffi.call/nested_struct2.c,
    178 	testsuite/libffi.call/cls_5_1_byte.c,
    179 	testsuite/libffi.call/nested_struct4.c,
    180 	testsuite/libffi.call/cls_24byte.c,
    181 	testsuite/libffi.call/nested_struct6.c,
    182 	testsuite/libffi.call/cls_64byte.c,
    183 	testsuite/libffi.call/nested_struct8.c,
    184 	testsuite/libffi.call/cls_uint.c,
    185 	testsuite/libffi.call/cls_multi_ushortchar.c,
    186 	testsuite/libffi.call/cls_schar.c,
    187 	testsuite/libffi.call/cls_uchar.c,
    188 	testsuite/libffi.call/cls_align_uint64.c,
    189 	testsuite/libffi.call/cls_ulonglong.c,
    190 	testsuite/libffi.call/cls_align_longdouble.c,
    191 	testsuite/libffi.call/cls_1_1byte.c,
    192 	testsuite/libffi.call/cls_12byte.c,
    193 	testsuite/libffi.call/cls_3_1byte.c,
    194 	testsuite/libffi.call/cls_3byte1.c,
    195 	testsuite/libffi.call/cls_4_1byte.c,
    196 	testsuite/libffi.call/cls_6_1_byte.c,
    197 	testsuite/libffi.call/cls_16byte.c,
    198 	testsuite/libffi.call/cls_18byte.c,
    199 	testsuite/libffi.call/closure_fn0.c,
    200 	testsuite/libffi.call/cls_9byte2.c,
    201 	testsuite/libffi.call/closure_fn2.c,
    202 	testsuite/libffi.call/closure_fn4.c,
    203 	testsuite/libffi.call/cls_ushort.c,
    204 	testsuite/libffi.call/closure_fn6.c,
    205 	testsuite/libffi.call/cls_5byte.c,
    206 	testsuite/libffi.call/cls_align_pointer.c,
    207 	testsuite/libffi.call/cls_7byte.c,
    208 	testsuite/libffi.call/cls_align_sint32.c,
    209 	testsuite/libffi.special/unwindtest_ffi_call.cc,
    210 	testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
    211 
    212 2007-08-10  David Daney  <ddaney (a] avtrex.com>
    213 
    214 	PR libffi/28313
    215 	* configure.ac: Don't treat mips64 as a special case.
    216 	* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
    217 	* configure: Regenerate
    218 	* Makefile.in: Ditto.
    219 	* fficonfig.h.in: Ditto.
    220 	* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
    221 	(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
    222 	(FFI_DEFAULT_ABI): Set for n64 case.
    223 	(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
    224 	* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
    225 	(ffi_closure_N32): New function.
    226 	(.eh_frame): New section
    227 	* src/mips/o32.S: Clean up comments.
    228 	(ffi_closure_O32): Pass ffi_closure parameter in $12.
    229 	* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
    230 	_MIPS_SIM == _ABIN32 throughout.
    231 	(FFI_MIPS_STOP_HERE): New, use in place of
    232 	ffi_stop_here.
    233 	(ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
    234 	to support n32/n64 ABIs.
    235 	(calc_n32_struct_flags): Rewrite.
    236 	(calc_n32_return_struct_flags): Remove unused variable.  Reverse
    237 	position of flag bits.
    238 	(ffi_prep_cif_machdep): Rewrite n32 portion.
    239 	(ffi_call): Enable for n64.  Add special handling for small structure
    240 	return values.
    241 	(ffi_prep_closure_loc): Add n32 and n64 support.
    242 	(ffi_closure_mips_inner_O32): Add cast to silence warning.
    243 	(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
    244 
    245 2007-08-08  David Daney  <ddaney (a] avtrex.com>
    246 
    247 	* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
    248 	* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
    249 	specifiers.
    250 	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
    251 	* testsuite/libffi.call/cls_sint.c (main): Ditto.
    252 	* testsuite/libffi.call/nested_struct9.c (main): Ditto.
    253 	* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
    254 	* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
    255 	* testsuite/libffi.call/closure_fn1.c (main): Ditto.
    256 	* testsuite/libffi.call/closure_fn3.c (main): Ditto.
    257 	* testsuite/libffi.call/return_dbl2.c (main): Ditto.
    258 	* testsuite/libffi.call/cls_sshort.c (main): Ditto.
    259 	* testsuite/libffi.call/return_fl3.c (main): Ditto.
    260 	* testsuite/libffi.call/closure_fn5.c (main): Ditto.
    261 	* testsuite/libffi.call/nested_struct.c (main): Ditto.
    262 	* testsuite/libffi.call/nested_struct10.c (main): Ditto.
    263 	* testsuite/libffi.call/return_ll1.c (main): Ditto.
    264 	* testsuite/libffi.call/cls_8byte.c (main): Ditto.
    265 	* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
    266 	* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
    267 	* testsuite/libffi.call/cls_20byte.c (main): Ditto.
    268 	* testsuite/libffi.call/nested_struct2.c (main): Ditto.
    269 	* testsuite/libffi.call/cls_24byte.c (main): Ditto.
    270 	* testsuite/libffi.call/nested_struct6.c (main): Ditto.
    271 	* testsuite/libffi.call/cls_uint.c (main): Ditto.
    272 	* testsuite/libffi.call/cls_12byte.c (main): Ditto.
    273 	* testsuite/libffi.call/cls_16byte.c (main): Ditto.
    274 	* testsuite/libffi.call/closure_fn0.c (main): Ditto.
    275 	* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
    276 	* testsuite/libffi.call/closure_fn2.c (main): Ditto.
    277 	* testsuite/libffi.call/return_dbl1.c (main): Ditto.
    278 	* testsuite/libffi.call/closure_fn4.c (main): Ditto.
    279 	* testsuite/libffi.call/closure_fn6.c (main): Ditto.
    280 	* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
    281 
    282 2007-08-07  Andrew Haley  <aph (a] redhat.com>
    283 
    284 	* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
    285 	checkin.
    286 
    287 2007-08-06  Andrew Haley  <aph (a] redhat.com>
    288 
    289 	PR testsuite/32843
    290 	* src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
    291 	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
    292 	FFI_TYPE_SINT32.
    293 
    294 2007-08-02  David Daney  <ddaney (a] avtrex.com>
    295 
    296 	* testsuite/libffi.call/return_ul.c (main): Define return type as
    297 	ffi_arg.  Use proper printf conversion specifier.
    298 	
    299 2007-07-30  Andrew Haley  <aph (a] redhat.com>
    300 
    301 	PR testsuite/32843
    302 	* src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
    303 	signed/unsigned int8/16.
    304 	* src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
    305 	Use a jump table.
    306 	Remove code to pop args from the stack after call.
    307 	Special-case signed/unsigned int8/16.
    308 	* testsuite/libffi.call/return_sc.c (main): Revert.
    309 
    310 2007-07-26  Richard Guenther  <rguenther (a] suse.de>
    311 
    312 	PR testsuite/32843
    313 	* testsuite/libffi.call/return_sc.c (main): Verify call
    314 	result as signed char, not ffi_arg.
    315 
    316 2007-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
    317 
    318 	* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
    319 	* configure: Regenerate.
    320 
    321 2007-07-11  David Daney  <ddaney (a] avtrex.com>
    322 
    323 	* src/mips/ffi.c: Don't include sys/cachectl.h.
    324 	(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
    325 	cacheflush().
    326 
    327 2007-05-18  Aurelien Jarno  <aurelien (a] aurel32.net>
    328 
    329 	* src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
    330 	from (ffi_prep_closure): ... this.
    331 	(FFI_INIT_TRAMPOLINE): Adjust.
    332 
    333 2005-12-31  Phil Blundell  <pb (a] reciva.com>
    334 
    335 	* src/arm/ffi.c (ffi_prep_incoming_args_SYSV, 
    336         ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
    337 	* src/arm/sysv.S(ffi_closure_SYSV): Likewise.
    338 	* src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
    339 	(FFI_CLOSURES): Enable closure support.
    340 
    341 2007-07-03  Andrew Haley  <aph (a] hedges.billgatliff.com>
    342 
    343         * testsuite/libffi.call/cls_multi_ushort.c,
    344         testsuite/libffi.call/cls_align_uint16.c,
    345         testsuite/libffi.call/nested_struct1.c,
    346         testsuite/libffi.call/nested_struct3.c,
    347         testsuite/libffi.call/cls_7_1_byte.c,
    348         testsuite/libffi.call/cls_double.c,
    349         testsuite/libffi.call/nested_struct5.c,
    350         testsuite/libffi.call/nested_struct7.c,
    351         testsuite/libffi.call/cls_sint.c,
    352         testsuite/libffi.call/nested_struct9.c,
    353         testsuite/libffi.call/cls_20byte1.c,
    354         testsuite/libffi.call/cls_multi_sshortchar.c,
    355         testsuite/libffi.call/cls_align_sint64.c,
    356         testsuite/libffi.call/cls_3byte2.c,
    357         testsuite/libffi.call/cls_multi_schar.c,
    358         testsuite/libffi.call/cls_multi_uchar.c,
    359         testsuite/libffi.call/cls_19byte.c,
    360         testsuite/libffi.call/cls_9byte1.c,
    361         testsuite/libffi.call/cls_align_float.c,
    362         testsuite/libffi.call/closure_fn1.c,
    363         testsuite/libffi.call/problem1.c,
    364         testsuite/libffi.call/closure_fn3.c,
    365         testsuite/libffi.call/cls_sshort.c,
    366         testsuite/libffi.call/closure_fn5.c,
    367         testsuite/libffi.call/cls_align_double.c,
    368         testsuite/libffi.call/cls_2byte.c,
    369         testsuite/libffi.call/nested_struct.c,
    370         testsuite/libffi.call/nested_struct10.c,
    371         testsuite/libffi.call/cls_4byte.c,
    372         testsuite/libffi.call/cls_6byte.c,
    373         testsuite/libffi.call/cls_8byte.c,
    374         testsuite/libffi.call/cls_multi_sshort.c,
    375         testsuite/libffi.call/cls_align_uint32.c,
    376         testsuite/libffi.call/cls_align_sint16.c,
    377         testsuite/libffi.call/cls_float.c,
    378         testsuite/libffi.call/cls_20byte.c,
    379         testsuite/libffi.call/cls_5_1_byte.c,
    380         testsuite/libffi.call/nested_struct2.c,
    381         testsuite/libffi.call/cls_24byte.c,
    382         testsuite/libffi.call/nested_struct4.c,
    383         testsuite/libffi.call/nested_struct6.c,
    384         testsuite/libffi.call/cls_64byte.c,
    385         testsuite/libffi.call/nested_struct8.c,
    386         testsuite/libffi.call/cls_uint.c,
    387         testsuite/libffi.call/cls_multi_ushortchar.c,
    388         testsuite/libffi.call/cls_schar.c,
    389         testsuite/libffi.call/cls_uchar.c,
    390         testsuite/libffi.call/cls_align_uint64.c,
    391         testsuite/libffi.call/cls_ulonglong.c,
    392         testsuite/libffi.call/cls_align_longdouble.c,
    393         testsuite/libffi.call/cls_1_1byte.c,
    394         testsuite/libffi.call/cls_12byte.c,
    395         testsuite/libffi.call/cls_3_1byte.c,
    396         testsuite/libffi.call/cls_3byte1.c,
    397         testsuite/libffi.call/cls_4_1byte.c,
    398         testsuite/libffi.call/cls_6_1_byte.c,
    399         testsuite/libffi.call/cls_16byte.c,
    400         testsuite/libffi.call/cls_18byte.c,
    401         testsuite/libffi.call/closure_fn0.c,
    402         testsuite/libffi.call/cls_9byte2.c,
    403         testsuite/libffi.call/closure_fn2.c,
    404         testsuite/libffi.call/closure_fn4.c,
    405         testsuite/libffi.call/cls_ushort.c,
    406         testsuite/libffi.call/closure_fn6.c,
    407         testsuite/libffi.call/cls_5byte.c,
    408         testsuite/libffi.call/cls_align_pointer.c,
    409         testsuite/libffi.call/cls_7byte.c,
    410         testsuite/libffi.call/cls_align_sint32.c,
    411         testsuite/libffi.special/unwindtest_ffi_call.cc,
    412         testsuite/libffi.special/unwindtest.cc: Enable for ARM.
    413 
    414 2007-07-05  H.J. Lu  <hongjiu.lu (a] intel.com>
    415 
    416 	* aclocal.m4: Regenerated.
    417 
    418 2007-06-02  Paolo Bonzini  <bonzini (a] gnu.org>
    419 
    420 	* configure: Regenerate.
    421 
    422 2007-05-23  Steve Ellcey  <sje (a] cup.hp.com>
    423 
    424 	* Makefile.in: Regenerate.
    425 	* configure: Regenerate.
    426 	* aclocal.m4: Regenerate.
    427 	* include/Makefile.in: Regenerate.
    428 	* testsuite/Makefile.in: Regenerate.
    429 
    430 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
    431 
    432 	* src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
    433 	ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
    434 	* src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
    435 	* src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
    436 	(FFI_CLOSURES): Enable closure support.
    437 
    438 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
    439 
    440 	* configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
    441 	* configure: Regenerate.
    442 	* fficonfig.h.in: Regenerate.
    443 	* src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
    444 	CFI_OFFSET,CFI_DEF_CFA): New macros.
    445 	(ffi_call_SYSV): Add callframe annotation.
    446 
    447 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
    448 
    449 	* src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
    450 	numerous test suite failures.
    451 	* src/m68k/sysv.S (ffi_call_SYSV): Likewise.
    452 
    453 2007-04-11  Paolo Bonzini  <bonzini (a] gnu.org>
    454 
    455 	* Makefile.am (EXTRA_DIST): Bring up to date.
    456 	* Makefile.in: Regenerate.
    457 	* src/frv/eabi.S: Remove RCS keyword.
    458 
    459 2007-04-06  Richard Henderson  <rth (a] redhat.com>
    460 
    461 	* configure.ac: Tidy target case.
    462 	(HAVE_LONG_DOUBLE): Allow the target to override.
    463 	* configure: Regenerate.
    464 	* include/ffi.h.in: Don't define ffi_type_foo if
    465 	LIBFFI_HIDE_BASIC_TYPES is defined.
    466 	(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
    467 	to ffi_type_double.
    468 	* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
    469 	(FFI_TYPEDEF, ffi_type_void): Mark the data const.
    470 	(ffi_type_longdouble): Special case for Alpha.  Don't define
    471 	if long double == double.
    472 
    473 	* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
    474 	(ffi_prep_cif_machdep): Handle it as the 128-bit type.
    475 	(ffi_call, ffi_closure_osf_inner): Likewise.
    476 	(ffi_closure_osf_inner): Likewise.  Mark hidden.
    477 	(ffi_call_osf, ffi_closure_osf): Mark hidden.
    478 	* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
    479 	* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
    480 	(load_table): Handle 128-bit long double.
    481 
    482 	* testsuite/libffi.call/float4.c: Add -mieee for alpha.
    483 
    484 2007-04-06  Tom Tromey  <tromey (a] redhat.com>
    485 
    486 	PR libffi/31491:
    487 	* README: Fixed bug in example.
    488 
    489 2007-04-03  Jakub Jelinek  <jakub (a] redhat.com>
    490 
    491 	* src/closures.c: Include sys/statfs.h.
    492 	(_GNU_SOURCE): Define on Linux.
    493 	(FFI_MMAP_EXEC_SELINUX): Define.
    494 	(selinux_enabled): New variable.
    495 	(selinux_enabled_check): New function.
    496 	(is_selinux_enabled): Define.
    497 	(dlmmap): Use it.
    498 
    499 2007-03-24  Uros Bizjak  <ubizjak (a] gmail.com>
    500 
    501 	* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
    502 	Use 'volatile float sum' to create sum of floats to avoid false
    503 	negative due to excess precision on ix86 targets.
    504 	(main): Ditto. 
    505 
    506 2007-03-08  Alexandre Oliva  <aoliva (a] redhat.com>
    507 
    508 	* src/powerpc/ffi.c (flush_icache): Fix left-over from previous
    509 	patch.
    510 	(ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
    511 
    512 2007-03-07  Alexandre Oliva  <aoliva (a] redhat.com>
    513 
    514 	* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
    515 	(ffi_prep_closure_loc): New.
    516 	(ffi_prep_raw_closure_loc): New.
    517 	(ffi_prep_java_raw_closure_loc): New.
    518 	* src/closures.c: New file.
    519 	* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
    520 	Replace sflags with exec_offset.
    521 	[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
    522 	sub_segment_exec_offset): New macros.
    523 	(get_segment_flags, set_segment_flags, check_segment_merge): New
    524 	macros.
    525 	(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
    526 	(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
    527 	destroy_mspace): Use new macros.
    528 	(sys_alloc): Silence warning.
    529 	* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
    530 	* Makefile.in: Rebuilt.
    531 	* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
    532 	terms of ffi_prep_closure_loc.
    533 	* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
    534 	from...
    535 	(ffi_prep_raw_closure): ... this.  Re-implement in terms of the
    536 	renamed version.
    537 	* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
    538 	adjusted from...
    539 	(ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
    540 	the renamed version.
    541 	* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
    542 	(ffi_prep_closure): ... this.
    543 	* src/pa/ffi.c: Likewise.
    544 	* src/cris/ffi.c: Likewise.  Adjust.
    545 	* src/frv/ffi.c: Likewise.
    546 	* src/ia64/ffi.c: Likewise.
    547 	* src/mips/ffi.c: Likewise.
    548 	* src/powerpc/ffi_darwin.c: Likewise.
    549 	* src/s390/ffi.c: Likewise.
    550 	* src/sh/ffi.c: Likewise.
    551 	* src/sh64/ffi.c: Likewise.
    552 	* src/sparc/ffi.c: Likewise.
    553 	* src/x86/ffi64.c: Likewise.
    554 	* src/x86/ffi.c: Likewise.
    555 	(FFI_INIT_TRAMPOLINE): Adjust.
    556 	(ffi_prep_raw_closure_loc): Renamed and adjusted from...
    557 	(ffi_prep_raw_closure): ... this.
    558 	* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
    559 	(ffi_prep_closure): ... this.
    560 	(flush_icache): Adjust.
    561 
    562 2007-03-07  Alexandre Oliva  <aoliva (a] redhat.com>
    563 
    564 	* src/dlmalloc.c: New file, imported version 2.8.3 of Doug
    565 	Lea's malloc.
    566 
    567 2007-03-01  Brooks Moses  <brooks.moses (a] codesourcery.com>
    568 
    569 	* Makefile.am: Add dummy install-pdf target.
    570 	* Makefile.in: Regenerate
    571 
    572 2007-02-13  Andreas Krebbel  <krebbel1 (a] de.ibm.com>
    573 
    574 	* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
    575 	ffi_closure_helper_SYSV): Add long double handling.
    576 
    577 2007-02-02  Jakub Jelinek  <jakub (a] redhat.com>
    578 
    579 	* src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
    580 	immediately after bctrl instruction.
    581 
    582 2007-01-18  Alexandre Oliva  <aoliva (a] redhat.com>
    583 
    584 	* Makefile.am (all-recursive, install-recursive,
    585 	mostlyclean-recursive, clean-recursive, distclean-recursive,
    586 	maintainer-clean-recursive): Add missing targets.
    587 	* Makefile.in: Rebuilt.
    588 
    589 2006-12-14  Andreas Tobler  <a.tobler (a] schweiz.org>
    590 
    591 	* configure.ac: Add TARGET for x86_64-*-darwin*.
    592 	* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
    593 	for X86_DARWIN.
    594 	* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
    595 	* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
    596 	* configure: Regenerate.
    597 	* Makefile.in: Regenerate.
    598 	* include/Makefile.in: Regenerate.
    599 	* testsuite/Makefile.in: Regenerate.
    600 	* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
    601 	ffi_call only.
    602 
    603 2006-12-13  Andreas Tobler <a.tobler (a] schweiz.org>
    604 
    605 	* aclocal.m4: Regenerate with aclocal -I .. as written in the
    606 	Makefile.am.
    607 
    608 2006-10-31  Geoffrey Keating  <geoffk (a] apple.com>
    609 
    610 	* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
    611 	(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
    612 	Darwin.
    613 	* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
    614 	* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
    615 
    616 2006-10-10  Paolo Bonzini  <bonzini (a] gnu.org>
    617 	    Sandro Tolaini  <tolaini (a] libero.it>
    618 
    619 	* configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and 
    620 	conditional.
    621 	* configure: Regenerated.
    622 	* Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
    623 	(EXTRA_DIST): Add src/x86/darwin.S.
    624 	* Makefile.in: Regenerated.
    625 	* include/Makefile.in: Regenerated.
    626 	* testsuite/Makefile.in: Regenerated.
    627 
    628 	* src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
    629 	X86_WIN32, and additionally align stack to 16 bytes.
    630 	* src/x86/darwin.S: New, based on sysv.S.
    631 	* src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
    632 
    633 2006-09-12  David Daney  <ddaney (a] avtrex.com>
    634 
    635 	PR libffi/23935
    636 	* include/Makefile.am: Install both ffi.h and ffitarget.h in
    637 	$(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
    638 	* aclocal.m4: Regenerated for automake 1.9.6.
    639 	* Makefile.in: Regenerated.
    640 	* include/Makefile.in: Regenerated.
    641 	* testsuite/Makefile.in: Regenerated.
    642 
    643 2006-08-17  Andreas Tobler  <a.tobler (a] schweiz.ch>
    644 
    645 	* include/ffi_common.h (struct): Revert accidental commit.
    646 
    647 2006-08-15  Andreas Tobler  <a.tobler (a] schweiz.ch>
    648 
    649 	* include/ffi_common.h: Remove lint directives.
    650 	* include/ffi.h.in: Likewise.
    651 
    652 2006-07-25  Torsten Schoenfeld  <kaffeetisch (a] gmx.de>
    653 
    654 	* include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
    655 	for 32-bit architectures.
    656 	* testsuite/libffi.call/return_ul.c: New test case.
    657 
    658 2006-07-19  David Daney  <ddaney (a] avtrex.com>
    659 
    660 	* testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
    661 	xfail remains for mips64.
    662 
    663 2006-05-23  Carlos O'Donell  <carlos (a] codesourcery.com>
    664 
    665 	* Makefile.am: Add install-html target. Add install-html to .PHONY
    666 	* Makefile.in: Regenerate.
    667 	* aclocal.m4: Regenerate.
    668 	* include/Makefile.in: Regenerate.
    669 	* testsuite/Makefile.in: Regenerate.
    670 
    671 2006-05-18  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    672 
    673 	* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
    674 	stack slot.
    675 
    676 2006-04-22  Andreas Tobler  <a.tobler (a] schweiz.ch>
    677 
    678 	* README: Remove notice about 'Crazy Comments'.
    679 	* src/debug.c: Remove lint directives. Cleanup white spaces.
    680 	* src/java_raw_api.c: Likewise.
    681 	* src/prep_cif.c: Likewise.
    682 	* src/raw_api.c: Likewise.
    683 	* src/ffitest.c: Delete. No longer needed, all test cases migrated
    684 	to the testsuite.
    685 	* src/arm/ffi.c: Remove lint directives.
    686 	* src/m32r/ffi.c: Likewise.
    687 	* src/pa/ffi.c: Likewise.
    688 	* src/powerpc/ffi.c: Likewise.
    689 	* src/powerpc/ffi_darwin.c: Likewise.
    690 	* src/sh/ffi.c: Likewise.
    691 	* src/sh64/ffi.c: Likewise.
    692 	* src/x86/ffi.c: Likewise.
    693 	* testsuite/libffi.call/float2.c: Likewise.
    694 	* testsuite/libffi.call/promotion.c: Likewise.
    695 	* testsuite/libffi.call/struct1.c: Likewise.
    696 
    697 2006-04-13  Andreas Tobler  <a.tobler (a] schweiz.ch>
    698 
    699 	* src/pa/hpux32.S: Correct unwind offset calculation for
    700 	ffi_closure_pa32.
    701 	* src/pa/linux.S: Likewise.
    702 
    703 2006-04-12  James E Wilson  <wilson (a] specifix.com>
    704 
    705 	PR libgcj/26483
    706 	* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
    707 	(hfa_type_load): Call stf_spill.
    708 	(hfa_type_store): Call ldf_fill.
    709 	(ffi_call): Adjust calls to above routines.  Add local temps for
    710 	macro result.
    711 
    712 2006-04-10  Matthias Klose  <doko (a] debian.org>
    713 
    714 	* testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
    715 	directory names containing underscores.
    716 
    717 2006-04-07  James E Wilson  <wilson (a] specifix.com>
    718 
    719 	* testsuite/libffi.call/float4.c: New testcase.
    720 
    721 2006-04-05  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    722 	    Andreas Tobler  <a.tobler (a] schweiz.ch>
    723 
    724 	* Makefile.am: Add PA_HPUX port.
    725 	* Makefile.in: Regenerate.
    726 	* include/Makefile.in: Likewise.
    727 	* testsuite/Makefile.in: Likewise.
    728 	* configure.ac: Add PA_HPUX rules.
    729 	* configure: Regenerate.
    730 	* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
    731 	Add PA_HPUX and PA64_HPUX.
    732 	Rename FFI_LINUX ABI to FFI_PA32 ABI.
    733 	(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
    734 	(FFI_TYPE_SMALL_STRUCT2): Define.
    735 	(FFI_TYPE_SMALL_STRUCT4): Likewise.
    736 	(FFI_TYPE_SMALL_STRUCT8): Likewise.
    737 	(FFI_TYPE_SMALL_STRUCT3): Redefine.
    738 	(FFI_TYPE_SMALL_STRUCT5): Likewise.
    739 	(FFI_TYPE_SMALL_STRUCT6): Likewise.
    740 	(FFI_TYPE_SMALL_STRUCT7): Likewise.
    741 	* src/pa/ffi.c (ROUND_DOWN): Delete.
    742 	(fldw, fstw, fldd, fstd): Use '__asm__'.
    743 	(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
    744 	FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
    745 	(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
    746 	Simplify incrementing of stack slot variable. Change type of local
    747 	'n' to unsigned int.
    748 	(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
    749 	double on PA_HPUX.
    750 	(ffi_prep_cif_machdep): Likewise.
    751 	(ffi_call): Likewise.
    752 	(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
    753 	return type to ffi_status. Simplify incrementing of stack slot
    754 	variable. Only copy floating point argument registers when PA_LINUX
    755 	is true. Reformat debug statement.
    756 	Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
    757 	FFI_TYPE_SMALL_STRUCT8.
    758 	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
    759 	declaration.
    760 	(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
    761 	Add nops to cache flush.  Add trampoline for PA_HPUX.
    762 	* src/pa/hpux32.S: New file.
    763 	* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
    764 	ffi_prep_args_LINUX to ffi_prep_args_pa32.
    765 	Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
    766 	unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
    767 	argument type checks so that common argument types appear first.
    768 	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
    769 	ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
    770 
    771 2006-03-24  Alan Modra  <amodra (a] bigpond.net.au>
    772 
    773 	* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
    774 	for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
    775 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
    776 	FFI_TYPE_LONGDOUBLE.
    777 	(ffi_prep_args64): Assert using IBM extended double.
    778 	(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
    779 	Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
    780 	(ffi_call): Handle FFI_LINUX.
    781 	(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
    782 	gpr3 return pointer as for struct return.  Handle FFI_LINUX
    783 	FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
    784 	unnecessarily.
    785 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
    786 	for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
    787 	Don't use r6 as pointer to results, instead use sp offset.  Don't
    788 	make a special call to load lr with case table address, instead
    789 	use offset from previous call.
    790 	* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
    791 	* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
    792 	return.
    793 
    794 2006-03-15  Kaz Kojima  <kkojima (a] gcc.gnu.org>
    795 
    796 	* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
    797 	passed with FP registers correctly.
    798 	(ffi_closure_helper_SYSV): Likewise.
    799 	* src/sh64/sysv.S: Likewise.
    800 
    801 2006-03-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
    802 
    803 	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
    804 	args and userdata unused.
    805 	(closure_test_fn1): Mark cif and userdata unused.
    806 	(main): Remove unused res.
    807 
    808 2006-02-28  Andreas Tobler  <a.tobler (a] schweiz.ch>
    809 
    810 	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
    811 	-O2, -O3, -Os and the warning flags -W -Wall.
    812 	* testsuite/libffi.special/special.exp: Likewise.
    813 	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
    814 	unused parameter unused for gcc or else do nothing.
    815 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
    816 	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
    817 	and userdata unused.
    818 	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
    819 	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
    820 	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
    821 	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
    822 	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
    823 	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
    824 	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
    825 	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
    826 	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
    827 	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
    828 	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
    829 	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
    830 	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
    831 	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
    832 	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
    833 	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
    834 	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
    835 	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
    836 	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
    837 	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
    838 	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
    839 	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
    840 	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
    841 	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
    842 	Likewise.
    843 	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
    844 	Likewise.
    845 	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
    846 	Likewise.
    847 	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
    848 	void* to avoid compiler warning.
    849 	(main): Likewise.
    850 	(cls_struct_align_gn): Mark cif and userdata unused.
    851 	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
    852 	Likewise.
    853 	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
    854 	Likewise.
    855 	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
    856 	Likewise.
    857 	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
    858 	Likewise.
    859 	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
    860 	Likewise.
    861 	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
    862 	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
    863 	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
    864 	data unused.
    865 	(main): Cast res_call to silence gcc.
    866 	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
    867 	data unused.
    868 	(main): Cast res_call to silence gcc.
    869 	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
    870 	and data unused.
    871 	(main): Cast res_call to silence gcc.
    872 	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
    873 	data unused.
    874 	(main): Cast res_call to silence gcc.
    875 	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
    876 	data unused.
    877 	(main): Cast res_call to silence gcc.
    878 	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
    879 	and data unused.
    880 	(main): Cast res_call to silence gcc.
    881 	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
    882 	userdata unused.
    883 	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
    884 	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
    885 	userdata unused.
    886 	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
    887 	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
    888 	userdata unused.
    889 	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
    890 	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
    891 	userdata unused.
    892 	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
    893 	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
    894 	userdata unused.
    895 	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
    896 	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
    897 	and userdata unused.
    898 	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
    899 	userdata unused.
    900 	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
    901 	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
    902 	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
    903 	Cleanup white spaces.
    904 	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
    905 	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
    906 	cif and userdata unused.
    907 	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
    908 	Likewise.
    909 	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
    910 	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
    911 	formatters to silence gcc.
    912 	(B_gn): Mark cif and userdata unused.
    913 	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
    914 	unused.
    915 	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
    916 	(B_gn): Mark cif and userdata unused.
    917 	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
    918 	unused.
    919 	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
    920 	(B_gn): Mark cif and userdata unused.
    921 	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
    922 	unused.
    923 	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
    924 	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
    925 	* testsuite/libffi.call/problem1.c (stub): Likewise.
    926 	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
    927 	gcc.
    928 	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
    929 	in the last commit for this test case in the test case itself.
    930 	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
    931 	unused.
    932 	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
    933 	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
    934 	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
    935 	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
    936 	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
    937 	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
    938 
    939 2006-02-22  Kaz Kojima  <kkojima (a] gcc.gnu.org>
    940 
    941 	* src/sh/sysv.S: Fix register numbers in the FDE for
    942 	ffi_closure_SYSV.
    943 
    944 2006-02-20  Andreas Tobler  <a.tobler (a] schweiz.ch>
    945 
    946 	* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
    947 	declaration to avoid a false negative on ix86. See PR323.
    948 
    949 2006-02-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
    950 
    951 	* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
    952 	and cast integer to void * if needed.  Update the pointer to
    953 	the FP register saved area correctly.
    954 	
    955 2006-02-17  Andreas Tobler  <a.tobler (a] schweiz.ch>
    956 
    957 	* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
    958 	is fixed.
    959 	* testsuite/libffi.call/nested_struct4.c: Likewise.
    960 
    961 2006-02-16  Andreas Tobler  <a.tobler (a] schweiz.ch>
    962 
    963 	* testsuite/libffi.call/return_dbl.c: New test case.
    964 	* testsuite/libffi.call/return_dbl1.c: Likewise.
    965 	* testsuite/libffi.call/return_dbl2.c: Likewise.
    966 	* testsuite/libffi.call/return_fl.c: Likewise.
    967 	* testsuite/libffi.call/return_fl1.c: Likewise.
    968 	* testsuite/libffi.call/return_fl2.c: Likewise.
    969 	* testsuite/libffi.call/return_fl3.c: Likewise.
    970 	* testsuite/libffi.call/closure_fn6.c: Likewise.
    971 
    972 	* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
    973 	definition.
    974 	* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
    975 	here to be used by other test cases too.
    976 
    977 	* testsuite/libffi.call/nested_struct10.c: New test case.
    978 	* testsuite/libffi.call/nested_struct9.c: Likewise.
    979 	* testsuite/libffi.call/nested_struct8.c: Likewise.
    980 	* testsuite/libffi.call/nested_struct7.c: Likewise.
    981 	* testsuite/libffi.call/nested_struct6.c: Likewise.
    982 	* testsuite/libffi.call/nested_struct5.c: Likewise.
    983 	* testsuite/libffi.call/nested_struct4.c: Likewise.
    984 
    985 2006-01-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
    986 
    987 	* configure.ac: Enable libffi for sparc64-*-freebsd*.
    988 	* configure: Rebuilt.
    989 
    990 2006-01-18  Jakub Jelinek  <jakub (a] redhat.com>
    991 
    992 	* src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
    993 	instead do the shifting inline.
    994 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
    995 	shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
    996 	and 8 byte structs, for the remaining struct sizes don't call
    997 	__lshrdi3, instead do the shifting inline.
    998 
    999 2005-12-07  Thiemo Seufer  <ths (a] networkno.de>
   1000 
   1001 	* src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
   1002 	missing parentheses.
   1003 	* src/mips/o32.S (ffi_call_O32): Code formatting. Define
   1004 	and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
   1005 	(ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
   1006 	A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
   1007 	V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
   1008 	FA_0_0_OFF2.
   1009 	* src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
   1010 	endianness bugs.
   1011 	(ffi_prep_closure): Improve trampoline instruction scheduling.
   1012 	(ffi_closure_mips_inner_O32): Fix endianness bugs.
   1013 
   1014 2005-12-03  Alan Modra  <amodra (a] bigpond.net.au>
   1015 
   1016 	* src/powerpc/ffi.c: Formatting.
   1017 	(ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
   1018 	(ffi_prep_args64): Likewise.
   1019 
   1020 2005-09-30  Geoffrey Keating  <geoffk (a] apple.com>
   1021 
   1022 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
   1023 	darwin, use -shared-libgcc not -lgcc_s, and explain why.
   1024 
   1025 2005-09-26  Tom Tromey  <tromey (a] redhat.com>
   1026 
   1027 	* testsuite/libffi.call/float1.c (value_type): New typedef.
   1028 	(CANARY): New define.
   1029 	(main): Check for result buffer overflow.
   1030 	* src/powerpc/linux64.S: Handle linux64 long double returns.
   1031 	* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
   1032 	(ffi_prep_cif_machdep): Handle linux64 long double returns.
   1033 
   1034 2005-08-25  Alan Modra  <amodra (a] bigpond.net.au>
   1035 
   1036 	PR target/23404
   1037 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
   1038 	homed fp args.
   1039 	(ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
   1040 
   1041 2005-08-11  Jakub Jelinek  <jakub (a] redhat.com>
   1042 
   1043 	* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
   1044 	(AH_BOTTOM): Add FFI_HIDDEN definition.
   1045 	* configure: Rebuilt.
   1046 	* fficonfig.h.in: Rebuilt.
   1047 	* src/powerpc/ffi.c (hidden): Remove.
   1048 	(ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
   1049 	ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
   1050 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
   1051 	.ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
   1052 	* src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
   1053 	add FFI_HIDDEN to its prototype.
   1054 	(ffi_closure_SYSV_inner): New.
   1055 	* src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
   1056 	* src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
   1057 
   1058 2005-08-10  Alfred M. Szmidt  <ams (a] gnu.org>
   1059 
   1060 	PR libffi/21819:
   1061 	* configure: Rebuilt.
   1062 	* configure.ac: Handle i*86-*-gnu*.
   1063 
   1064 2005-08-09  Jakub Jelinek  <jakub (a] redhat.com>
   1065 
   1066 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
   1067 	DW_CFA_offset_extended_sf rather than
   1068 	DW_CFA_GNU_negative_offset_extended.
   1069 	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
   1070 
   1071 2005-07-22  SUGIOKA Toshinobu  <sugioka (a] itonet.co.jp>
   1072 
   1073 	* src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
   1074 	on sh3.
   1075 	(ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
   1076 	* src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
   1077 	partially on register.
   1078 	(ffi_closure_helper_SYSV): Likewise.
   1079 	(ffi_prep_cif_machdep): Don't set too many cif->flags.
   1080 
   1081 2005-07-20  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   1082 
   1083 	* src/sh/ffi.c (ffi_call): Handle small structures correctly.
   1084 	Remove empty line.
   1085 	* src/sh64/ffi.c (simple_type): Remove.
   1086 	(return_type): Handle small structures correctly.
   1087 	(ffi_prep_args): Likewise.
   1088 	(ffi_call): Likewise.
   1089 	(ffi_closure_helper_SYSV): Likewise.
   1090 	* src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
   1091 	Emit position independent code if PIC and remove wrong datalabel
   1092 	prefixes from EH data.
   1093 
   1094 2005-07-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1095 
   1096 	* Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
   1097 	* Makefile.in: Regenerate.
   1098 	* include/Makefile.in: Likewise.
   1099 	* testsuite/Makefile.in: Likewise.
   1100 	* configure.ac: Add POWERPC_FREEBSD rules.
   1101 	* configure: Regenerate.
   1102 	* src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
   1103 	(FFI_SYSV_TYPE_SMALL_STRUCT): Define.
   1104 	* src/powerpc/ffi.c: Add flags to handle small structure returns
   1105 	in ffi_call_SYSV.
   1106 	(ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
   1107 	Aka FFI_SYSV.
   1108 	(ffi_closure_helper_SYSV): Likewise.
   1109 	* src/powerpc/ppc_closure.S: Add return types for small structures.
   1110 	* src/powerpc/sysv.S: Add bits to handle small structures for
   1111 	final SYSV 4 ABI.
   1112 
   1113 2005-07-10  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1114 
   1115 	* testsuite/libffi.call/cls_5_1_byte.c: New test file.
   1116 	* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
   1117 	* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
   1118 
   1119 2005-07-05  Randolph Chung  <tausq (a] debian.org>
   1120 
   1121 	* src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
   1122 	as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
   1123 	structures.  Kill compilation warnings.
   1124 	(ffi_closure_inner_LINUX): Print return values as hex in debug
   1125 	message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
   1126 	Properly handle 5-7 byte structure returns.
   1127 	* src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
   1128 	(FFI_TYPE_SMALL_STRUCT2): Remove.
   1129 	(FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
   1130 	(FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
   1131 	* src/pa/linux.S: Mark source file as using PA1.1 assembly.
   1132 	(checksmst1, checksmst2): Remove.
   1133 	(checksmst3): Optimize handling of 3-byte struct returns.
   1134 	(checksmst567): Properly handle 5-7 byte struct returns.
   1135 
   1136 2005-06-15  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   1137 
   1138 	PR libgcj/21943
   1139 	* src/mips/n32.S: Enforce PIC code.
   1140 	* src/mips/o32.S: Likewise.
   1141 
   1142 2005-06-15  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   1143 
   1144 	* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
   1145 	* configure: Regenerate.
   1146 	
   1147 2005-06-01  Alan Modra  <amodra (a] bigpond.net.au>
   1148 
   1149 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
   1150 	to call ffi_closure_helper_SYSV.  Append @local instead.
   1151 	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
   1152 
   1153 2005-05-17  Kelley Cook  <kcook (a] gcc.gnu.org>
   1154 
   1155 	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
   1156 	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
   1157 	* Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
   1158 	* aclocal.m4, configure, fficonfig.h.in, Makefile.in,
   1159 	include/Makefile.in, testsuite/Makefile.in: Regenerate.
   1160 	
   1161 2005-05-09  Mike Stump  <mrs (a] apple.com>
   1162 
   1163 	* configure: Regenerate.
   1164 
   1165 2005-05-08  Richard Henderson  <rth (a] redhat.com>
   1166 
   1167 	PR libffi/21285
   1168 	* src/alpha/osf.S: Update unwind into to match code.
   1169 
   1170 2005-05-04  Andreas Degert <ad (a] papyrus-gmbh.de>
   1171 	    Richard Henderson  <rth (a] redhat.com>
   1172 
   1173 	* src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
   1174 	bit 11 of flags.
   1175 	(ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
   1176 	(ffi_prep_closure): Set carry bit if sse-used flag set.
   1177 	* src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
   1178 	Only load sse registers if ssecount non-zero.
   1179 	(ffi_closure_unix64): Only save sse registers if carry set on entry.
   1180 
   1181 2005-04-29  Ralf Corsepius  <ralf.corsepius (a] rtems.org>
   1182 
   1183 	* configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
   1184 	powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
   1185 	* configure: Regenerate.
   1186 
   1187 2005-04-20  Hans-Peter Nilsson  <hp (a] axis.com>
   1188 
   1189 	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
   1190 	have Tcl8.3-compatible intermediate variable.
   1191 
   1192 2005-04-18  Simon Posnjak <simon.posnjak (a] siol.net> 
   1193 	    Hans-Peter Nilsson  <hp (a] axis.com>
   1194 
   1195 	* Makefile.am: Add CRIS support.
   1196 	* configure.ac: Likewise.
   1197 	* Makefile.in, configure, testsuite/Makefile.in,
   1198 	include/Makefile.in: Regenerate.
   1199 	* src/cris: New directory.
   1200 	* src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
   1201 	* src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
   1202 
   1203 	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
   1204 	\r?\n in output tests.
   1205 
   1206 2005-04-12  Mike Stump  <mrs (a] apple.com>
   1207 
   1208 	* configure: Regenerate.
   1209 
   1210 2005-03-30  Hans Boehm  <Hans.Boehm (a] hp.com>
   1211 
   1212 	* src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
   1213 	
   1214 2005-03-30  Steve Ellcey  <sje (a] cup.hp.com>
   1215 
   1216 	* src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
   1217 	(ffi_sarg) Ditto.
   1218 	* src/ia64/unix.S (ffi_closure_unix): Extend gp
   1219 	to 64 bits in ILP32 mode.
   1220 	Load 64 bits even for short data.
   1221 
   1222 2005-03-23  Mike Stump  <mrs (a] apple.com>
   1223 
   1224 	* src/powerpc/darwin.S: Update for -m64 multilib.
   1225 	* src/powerpc/darwin_closure.S: Likewise.
   1226 
   1227 2005-03-21  Zack Weinberg  <zack (a] codesourcery.com>
   1228 
   1229 	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
   1230 	Do not set tool_include_dir.
   1231 	* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
   1232 	Regenerate.
   1233 	* include/Makefile.am: Set gcc_version and toollibffidir.
   1234 	* include/Makefile.in: Regenerate.
   1235 
   1236 2005-02-22  Andrew Haley  <aph (a] redhat.com>
   1237 
   1238 	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
   1239 	odd-numbered register pairs for 64-bit integer types.
   1240 
   1241 2005-02-23  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1242 
   1243 	PR libffi/20104
   1244 	* testsuite/libffi.call/return_ll1.c: New test case.
   1245 
   1246 2005-02-11  Janis Johnson  <janis187 (a] us.ibm.com>
   1247 
   1248 	* testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
   1249 	* testsuite/libffi.call/float.c: Ditto.
   1250 	* testsuite/libffi.call/float2.c: Ditto.
   1251 	* testsuite/libffi.call/float3.c: Ditto.
   1252 
   1253 2005-02-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1254 
   1255 	* src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
   1256 
   1257 2005-01-12  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   1258 
   1259 	* testsuite/libffi.special/special.exp (cxx_options): Add
   1260 	-shared-libgcc.
   1261 
   1262 2004-12-31  Richard Henderson  <rth (a] redhat.com>
   1263 
   1264 	* src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
   1265 	(FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
   1266 	offset parameters with a type parameter; deduce size and structure
   1267 	alignment.  Update all users.
   1268 
   1269 2004-12-31  Richard Henderson  <rth (a] redhat.com>
   1270 
   1271 	* src/types.c (FFI_TYPE_POINTER): Define with sizeof.
   1272 	(FFI_TYPE_LONGDOUBLE): Fix for ia64.
   1273 	* src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
   1274 	into ffi_prep_closure.
   1275 	* src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
   1276 	from scratch.
   1277 
   1278 2004-12-27  Richard Henderson  <rth (a] redhat.com>
   1279 
   1280 	* src/x86/unix64.S: Fix typo in unwind info.
   1281 
   1282 2004-12-25  Richard Henderson  <rth (a] redhat.com>
   1283 
   1284 	* src/x86/ffi64.c (struct register_args): Rename from stackLayout.
   1285 	(enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
   1286 	(merge_classes): Check for it.
   1287 	(SSE_CLASS_P): New.
   1288 	(classify_argument): Pass byte_offset by value; perform all updates
   1289 	inside struct case.
   1290 	(examine_argument): Add classes argument; handle
   1291 	X86_64_COMPLEX_X87_CLASS.
   1292 	(ffi_prep_args): Merge into ...
   1293 	(ffi_call): ... here.  Share stack frame with ffi_call_unix64.
   1294 	(ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
   1295 	(ffi_fill_return_value): Remove.
   1296 	(ffi_prep_closure): Remove dead assert.
   1297 	(ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
   1298 	Rewrite to use struct register_args instead of va_list.  Create
   1299 	flags for handling structure returns.
   1300 	* src/x86/unix64.S: Remove dead strings.
   1301 	(ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
   1302 	stack frame with ffi_call.  Handle structure returns properly.
   1303 	(float2sse, floatfloat2sse, double2sse): Remove.
   1304 	(sse2float, sse2double, sse2floatfloat): Remove.
   1305 	(ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
   1306 	to handle structure returns properly.
   1307 
   1308 2004-12-08  David Edelsohn  <edelsohn (a] gnu.org>
   1309 
   1310 	* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
   1311 	PICFLAG.
   1312 	* Makefile.in: Regenerated.
   1313 
   1314 2004-12-02  Richard Sandiford  <rsandifo (a] redhat.com>
   1315 
   1316 	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
   1317 	* configure, aclocal.m4, Makefile.in: Regenerate.
   1318 	* include/Makefile.in, testsuite/Makefile.in: Regenerate.
   1319 
   1320 2004-11-29  Kelley Cook  <kcook (a] gcc.gnu.org>
   1321 
   1322 	* configure: Regenerate for libtool change.
   1323 
   1324 2004-11-25  Kelley Cook  <kcook (a] gcc.gnu.org>
   1325 
   1326 	* configure: Regenerate for libtool reversion.
   1327 
   1328 2004-11-24  Kelley Cook  <kcook (a] gcc.gnu.org>
   1329 
   1330 	* configure: Regenerate for libtool change.
   1331 
   1332 2004-11-23  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   1333 
   1334 	* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
   1335 
   1336 2004-11-23  Richard Sandiford  <rsandifo (a] redhat.com>
   1337 
   1338 	* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
   1339 	of jal.  Use an absolute encoding for the frame information.
   1340 
   1341 2004-11-23  Kelley Cook  <kcook (a] gcc.gnu.org>
   1342 
   1343 	* Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
   1344 	* acinclude.m4: Delete logic for sincludes.
   1345 	* aclocal.m4, Makefile.in, configure: Regenerate.
   1346 	* include/Makefile: Likewise.
   1347 	* testsuite/Makefile: Likewise.
   1348 
   1349 2004-11-22  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   1350 
   1351 	* src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
   1352 	on a 8-byte boundary.
   1353 	* src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
   1354 
   1355 2004-10-27  Richard Earnshaw  <rearnsha (a] arm.com>
   1356 
   1357 	* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
   1358 	long long values.  Round stack allocation to a multiple of 8 bytes
   1359 	for ATPCS compatibility.
   1360 	* src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
   1361 	names.  Handle returning long long types.  Add Thumb and interworking
   1362 	support.  Improve soft-float code.
   1363 
   1364 2004-10-27  Richard Earnshaw  <rearnsha (a] arm.com>
   1365 
   1366 	* testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
   1367 	(libffi_exit): New function.
   1368 	(libffi_init): Build the testglue wrapper if needed.
   1369 
   1370 2004-10-25  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   1371 
   1372 	PR other/18138
   1373 	* testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
   1374 
   1375 2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro (a] renesas.com>
   1376 
   1377 	* src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
   1378 
   1379 2004-10-20  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   1380 
   1381 	* src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
   1382 	* testsuite/libffi.call/float3.c: New test case.
   1383 
   1384 2004-10-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   1385 
   1386 	* src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
   1387 	the function returning a structure pointed with R2.
   1388 	* src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
   1389 	the structure return value if T bit set.  Emit position
   1390 	independent code and EH data if PIC.
   1391 
   1392 2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro (a] renesas.com>
   1393 
   1394 	* Makefile.am: Add m32r support.
   1395 	* configure.ac: Likewise.
   1396 	* Makefile.in: Regenerate.
   1397 	* confiugre: Regenerate.
   1398 	* src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
   1399 	(uint64, sint64, double, longdouble)
   1400 	* src/m32r: New directory.
   1401 	* src/m32r/ffi.c: New file.
   1402 	* src/m32r/sysv.S: Likewise.
   1403 	* src/m32r/ffitarget.h: Likewise.
   1404 
   1405 2004-10-02  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   1406 
   1407 	* testsuite/libffi.call/negint.c: New test case.
   1408 
   1409 2004-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   1410 
   1411 	PR libgcj/17465
   1412 	* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
   1413 	Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
   1414 	LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
   1415 	DYLD_LIBRARY_PATH.
   1416 
   1417 2004-09-05  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1418 
   1419 	* testsuite/libffi.call/many_win32.c: Remove whitespaces.
   1420 	* testsuite/libffi.call/promotion.c: Likewise.
   1421 	* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
   1422 	whitespaces.
   1423 	* testsuite/libffi.call/return_sc.c: Likewise.
   1424 	* testsuite/libffi.call/return_uc.c: Likewise.
   1425 
   1426 2004-09-05  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1427 
   1428 	* src/powerpc/darwin.S: Fix comments and identation.
   1429 	* src/powerpc/darwin_closure.S: Likewise.
   1430 
   1431 2004-09-02  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1432 
   1433 	* src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
   1434 	(ffi_prep_args): Handle longdouble arguments.
   1435 	(ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
   1436 	longdouble.
   1437 	(ffi_closure_helper_DARWIN): Add closure handling for longdouble.
   1438 	* src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
   1439 	values.
   1440 	* src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
   1441 	* src/types.c: Defined longdouble size and alignment for darwin.
   1442 
   1443 2004-09-02  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1444 
   1445 	* src/powerpc/aix.S: Remove whitespaces.
   1446 	* src/powerpc/aix_closure.S: Likewise.
   1447 	* src/powerpc/asm.h: Likewise.
   1448 	* src/powerpc/ffi.c: Likewise.
   1449 	* src/powerpc/ffitarget.h: Likewise.
   1450 	* src/powerpc/linux64.S: Likewise.
   1451 	* src/powerpc/linux64_closure.S: Likewise.
   1452 	* src/powerpc/ppc_closure.S: Likewise.
   1453 	* src/powerpc/sysv.S: Likewise.
   1454 
   1455 2004-08-30  Anthony Green  <green (a] redhat.com>
   1456 
   1457 	* Makefile.am: Add frv support.
   1458 	* Makefile.in, testsuite/Makefile.in: Rebuilt.
   1459 	* configure.ac: Read configure.host.
   1460 	* configure.in: Read configure.host.
   1461 	* configure.host: New file.  frv-elf needs libgloss.
   1462 	* include/ffi.h.in: Force ffi_closure to have a nice big (8)
   1463 	alignment.  This is needed to frv and shouldn't harm the others.
   1464 	* include/ffi_common.h (ALIGN_DOWN): New macro.
   1465 	* src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
   1466 
   1467 2004-08-24  David Daney  <daney (a] avtrex.com>
   1468 
   1469 	* testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
   1470 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   1471 	* testsuite/libffi.call/closure_fn2.c  Likewise.
   1472 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   1473 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   1474 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   1475 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   1476 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   1477 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   1478 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   1479 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   1480 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   1481 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   1482 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   1483 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   1484 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   1485 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   1486 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   1487 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   1488 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   1489 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   1490 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   1491 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   1492 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   1493 	* testsuite/libffi.call/cls_align_double.c: Likewise.
   1494 	* testsuite/libffi.call/cls_align_float.c: Likewise.
   1495 	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
   1496 	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
   1497 	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
   1498 	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
   1499 	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
   1500 	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
   1501 	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
   1502 	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
   1503 	* testsuite/libffi.call/cls_double.c: Likewise.
   1504 	* testsuite/libffi.call/cls_float.c: Likewise.
   1505 	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
   1506 	* testsuite/libffi.call/cls_multi_sshort.c: Likewise.
   1507 	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
   1508 	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
   1509 	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
   1510 	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
   1511 	* testsuite/libffi.call/cls_schar.c: Likewise.
   1512 	* testsuite/libffi.call/cls_sint.c: Likewise.
   1513 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   1514 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   1515 	* testsuite/libffi.call/cls_uint.c: Likewise.
   1516 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   1517 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   1518 	* testsuite/libffi.call/nested_struct.c: Likewise.
   1519 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   1520 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   1521 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   1522 	* testsuite/libffi.call/problem1.c: Likewise.
   1523 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   1524 	* testsuite/libffi.call/cls_12byte.c: Likewise and set return value
   1525 	to zero.
   1526 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   1527 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   1528 
   1529 2004-08-23  David Daney <daney (a] avtrex.com>
   1530 
   1531 	PR libgcj/13141
   1532 	* src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
   1533 	* src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
   1534 	(ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
   1535 	parameters and return types.
   1536 	(ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
   1537 	(ffi_prep_closure): Ditto.
   1538 	(ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
   1539 	alignment calculations.
   1540 	* src/mips/o32.S (ffi_closure_O32): Don't use floating point
   1541 	instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
   1542 
   1543 2004-08-14  Casey Marshall <csm (a] gnu.org>
   1544 
   1545 	* src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
   1546 	contain `FFI_TYPE_UINT64' as return type for any 64-bit
   1547 	integer (O32 ABI only).
   1548 	(ffi_prep_closure): new function.
   1549 	(ffi_closure_mips_inner_O32): new function.
   1550 	* src/mips/ffitarget.h: Define `FFI_CLOSURES' and
   1551 	`FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
   1552 	* src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
   1553 	64 bit integers correctly.
   1554 	(ffi_closure_O32): new function.
   1555 	Added DWARF-2 unwind info for both functions.
   1556 
   1557 2004-08-10  Andrew Haley  <aph (a] redhat.com>
   1558 
   1559 	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
   1560 
   1561 2004-08-01  Robert Millan  <robertmh (a] gnu.org>
   1562 
   1563 	* configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
   1564 	* configure: Regenerate.
   1565 
   1566 2004-07-30  Maciej W. Rozycki  <macro (a] linux-mips.org>
   1567 
   1568 	* acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
   1569 	and mmap() explicitly instead of relying on preset autoconf cache
   1570 	variables.
   1571 	* aclocal.m4: Regenerate.
   1572 	* configure: Regenerate.
   1573 
   1574 2004-07-11  Ulrich Weigand  <uweigand (a] de.ibm.com>
   1575 
   1576 	* src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
   1577 	(ffi_check_float_struct): Remove unused prototype.
   1578 
   1579 2004-06-30  Geoffrey Keating  <geoffk (a] apple.com>
   1580 
   1581 	* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
   1582 	character on Darwin, use '\n\t' instead.
   1583 
   1584 2004-06-26  Matthias Klose  <doko (a] debian.org>
   1585 
   1586 	* libtool-version: Fix typo in revision/age.
   1587 
   1588 2004-06-17  Matthias Klose  <doko (a] debian.org>
   1589 
   1590 	* libtool-version: New.
   1591 	* Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
   1592 	* Makefile.in: Regenerate.
   1593 
   1594 2004-06-15  Paolo Bonzini  <bonzini (a] gnu.org>
   1595 
   1596 	* Makefile.am: Remove useless multilib rules.
   1597 	* Makefile.in: Regenerate.
   1598 	* aclocal.m4: Regenerate with automake 1.8.5.
   1599 	* configure.ac: Remove useless multilib configury.
   1600 	* configure: Regenerate.
   1601 
   1602 2004-06-15  Paolo Bonzini  <bonzini (a] gnu.org>
   1603 
   1604 	* .cvsignore: New file.
   1605 
   1606 2004-06-10  Jakub Jelinek  <jakub (a] redhat.com>
   1607 
   1608 	* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
   1609 	fp_done.
   1610 	(ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
   1611 	changed from 8.
   1612 
   1613 2004-06-06  Sean McNeil  <sean (a] mcneil.com>
   1614 
   1615 	* configure.ac: Add x86_64-*-freebsd* support.
   1616 	* configure: Regenerate.
   1617 
   1618 2004-04-26  Joe Buck <jbuck (a] welsh-buck.org>
   1619 
   1620 	Bug 15093
   1621 	* configure.ac: Test for existence of mmap and sys/mman.h before
   1622 	checking blacklist.  Fix suggested by Jim Wilson.
   1623 	* configure: Regenerate.
   1624 
   1625 2004-04-26  Matt Austern  <austern (a] apple.com>
   1626 
   1627 	* src/powerpc/darwin.S: Go through a non-lazy pointer for initial
   1628 	FDE location.
   1629 	* src/powerpc/darwin_closure.S: Likewise.
   1630 
   1631 2004-04-24  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1632 
   1633 	* testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
   1634 	error. Reported by Thomas Heller <theller (a] python.net>.
   1635 	* testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
   1636 	* testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
   1637 
   1638 2004-03-20  Matthias Klose  <doko (a] debian.org>
   1639 
   1640 	* src/pa/linux.S: Fix typo.
   1641 
   1642 2004-03-19  Matthias Klose  <doko (a] debian.org>
   1643 
   1644 	* Makefile.am: Update.
   1645 	* Makefile.in: Regenerate.
   1646 	* src/pa/ffi.h.in: Remove.
   1647 	* src/pa/ffitarget.h: New file.
   1648 
   1649 2004-02-10  Randolph Chung  <tausq (a] debian.org>
   1650 
   1651 	* Makefile.am: Add PA support.
   1652 	* Makefile.in: Regenerate.
   1653 	* include/Makefile.in: Regenerate.
   1654 	* configure.ac: Add PA target.
   1655 	* configure: Regenerate.
   1656 	* src/pa/ffi.c: New file.
   1657 	* src/pa/ffi.h.in: Add PA support.
   1658 	* src/pa/linux.S: New file.
   1659 	* prep_cif.c: Add PA support.
   1660 
   1661 2004-03-16  Hosaka Yuji  <hos (a] tamanegi.org>
   1662 
   1663 	* src/types.c: Fix alignment size of X86_WIN32 case int64 and
   1664 	double.
   1665 	* src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
   1666 	with ecif->cif->flags.
   1667 	(ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
   1668 	with cif->flags.
   1669 	(ffi_prep_cif_machdep): Add X86_WIN32 struct case.
   1670 	(ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
   1671 	* src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
   1672 	sc_retstruct2b): Add for 1 or 2-bytes struct case.
   1673 
   1674 2004-03-15 Kelley Cook <kcook (a] gcc.gnu.org>
   1675 
   1676 	* configure.in: Rename file to ...
   1677 	* configure.ac: ... this.
   1678 	* fficonfig.h.in: Regenerate.
   1679 	* Makefile.in: Regenerate.
   1680 	* include/Makefile.in: Regenerate.
   1681 	* testsuite/Makefile.in: Regenerate.
   1682 
   1683 2004-03-12  Matt Austern  <austern (a] apple.com>
   1684 
   1685 	* src/powerpc/darwin.S: Fix EH information so it corresponds to
   1686 	changes in EH format resulting from addition of linkonce support.
   1687 	* src/powerpc/darwin_closure.S: Likewise.
   1688 
   1689 2004-03-11  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1690 	    Paolo Bonzini  <bonzini (a] gnu.org>
   1691 
   1692 	* Makefile.am (AUTOMAKE_OPTIONS): Set them.
   1693 	Remove VPATH. Remove rules for object files. Remove multilib support.
   1694 	(AM_CCASFLAGS): Add.
   1695 	* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
   1696 	(AC_PREREQ): Bump version to 2.59.
   1697 	(AC_INIT): Fill with version info and bug address.
   1698 	(ORIGINAL_LD_FOR_MULTILIBS): Remove.
   1699 	(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
   1700 	De-precious CC so that the right flags are passed down to multilibs.
   1701 	(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
   1702 	(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
   1703 	(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
   1704 	* configure: Rebuilt.
   1705 	* aclocal.m4: Likewise.
   1706 	* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
   1707 	* fficonfig.h.in: Likewise.
   1708 
   1709 2004-03-11  Andreas Schwab  <schwab (a] suse.de>
   1710 
   1711 	* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
   1712 	arguments from fp registers only for the first 8 parameter slots.
   1713 	Don't convert a float parameter when passed in memory.
   1714 
   1715 2004-03-09  Hans-Peter Nilsson  <hp (a] axis.com>
   1716 
   1717 	* configure: Regenerate for config/accross.m4 correction.
   1718 
   1719 2004-02-25  Matt Kraai  <kraai (a] alumni.cmu.edu>
   1720 
   1721 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
   1722 	ecif->cif->bytes to bytes.
   1723 	(ffi_prep_cif_machdep): Add braces around nested if statement.
   1724 
   1725 2004-02-09  Alan Modra  <amodra (a] bigpond.net.au>
   1726 
   1727 	* src/types.c (pointer): POWERPC64 has 8 byte pointers.
   1728 
   1729 	* src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
   1730 	(ffi_closure_helper_LINUX64): Fix typo.
   1731 	* testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
   1732 	for powerpc64-*-*.
   1733 	* testsuite/libffi.call/float.c: Likewise.
   1734 	* testsuite/libffi.call/float2.c: Likewise.
   1735 
   1736 2004-02-08  Alan Modra  <amodra (a] bigpond.net.au>
   1737 
   1738 	* src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
   1739 	long double function return and long double arg handling.
   1740 	(ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
   1741 	Use "end_pfr" instead of "nf".  Correct long double handling.
   1742 	Localise "temp".
   1743 	* src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
   1744 	return value.
   1745 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
   1746 	space for long double return value.  Adjust stack frame and offsets.
   1747 	Load f2 long double return.
   1748 
   1749 2004-02-07  Alan Modra  <amodra (a] bigpond.net.au>
   1750 
   1751 	* src/types.c: Use 16 byte long double for POWERPC64.
   1752 
   1753 2004-01-25  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   1754 
   1755 	* src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
   1756 	when the structure return address is passed in %o0.
   1757 	(ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
   1758 	(ffi_v9_layout_struct): Align the field following a nested structure
   1759 	on a word boundary.  Use memmove instead of memcpy.
   1760 	(ffi_call): Update call to ffi_V9_return_struct.
   1761 	(ffi_prep_closure): Define 'ctx' only for V8.
   1762 	(ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
   1763 	and ffi_closure_sparc_inner_v9.
   1764 	(ffi_closure_sparc_inner_v8): Return long doubles by reference.
   1765 	Always skip the structure return address.  For structures and long
   1766 	doubles, copy the argument directly.
   1767 	(ffi_closure_sparc_inner_v9): Skip the structure return address only
   1768 	if required.  Shift the maximum floating-point slot accordingly.  For
   1769 	big structures, copy the argument directly; otherwise, left-justify the
   1770 	argument and call ffi_v9_layout_struct to lay out the structure on
   1771 	the stack.
   1772 	* src/sparc/v8.S: Undef STACKFRAME before defining it.
   1773 	(ffi_closure_v8): Pass the structure return address.  Update call to
   1774 	ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
   1775 	Skip the 'unimp' insn when returning long doubles and structures.
   1776 	* src/sparc/v9.S: Undef STACKFRAME before defining it.
   1777 	(ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
   1778 	FFI_TYPE_INT handling.  Load structures both in integers and
   1779 	floating-point registers on return.
   1780 	* README: Update status of the SPARC port.
   1781 
   1782 2004-01-24  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1783 
   1784 	* testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
   1785 	as of type ffi_arg.
   1786 	* testsuite/libffi.call/struct3.c (main): Fix CHECK.
   1787 
   1788 2004-01-22  Ulrich Weigand  <uweigand (a] de.ibm.com>
   1789 
   1790 	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
   1791 	value as of type ffi_arg, not unsigned int.
   1792 
   1793 2004-01-21  Michael Ritzert  <ritzert (a] t-online.de>
   1794 
   1795 	* ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
   1796 	of the LHS.
   1797 
   1798 2004-01-12  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1799 
   1800 	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
   1801 	Solaris.
   1802 
   1803 2004-01-08  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   1804 
   1805 	* testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
   1806 	to void *.
   1807 
   1808 2003-12-10  Richard Henderson  <rth (a] redhat.com>
   1809 
   1810 	* testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
   1811 	size_t instead of int.
   1812 
   1813 2003-12-04  Hosaka Yuji  <hos (a] tamanegi.org>
   1814 
   1815 	* testsuite/libffi.call/many_win32.c: Include <float.h>.
   1816 	* testsuite/libffi.call/many_win32.c (main): Replace variable
   1817 	int i with unsigned long ul.
   1818 
   1819 	* testsuite/libffi.call/cls_align_uint64.c: New test case.
   1820 	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
   1821 	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
   1822 	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
   1823 	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
   1824 	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
   1825 	* testsuite/libffi.call/cls_align_float.c: Likewise.
   1826 	* testsuite/libffi.call/cls_align_double.c: Likewise.
   1827 	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
   1828 	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
   1829 
   1830 2003-12-02  Hosaka Yuji  <hos (a] tamanegi.org>
   1831 
   1832 	PR other/13221
   1833 	* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
   1834 	Align arguments to 32 bits.
   1835 
   1836 2003-12-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1837 
   1838 	PR other/13221
   1839 	* testsuite/libffi.call/cls_multi_sshort.c: New test case.
   1840 	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
   1841 	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
   1842 	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
   1843 	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
   1844 	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
   1845 
   1846 	* testsuite/libffi.special/unwindtest.cc: Cosmetics.
   1847 
   1848 2003-11-26  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   1849 
   1850 	* testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
   1851 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   1852 
   1853 2003-11-22  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1854 
   1855 	* Makefile.in: Rebuilt.
   1856 	* configure: Likewise.
   1857 	* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
   1858 	the right type.
   1859 
   1860 2003-11-21  Andreas Jaeger  <aj (a] suse.de>
   1861 	    Andreas Tobler  <a.tobler (a] schweiz.ch>
   1862 
   1863 	* acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
   1864 	* configure.in: Call AC_FUNC_MMAP_BLACKLIST.
   1865 	* Makefile.in: Rebuilt.
   1866 	* aclocal.m4: Likewise.
   1867 	* configure: Likewise.
   1868 	* fficonfig.h.in: Likewise.
   1869 	* testsuite/lib/libffi-dg.exp: Add include dir.
   1870 	* testsuite/libffi.call/ffitest.h: Add MMAP definitions.
   1871 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   1872 	* testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
   1873 	for ffi_closure if available.
   1874 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   1875 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   1876 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   1877 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   1878 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   1879 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   1880 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   1881 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   1882 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   1883 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   1884 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   1885 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   1886 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   1887 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   1888 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   1889 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   1890 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   1891 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   1892 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   1893 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   1894 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   1895 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   1896 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   1897 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   1898 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   1899 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   1900 	* testsuite/libffi.call/cls_double.c: Likewise.
   1901 	* testsuite/libffi.call/cls_float.c: Likewise.
   1902 	* testsuite/libffi.call/cls_schar.c: Likewise.
   1903 	* testsuite/libffi.call/cls_sint.c: Likewise.
   1904 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   1905 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   1906 	* testsuite/libffi.call/cls_uint.c: Likewise.
   1907 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   1908 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   1909 	* testsuite/libffi.call/nested_struct.c: Likewise.
   1910 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   1911 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   1912 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   1913 	* testsuite/libffi.call/problem1.c: Likewise.
   1914 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   1915 
   1916 2003-11-20  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1917 
   1918 	* testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
   1919 
   1920 2003-11-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1921 
   1922 	* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
   1923 	Add -lgcc_s to additional flags.
   1924 
   1925 2003-11-12  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1926 
   1927 	* configure.in, include/Makefile.am: PR libgcj/11147, install
   1928 	the ffitarget.h header file in a gcc versioned and target
   1929 	dependent place.
   1930 	* configure: Regenerated.
   1931 	* Makefile.in, include/Makefile.in: Likewise.
   1932 	* testsuite/Makefile.in: Likewise.
   1933 
   1934 2003-11-09  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1935 
   1936 	* testsuite/libffi.call/closure_fn0.c: Print result and check
   1937 	with dg-output to make debugging easier.
   1938 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   1939 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   1940 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   1941 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   1942 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   1943 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   1944 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   1945 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   1946 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   1947 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   1948 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   1949 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   1950 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   1951 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   1952 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   1953 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   1954 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   1955 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   1956 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   1957 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   1958 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   1959 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   1960 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   1961 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   1962 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   1963 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   1964 	* testsuite/libffi.call/cls_double.c: Likewise.
   1965 	* testsuite/libffi.call/cls_float.c: Likewise.
   1966 	* testsuite/libffi.call/cls_schar.c: Likewise.
   1967 	* testsuite/libffi.call/cls_sint.c: Likewise.
   1968 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   1969 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   1970 	* testsuite/libffi.call/cls_uint.c: Likewise.
   1971 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   1972 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   1973 	* testsuite/libffi.call/problem1.c: Likewise.
   1974 
   1975 	* testsuite/libffi.special/unwindtest.cc: Make ffi_closure
   1976 	static.
   1977 
   1978 2003-11-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1979 
   1980 	* testsuite/libffi.call/cls_9byte2.c: New test case.
   1981 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   1982 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   1983 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   1984 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   1985 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   1986 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   1987 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   1988 	* testsuite/libffi.call/cls_schar.c: Likewise.
   1989 	* testsuite/libffi.call/cls_sint.c: Likewise.
   1990 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   1991 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   1992 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   1993 
   1994 2003-11-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   1995 
   1996 	* testsuite/libffi.call/cls_double.c: Do a check on the result.
   1997 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   1998 	* testsuite/libffi.call/cls_uint.c: Likewise.
   1999 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   2000 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   2001 	* testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
   2002 
   2003 2003-11-06  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2004 
   2005 	* src/prep_cif.c (ffi_prep_cif): Move the validity check after
   2006 	the initialization.
   2007 
   2008 2003-10-23  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2009 
   2010 	* src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
   2011 	FFI_ASSERT(FALSE) with FFI_ASSERT(0).
   2012 
   2013 2003-10-22  David Daney  <ddaney (a] avtrex.com>
   2014 
   2015 	* src/mips/ffitarget.h: Replace undefined UINT32 and friends with
   2016 	__attribute__((__mode__(__SI__))) and friends.
   2017 
   2018 2003-10-22  Andreas Schwab  <schwab (a] suse.de>
   2019 
   2020 	* src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
   2021 
   2022 2003-10-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2023 
   2024 	* configure.in: AC_LINK_FILES(ffitarget.h).
   2025 	* configure: Regenerate.
   2026 	* Makefile.in: Likewise.
   2027 	* include/Makefile.in: Likewise.
   2028 	* testsuite/Makefile.in: Likewise.
   2029 	* fficonfig.h.in: Likewise.
   2030 
   2031 2003-10-21  Paolo Bonzini  <bonzini (a] gnu.org>
   2032 	    Richard Henderson  <rth (a] redhat.com>
   2033 
   2034 	Avoid that ffi.h includes fficonfig.h.
   2035 
   2036 	* Makefile.am (EXTRA_DIST): Include ffitarget.h files
   2037 	(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
   2038 	(TARGET_SRC_MIPS_SGI): Removed.
   2039 	(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
   2040 	(MIPS_SGI): Removed.
   2041 	(CLEANFILES): Removed.
   2042 	(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
   2043 	targets.
   2044 	* acconfig.h: Removed.
   2045 	* configure.in: Compute sizeofs only for double and long double.
   2046 	Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
   2047 	into AC_DEFINE instead of using acconfig.h.  Create
   2048 	include/ffitarget.h instead of include/fficonfig.h.  Rename
   2049 	MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
   2050 	AC_DEFINE EH_FRAME_FLAGS.
   2051 	* include/Makefile.am (DISTCLEANFILES): New automake macro.
   2052 	(hack_DATA): Add ffitarget.h.
   2053 	* include/ffi.h.in: Remove all system specific definitions.
   2054 	Declare raw API even if it is not installed, why bother?
   2055 	Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
   2056 	not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
   2057 	ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
   2058 	(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
   2059 	* include/ffi_common.h (bool): Do not define.
   2060 	(ffi_assert): Accept failed assertion.
   2061 	(ffi_type_test): Return void and accept file/line.
   2062 	(FFI_ASSERT): Pass stringized failed assertion.
   2063 	(FFI_ASSERT_AT): New macro.
   2064 	(FFI_ASSERT_VALID_TYPE): New macro.
   2065 	(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
   2066 	UINT64, SINT64): Define here with gcc's __attribute__ macro
   2067 	instead of in ffi.h
   2068 	(FLOAT32, ALIGN): Define here instead of in ffi.h
   2069 	* include/ffi-mips.h: Removed.  Its content moved to
   2070 	src/mips/ffitarget.h after separating assembly and C sections.
   2071 	* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
   2072 	src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
   2073 	src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
   2074 	src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
   2075 	SIZEOF_ARG -> FFI_SIZEOF_ARG.
   2076 	* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
   2077 	* src/debug.c (ffi_assert): Accept stringized failed assertion.
   2078 	(ffi_type_test): Rewritten.
   2079 	* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
   2080 	FFI_ASSERT_VALID_TYPE.
   2081 	* src/alpha/ffitarget.h, src/arm/ffitarget.h,
   2082 	src/ia64/ffitarget.h, src/m68k/ffitarget.h,
   2083 	src/mips/ffitarget.h, src/powerpc/ffitarget.h,
   2084 	src/s390/ffitarget.h, src/sh/ffitarget.h,
   2085 	src/sh64/ffitarget.h, src/sparc/ffitarget.h,
   2086 	src/x86/ffitarget.h: New files.
   2087 	* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
   2088 	src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
   2089 	src/powerpc/aix.S, src/powerpc/darwin.S,
   2090 	src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
   2091 	src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
   2092 	src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
   2093 	src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
   2094 	src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
   2095 	include fficonfig.h
   2096 
   2097 2003-10-20  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2098 
   2099 	* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
   2100 	_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
   2101 
   2102 2003-10-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2103 
   2104 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
   2105 	Used when FFI_DEBUG = 1.
   2106 
   2107 2003-10-14  Alan Modra  <amodra (a] bigpond.net.au>
   2108 
   2109 	* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
   2110 	and align.
   2111 
   2112 2003-10-06  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2113 
   2114 	* include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
   2115 	FFI_MIPS_O32 for O32 ABI.
   2116 
   2117 2003-10-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2118 
   2119 	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
   2120 	SPARC64. Cleanup whitespaces.
   2121 
   2122 2003-09-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2123 
   2124 	* testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
   2125 	strongarm, xscale. Cleanup whitespaces.
   2126 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   2127 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   2128 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   2129 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   2130 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   2131 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   2132 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   2133 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   2134 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   2135 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   2136 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   2137 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   2138 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   2139 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   2140 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   2141 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   2142 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   2143 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   2144 	* testsuite/libffi.call/cls_double.c: Likewise.
   2145 	* testsuite/libffi.call/cls_float.c: Likewise.
   2146 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   2147 	* testsuite/libffi.call/cls_uint.c: Likewise.
   2148 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   2149 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   2150 	* testsuite/libffi.call/nested_struct.c: Likewise.
   2151 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   2152 	* testsuite/libffi.call/problem1.c: Likewise.
   2153 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   2154 	* testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
   2155 
   2156 2003-09-18  David Edelsohn  <edelsohn (a] gnu.org>
   2157 
   2158 	* src/powerpc/aix.S: Cleanup whitespaces.
   2159 	* src/powerpc/aix_closure.S: Likewise.
   2160 
   2161 2003-09-18  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2162 
   2163 	* src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
   2164 	* src/powerpc/darwin_closure.S: Likewise.
   2165 	* src/powerpc/ffi_darwin.c: Likewise.
   2166 
   2167 2003-09-18  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2168 	    David Edelsohn  <edelsohn (a] gnu.org>
   2169 
   2170 	* src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
   2171 	* src/powerpc/aix_closure.S: Remove the pointer to the outgoing
   2172 	parameter stack.
   2173 	* src/powerpc/darwin_closure.S: Likewise.
   2174 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
   2175 	according to the Darwin/AIX ABI.
   2176 	(ffi_prep_cif_machdep): Likewise.
   2177 	(ffi_closure_helper_DARWIN): Likewise.
   2178 	Remove the outgoing parameter stack logic. Simplify the evaluation
   2179 	of the different CASE types.
   2180 	(ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
   2181 	statement in the trampoline code.
   2182 
   2183 2003-09-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2184 
   2185 	* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
   2186 	for the register size.
   2187 	(ffi_closure_helper_SYSV): Handle the structure return value
   2188 	address correctly.
   2189 	(ffi_closure_helper_SYSV): Return the appropriate type when
   2190 	the registers are used for the structure return value.
   2191 	* src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
   2192 	the 64-bit return value.  Update copyright years.
   2193 
   2194 2003-09-17  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2195 
   2196 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
   2197 	srcdir for ffi_mips.h.
   2198 
   2199 2003-09-12  Alan Modra  <amodra (a] bigpond.net.au>
   2200 
   2201 	* src/prep_cif.c (initialize_aggregate): Include tail padding in
   2202 	structure size.
   2203 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
   2204 	placement of float result.
   2205 	* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
   2206 	cast of "resp" for big-endian 64 bit machines.
   2207 
   2208 2003-09-11  Alan Modra  <amodra (a] bigpond.net.au>
   2209 
   2210 	* src/types.c (double, longdouble): Merge identical SH and ARM
   2211 	typedefs, and add POWERPC64.
   2212 	* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
   2213 	struct split over gpr and rest.
   2214 	(ffi_prep_cif_machdep): Correct intarg_count for structures.
   2215 	* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
   2216 
   2217 2003-09-09  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2218 
   2219 	* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
   2220 	passing correctly.
   2221 
   2222 2003-09-09  Alan Modra  <amodra (a] bigpond.net.au>
   2223 
   2224 	* configure: Regenerate.
   2225 
   2226 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2227 
   2228 	* Makefile.am: Remove build rules for ffitest.
   2229 	* Makefile.in: Rebuilt.
   2230 
   2231 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2232 
   2233 	* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
   2234 	about implicit declaration of abort().
   2235 
   2236 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2237 
   2238 	* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
   2239 	* Makefile.in: Rebuilt.
   2240 	* configure.in: Add dejagnu test framework.
   2241 	* configure: Rebuilt.
   2242 
   2243 	* testsuite/Makefile.am: New file.
   2244 	* testsuite/Makefile.in: Built
   2245 	* testsuite/lib/libffi-dg.exp: New file.
   2246 	* testsuite/config/default.exp: Likewise.
   2247 	* testsuite/libffi.call/call.exp: Likewise.
   2248 	* testsuite/libffi.call/ffitest.h: Likewise.
   2249 	* testsuite/libffi.call/closure_fn0.c: Likewise.
   2250 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   2251 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   2252 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   2253 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   2254 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   2255 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   2256 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   2257 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   2258 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   2259 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   2260 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   2261 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   2262 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   2263 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   2264 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   2265 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   2266 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   2267 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   2268 	* testsuite/libffi.call/cls_double.c: Likewise.
   2269 	* testsuite/libffi.call/cls_float.c: Likewise.
   2270 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   2271 	* testsuite/libffi.call/cls_uint.c: Likewise.
   2272 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   2273 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   2274 	* testsuite/libffi.call/float.c: Likewise.
   2275 	* testsuite/libffi.call/float1.c: Likewise.
   2276 	* testsuite/libffi.call/float2.c: Likewise.
   2277 	* testsuite/libffi.call/many.c: Likewise.
   2278 	* testsuite/libffi.call/many_win32.c: Likewise.
   2279 	* testsuite/libffi.call/nested_struct.c: Likewise.
   2280 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   2281 	* testsuite/libffi.call/pyobjc-tc.c: Likewise.
   2282 	* testsuite/libffi.call/problem1.c: Likewise.
   2283 	* testsuite/libffi.call/promotion.c: Likewise.
   2284 	* testsuite/libffi.call/return_ll.c: Likewise.
   2285 	* testsuite/libffi.call/return_sc.c: Likewise.
   2286 	* testsuite/libffi.call/return_uc.c: Likewise.
   2287 	* testsuite/libffi.call/strlen.c: Likewise.
   2288 	* testsuite/libffi.call/strlen_win32.c: Likewise.
   2289 	* testsuite/libffi.call/struct1.c: Likewise.
   2290 	* testsuite/libffi.call/struct2.c: Likewise.
   2291 	* testsuite/libffi.call/struct3.c: Likewise.
   2292 	* testsuite/libffi.call/struct4.c: Likewise.
   2293 	* testsuite/libffi.call/struct5.c: Likewise.
   2294 	* testsuite/libffi.call/struct6.c: Likewise.
   2295 	* testsuite/libffi.call/struct7.c: Likewise.
   2296 	* testsuite/libffi.call/struct8.c: Likewise.
   2297 	* testsuite/libffi.call/struct9.c: Likewise.
   2298 	* testsuite/libffi.special/special.exp: New file.
   2299 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   2300 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   2301 
   2302 
   2303 2003-08-13  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2304 
   2305 	* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
   2306 	copyright years.
   2307 
   2308 2003-08-02  Alan Modra  <amodra (a] bigpond.net.au>
   2309 
   2310 	* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
   2311 	structure passing.
   2312 	(ffi_closure_helper_LINUX64): Likewise.
   2313 	* src/powerpc/linux64.S: Remove code writing to parm save area.
   2314 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
   2315 	address in lr from ffi_closure_helper_LINUX64 call to calculate
   2316 	table address.  Optimize function tail.
   2317 
   2318 2003-07-28  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2319 
   2320 	* src/sparc/ffi.c: Handle all floating point registers.
   2321 	* src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
   2322 
   2323 2003-07-11  Gerald Pfeifer  <pfeifer (a] dbai.tuwien.ac.at>
   2324 
   2325 	* README: Note that libffi is not part of GCC.  Update the project
   2326 	URL and status.
   2327 
   2328 2003-06-19  Franz Sirl  <Franz.Sirl-kernel (a] lauterbach.com>
   2329 
   2330 	* src/powerpc/ppc_closure.S: Include ffi.h.
   2331 
   2332 2003-06-13  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2333 
   2334 	* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
   2335 	Use C style comments.
   2336 
   2337 2003-06-13  Kaz Kojima  <kkojima (a] rr.iij4u.or.jp>
   2338 
   2339 	* Makefile.am: Add SHmedia support.  Fix a typo of SH support.
   2340 	* Makefile.in: Regenerate.
   2341 	* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
   2342 	* configure: Regenerate.
   2343 	* include/ffi.h.in: Add SHmedia support.
   2344 	* src/sh64/ffi.c: New file.
   2345 	* src/sh64/sysv.S: New file.
   2346 
   2347 2003-05-16  Jakub Jelinek  <jakub (a] redhat.com>
   2348 
   2349 	* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
   2350 	should be read-only.
   2351 	* configure: Rebuilt.
   2352 	* fficonfig.h.in: Rebuilt.
   2353 	* include/ffi.h.in (EH_FRAME_FLAGS): Define.
   2354 	* src/alpha/osf.S: Use EH_FRAME_FLAGS.
   2355 	* src/powerpc/linux64.S: Likewise.
   2356 	* src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
   2357 	* src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
   2358 	if -fpic/-fPIC/-mrelocatable.
   2359 	* src/powerpc/powerpc_closure.S: Likewise.
   2360 	* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
   2361 	#write in .eh_frame flags.
   2362 	* src/sparc/v9.S: Likewise.
   2363 	* src/x86/unix64.S: Use EH_FRAME_FLAGS.
   2364 	* src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
   2365 	* src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
   2366 
   2367 2003-05-07  Jeff Sturm  <jsturm (a] one-point.com>
   2368 
   2369 	Fixes PR bootstrap/10656
   2370 	* configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
   2371 	support for .register pseudo-op.
   2372 	* src/sparc/v8.S: Use it.
   2373 	* fficonfig.h.in: Rebuilt.
   2374 	* configure: Rebuilt.
   2375 
   2376 2003-04-18  Jakub Jelinek  <jakub (a] redhat.com>
   2377 
   2378 	* include/ffi.h.in (POWERPC64): Define if 64-bit.
   2379 	(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
   2380 	Make it the default on POWERPC64.
   2381 	(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
   2382 	* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
   2383 	* configure: Rebuilt.
   2384 	* src/powerpc/ffi.c (hidden): Define.
   2385 	(ffi_prep_args_SYSV): Renamed from
   2386 	ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
   2387 	(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
   2388 	ASM_NEEDS_REGISTERS64): New.
   2389 	(ffi_prep_args64): New function.
   2390 	(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
   2391 	(ffi_call): Likewise.
   2392 	(ffi_prep_closure): Likewise.
   2393 	(flush_icache): Surround by #ifndef POWERPC64.
   2394 	(ffi_dblfl): New union type.
   2395 	(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
   2396 	(ffi_closure_helper_LINUX64): New function.
   2397 	* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
   2398 	__powerpc64__.
   2399 	* src/powerpc/sysv.S: Likewise.
   2400 	(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
   2401 	* src/powerpc/linux64.S: New file.
   2402 	* src/powerpc/linux64_closure.S: New file.
   2403 	* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
   2404 	src/powerpc/linux64_closure.S.
   2405 	(TARGET_SRC_POWERPC): Likewise.
   2406 
   2407 	* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
   2408 	closure_test_fn3): Fix result printing on big-endian 64-bit
   2409 	machines.
   2410 	(main): Print tst2_arg instead of uninitialized tst2_result.
   2411 
   2412 	* src/ffitest.c (main): Hide what closure pointer really points to
   2413 	from the compiler.
   2414 
   2415 2003-04-16  Richard Earnshaw  <rearnsha (a] arm.com>
   2416 
   2417 	* configure.in (arm-*-netbsdelf*): Add configuration.
   2418 	(configure): Regenerated.
   2419 
   2420 2003-04-04  Loren J. Rittle  <ljrittle (a] acm.org>
   2421 
   2422 	* include/Makefile.in: Regenerate.
   2423 
   2424 2003-03-21  Zdenek Dvorak  <rakdver (a] atrey.karlin.mff.cuni.cz>
   2425 
   2426 	* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
   2427 	bit mode.
   2428 	* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
   2429 	Receive closure pointer through parameter, read args using
   2430 	__builtin_dwarf_cfa.
   2431 	(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
   2432 
   2433 2003-03-12  Andreas Schwab  <schwab (a] suse.de>
   2434 
   2435 	* configure.in: Avoid trailing /. in toolexeclibdir.
   2436 	* configure: Rebuilt.
   2437 
   2438 2003-03-03  Andreas Tobler <a.tobler (a] schweiz.ch>
   2439 
   2440 	* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
   2441 
   2442 2003-02-06  Andreas Tobler <a.tobler (a] schweiz.ch>
   2443 
   2444 	* libffi/src/powerpc/darwin_closure.S:
   2445 	Fix alignement bug, allocate 8 bytes for the result.
   2446 	* libffi/src/powerpc/aix_closure.S:
   2447 	Likewise.
   2448 	* libffi/src/powerpc/ffi_darwin.c:
   2449 	Update stackframe description for aix/darwin_closure.S.
   2450 
   2451 2003-02-06  Jakub Jelinek  <jakub (a] redhat.com>
   2452 
   2453 	* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
   2454 	attribute.
   2455 
   2456 2003-01-31  Christian Cornelssen  <ccorn (a] cs.tu-berlin.de>,
   2457 	    Andreas Schwab  <schwab (a] suse.de>
   2458 
   2459 	* configure.in: Adjust command to source config-ml.in to account
   2460 	for changes to the libffi_basedir definition.
   2461 	(libffi_basedir): Remove ${srcdir} from value and include trailing
   2462 	slash if nonempty.
   2463 
   2464 	* configure: Regenerate.
   2465 
   2466 2003-01-29  Franz Sirl  <Franz.Sirl-kernel (a] lauterbach.com>
   2467 
   2468 	* src/powerpc/ppc_closure.S: Recode to fit shared libs.
   2469 
   2470 2003-01-28  Andrew Haley  <aph (a] redhat.com>
   2471 
   2472 	* include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
   2473 	* src/x86/ffi64.c (ffi_prep_closure): New.
   2474 	(ffi_closure_UNIX64_inner): New.
   2475 	* src/x86/unix64.S (ffi_closure_UNIX64): New.
   2476 
   2477 2003-01-27  Alexandre Oliva  <aoliva (a] redhat.com>
   2478 
   2479 	* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
   2480 	Remove USE_LIBDIR conditional.
   2481 	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
   2482 	* Makefile.in, configure: Rebuilt.
   2483 
   2484 2003-01027  David Edelsohn  <edelsohn (a] gnu.org>
   2485 
   2486 	* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
   2487 	* Makefile.in: Regenerate.
   2488 
   2489 2003-01-22  Andrew Haley  <aph (a] redhat.com>
   2490 
   2491 	* src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
   2492 	unwind info.
   2493 
   2494 2003-01-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2495 
   2496 	* src/powerpc/darwin.S: Add unwind info.
   2497 	* src/powerpc/darwin_closure.S: Likewise.
   2498 
   2499 2003-01-14  Andrew Haley  <aph (a] redhat.com>
   2500 
   2501 	* src/x86/ffi64.c (ffi_prep_args): Check for void retval.
   2502 	(ffi_prep_cif_machdep): Likewise.
   2503 	* src/x86/unix64.S: Add unwind info.
   2504 
   2505 2003-01-14  Andreas Jaeger  <aj (a] suse.de>
   2506 
   2507 	* src/ffitest.c (main): Only use ffi_closures if those are
   2508 	supported.
   2509 
   2510 2003-01-13 Andreas Tobler <a.tobler (a] schweiz.ch>
   2511 
   2512 	* libffi/src/ffitest.c
   2513 	 add closure testcases
   2514 
   2515 2003-01-13 Kevin B. Hendricks <khendricks (a] ivey.uwo.ca>
   2516 
   2517 	* libffi/src/powerpc/ffi.c
   2518 	 fix alignment bug for float (4 byte aligned iso 8 byte)
   2519 
   2520 2003-01-09  Geoffrey Keating  <geoffk (a] apple.com>
   2521 
   2522 	* src/powerpc/ffi_darwin.c: Remove RCS version string.
   2523 	* src/powerpc/darwin.S: Remove RCS version string.
   2524 
   2525 2003-01-03  Jeff Sturm  <jsturm (a] one-point.com>
   2526 
   2527 	* include/ffi.h.in: Add closure defines for SPARC, SPARC64.
   2528 	* src/ffitest.c (main): Use static storage for closure.
   2529 	* src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
   2530 	* src/sparc/v8.S (ffi_closure_v8): New.
   2531 	* src/sparc/v9.S (ffi_closure_v9): New.
   2532 
   2533 2002-11-10  Ranjit Mathew <rmathew (a] hotmail.com>
   2534 
   2535 	* include/ffi.h.in: Added FFI_STDCALL ffi_type
   2536 	  enumeration for X86_WIN32.
   2537 	* src/x86/win32.S: Added ffi_call_STDCALL function
   2538 	  definition.
   2539 	* src/x86/ffi.c (ffi_call/ffi_raw_call): Added
   2540 	  switch cases for recognising FFI_STDCALL and
   2541 	  calling ffi_call_STDCALL if target is X86_WIN32.
   2542 	* src/ffitest.c (my_stdcall_strlen/stdcall_many):
   2543 	  stdcall versions of the "my_strlen" and "many"
   2544 	  test functions (for X86_WIN32).
   2545 	  Added test cases to test stdcall invocation using
   2546 	  these functions.
   2547 
   2548 2002-12-02  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2549 
   2550 	* src/sh/sysv.S: Add DWARF2 unwind info.
   2551 
   2552 2002-11-27  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2553 
   2554 	* src/s390/sysv.S (.eh_frame section): Make section read-only.
   2555 
   2556 2002-11-26  Jim Wilson  <wilson (a] redhat.com>
   2557 
   2558 	* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
   2559 
   2560 2002-11-23  H.J. Lu <hjl (a] gnu.org>
   2561 
   2562 	* acinclude.m4: Add dummy AM_PROG_LIBTOOL.
   2563 	Include ../config/accross.m4.
   2564 	* aclocal.m4; Rebuild.
   2565 	* configure: Likewise.
   2566 
   2567 2002-11-15  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2568 
   2569 	* src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
   2570 
   2571 2002-11-11  DJ Delorie  <dj (a] redhat.com>
   2572 
   2573 	* configure.in: Look for common files in the right place.
   2574 
   2575 2002-10-08  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2576 
   2577 	* src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
   2578 	raw data as _Jv_word values, not ffi_raw.
   2579 	(ffi_java_ptrarray_to_raw): Likewise.
   2580 	(ffi_java_rvalue_to_raw): New function.
   2581 	(ffi_java_raw_call): Call it.
   2582 	(ffi_java_raw_to_rvalue): New function.
   2583 	(ffi_java_translate_args): Call it.
   2584 	* src/ffitest.c (closure_test_fn): Interpret return value
   2585 	as ffi_arg, not int.
   2586 	* src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
   2587 	FFI_TYPE_POINTER case.
   2588 	(ffi_closure_helper_SYSV): Likewise.  Also, assume return
   2589 	values extended to word size.
   2590 
   2591 2002-10-02  Andreas Jaeger  <aj (a] suse.de>
   2592 
   2593 	* src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
   2594 
   2595 2002-10-01  Bo Thorsen  <bo (a] smetana.suse.de>
   2596 
   2597 	* include/ffi.h.in: Fix i386 win32 compilation.
   2598 
   2599 2002-09-30  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2600 
   2601 	* configure.in: Add s390x-*-linux-* target.
   2602 	* configure: Regenerate.
   2603 	* include/ffi.h.in: Define S390X for s390x targets.
   2604 	(FFI_CLOSURES): Define for s390/s390x.
   2605 	(FFI_TRAMPOLINE_SIZE): Likewise.
   2606 	(FFI_NATIVE_RAW_API): Likewise.
   2607 	* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
   2608 	* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
   2609 	* src/s390/ffi.c: Major rework of existing code.  Add support for
   2610 	s390x targets.  Add closure support.
   2611 	* src/s390/sysv.S: Likewise.
   2612 
   2613 2002-09-29  Richard Earnshaw  <rearnsha (a] arm.com>
   2614 
   2615 	* src/arm/sysv.S: Fix typo.
   2616 
   2617 2002-09-28  Richard Earnshaw  <rearnsha (a] arm.com>
   2618 
   2619 	* src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
   2620 	has defined __USER_LABEL_PREFIX__, then use it in CNAME.
   2621 	(ffi_call_SYSV): Handle soft-float.
   2622 
   2623 2002-09-27  Bo Thorsen  <bo (a] suse.de>
   2624 
   2625 	* include/ffi.h.in: Fix multilib x86-64 support.
   2626 
   2627 2002-09-22  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   2628 
   2629 	* Makefile.am (all-multi): Fix multilib parallel build.
   2630 
   2631 2002-07-19  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2632 
   2633 	* configure.in (sh[34]*-*-linux*): Add brackets.
   2634 	* configure: Regenerate.
   2635 
   2636 2002-07-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2637 
   2638 	* Makefile.am: Add SH support.
   2639 	* Makefile.in: Regenerate.
   2640 	* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
   2641 	* configure: Regenerate.
   2642 	* include/ffi.h.in: Add SH support.
   2643 	* src/sh/ffi.c: New file.
   2644 	* src/sh/sysv.S: New file.
   2645 	* src/types.c: Add SH support.
   2646 
   2647 2002-07-16  Bo Thorsen  <bo (a] suse.de>
   2648 
   2649 	* src/x86/ffi64.c: New file that adds x86-64 support.
   2650 	* src/x86/unix64.S: New file that handles argument setup for
   2651 	x86-64.
   2652 	* src/x86/sysv.S: Don't use this on x86-64.
   2653 	* src/x86/ffi.c: Don't use this on x86-64.
   2654 	Remove unused vars.
   2655 	* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
   2656 	for x86-64.
   2657 	* src/ffitest.c (struct6): New test that tests a special case in
   2658 	the x86-64 ABI.
   2659 	(struct7): Likewise.
   2660 	(struct8): Likewise.
   2661 	(struct9): Likewise.
   2662 	(closure_test_fn): Silence warning about this when it's not used.
   2663 	(main): Add the new tests.
   2664 	(main): Fix a couple of wrong casts and silence some compiler warnings.
   2665 	* include/ffi.h.in: Add x86-64 ABI definition.
   2666 	* fficonfig.h.in: Regenerate.
   2667 	* Makefile.am: Add x86-64 support.
   2668 	* configure.in: Likewise.
   2669 	* Makefile.in: Regenerate.
   2670 	* configure: Likewise.
   2671 
   2672 2002-06-24  Bo Thorsen  <bo (a] suse.de>
   2673 
   2674 	* src/types.c: Merge settings for similar architectures.
   2675 	Add x86-64 sizes and alignments.
   2676 
   2677 2002-06-23  Bo Thorsen  <bo (a] suse.de>
   2678 
   2679 	* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
   2680 	* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
   2681 	* src/mips/ffi.c (ffi_prep_args): Likewise.
   2682 	* src/m68k/ffi.c (ffi_prep_args): Likewise.
   2683 
   2684 2002-07-18  H.J. Lu  (hjl (a] gnu.org)
   2685 
   2686 	* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
   2687 	(libffi_la_SOURCES): Support MIPS_LINUX.
   2688 	(libffi_convenience_la_SOURCES): Likewise.
   2689 	* Makefile.in: Regenerated.
   2690 
   2691 	* configure.in (mips64*-*): Skip.
   2692 	(mips*-*-linux*): New.
   2693 	* configure: Regenerated.
   2694 
   2695 	* src/mips/ffi.c: Include <sgidefs.h>.
   2696 
   2697 2002-06-06  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2698 
   2699 	* src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
   2700 
   2701 2002-05-27  Roger Sayle  <roger (a] eyesopen.com>
   2702 
   2703 	* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
   2704 
   2705 2002-05-27  Bo Thorsen  <bo (a] suse.de>
   2706 
   2707 	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
   2708 	fix formatting.
   2709 
   2710 2002-05-13  Andreas Tobler  <a.tobler (a] schweiz.ch>
   2711 
   2712 	* src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
   2713 	beginning of function (for older apple cc).
   2714 
   2715 2002-05-08  Alexandre Oliva  <aoliva (a] redhat.com>
   2716 
   2717 	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
   2718 	script entry, and set LD to it when configuring multilibs.
   2719 	* configure: Rebuilt.
   2720 
   2721 2002-05-05  Jason Thorpe  <thorpej (a] wasabisystems.com>
   2722 
   2723 	* configure.in (sparc64-*-netbsd*): Add target.
   2724 	(sparc-*-netbsdelf*): Likewise.
   2725 	* configure: Regenerate.
   2726 
   2727 2002-04-28  David S. Miller  <davem (a] redhat.com>
   2728 
   2729 	* configure.in, configure: Fix SPARC test in previous change.
   2730 
   2731 2002-04-29  Gerhard Tonn  <GerhardTonn (a] swol.de>
   2732 
   2733 	* Makefile.am: Add Linux for S/390 support.
   2734 	* Makefile.in: Regenerate.
   2735 	* configure.in: Add Linux for S/390 support.
   2736 	* configure: Regenerate.
   2737 	* include/ffi.h.in: Add Linux for S/390 support.
   2738 	* src/s390/ffi.c: New file from libffi CVS tree.
   2739 	* src/s390/sysv.S: New file from libffi CVS tree.
   2740 
   2741 2002-04-28  Jakub Jelinek  <jakub (a] redhat.com>
   2742 
   2743 	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
   2744 	%r_disp32().
   2745 	* src/sparc/v8.S: Use it.
   2746 	* src/sparc/v9.S: Likewise.
   2747 	* fficonfig.h.in: Rebuilt.
   2748 	* configure: Rebuilt.
   2749 
   2750 2002-04-08  Hans Boehm  <Hans_Boehm (a] hp.com>
   2751 
   2752 	* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
   2753 	correctly.
   2754 	* src/ia64/unix.S: Add unwind information. Fix comments.
   2755 	Save sp in a way that's compatible with unwind info.
   2756 	(ffi_call_unix): Correctly restore sp in all cases.
   2757 	* src/ia64/ffi.c: Add, fix comments.
   2758 
   2759 2002-04-08  Jakub Jelinek  <jakub (a] redhat.com>
   2760 
   2761 	* src/sparc/v8.S: Make .eh_frame dependent on target word size.
   2762 
   2763 2002-04-06  Jason Thorpe  <thorpej (a] wasabisystems.com>
   2764 
   2765 	* configure.in (alpha*-*-netbsd*): Add target.
   2766 	* configure: Regenerate.
   2767 
   2768 2002-04-04  Jeff Sturm  <jsturm (a] one-point.com>
   2769 
   2770 	* src/sparc/v8.S: Add unwind info.
   2771 	* src/sparc/v9.S: Likewise.
   2772 
   2773 2002-03-30  Krister Walfridsson  <cato (a] df.lth.se>
   2774 
   2775 	* configure.in: Enable i*86-*-netbsdelf*.
   2776 	* configure: Rebuilt.
   2777 
   2778 2002-03-29  David Billinghurst <David.Billinghurst (a] riotinto.com>
   2779 
   2780 	PR other/2620
   2781 	* src/mips/n32.s: Delete
   2782 	* src/mips/o32.s: Delete
   2783 
   2784 2002-03-21  Loren J. Rittle  <ljrittle (a] acm.org>
   2785 
   2786 	* configure.in: Enable alpha*-*-freebsd*.
   2787 	* configure: Rebuilt.
   2788 
   2789 2002-03-17  Bryce McKinlay  <bryce (a] waitaki.otago.ac.nz>
   2790 
   2791 	* Makefile.am: libfficonvenience -> libffi_convenience.
   2792 	* Makefile.in: Rebuilt.
   2793 
   2794 	* Makefile.am: Define ffitest_OBJECTS.
   2795 	* Makefile.in: Rebuilt.
   2796 
   2797 2002-03-07  Andreas Tobler  <toa (a] pop.agri.ch>
   2798 	    David Edelsohn  <edelsohn (a] gnu.org>
   2799 
   2800 	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
   2801 	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
   2802 	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
   2803 	* Makefile.in: Regenerate.
   2804 	* include/ffi.h.in: Add AIX and Darwin closure definitions.
   2805 	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
   2806 	(flush_icache, flush_range): New functions.
   2807 	(ffi_closure_helper_DARWIN): New function.
   2808 	* src/powerpc/aix_closure.S: New file.
   2809 	* src/powerpc/darwin_closure.S: New file.
   2810 
   2811 2002-02-24  Jeff Sturm  <jsturm (a] one-point.com>
   2812 
   2813 	* include/ffi.h.in: Add typedef for ffi_arg.
   2814 	* src/ffitest.c (main): Declare rint with ffi_arg.
   2815 
   2816 2002-02-21  Andreas Tobler  <toa (a] pop.agri.ch>
   2817 
   2818 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
   2819 	number of GPRs for floating-point arguments.
   2820 
   2821 2002-01-31  Anthony Green  <green (a] redhat.com>
   2822 
   2823 	* configure: Rebuilt.
   2824 	* configure.in: Replace CHECK_SIZEOF and endian tests with
   2825 	cross-compiler friendly macros.
   2826 	* aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
   2827 	macros.
   2828 
   2829 2002-01-18  David Edelsohn  <edelsohn (a] gnu.org>
   2830 
   2831 	* src/powerpc/darwin.S (_ffi_call_AIX): New.
   2832 	* src/powerpc/aix.S (ffi_call_DARWIN): New.
   2833 
   2834 2002-01-17  David Edelsohn  <edelsohn (a] gnu.org>
   2835 
   2836 	* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
   2837 	(TARGET_SRC_POWERPC_AIX): New.
   2838 	(POWERPC_AIX): New stanza.
   2839 	* Makefile.in: Regenerate.
   2840 	* configure.in: Add AIX case.
   2841 	* configure: Regenerate.
   2842 	* include/ffi.h.in (ffi_abi): Add FFI_AIX.
   2843 	* src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
   2844 	size.  Fix "long double" support.
   2845 	(ffi_call): Add FFI_AIX case.
   2846 	* src/powerpc/aix.S: New.
   2847 
   2848 2001-10-09  John Hornkvist  <john (a] toastedmarshmallow.com>
   2849 
   2850 	Implement Darwin PowerPC ABI.
   2851 	* configure.in: Handle powerpc-*-darwin*.
   2852 	* Makefile.am: Set source files for POWERPC_DARWIN.
   2853 	* configure: Rebuilt.
   2854 	* Makefile.in: Rebuilt.
   2855 	* include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
   2856 	POWERPC_DARWIN.
   2857 	* src/powerpc/darwin.S: New file.
   2858 	* src/powerpc/ffi_darwin.c: New file.
   2859 
   2860 2001-10-07  Joseph S. Myers  <jsm28 (a] cam.ac.uk>
   2861 
   2862 	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
   2863 
   2864 2001-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2865 
   2866 	* src/x86/sysv.S: Avoid gas-only .balign directive.
   2867 	Use C style comments.
   2868 
   2869 2001-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2870 
   2871 	* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
   2872 	Fixes PR bootstrap/3563.
   2873 
   2874 2001-06-26  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2875 
   2876 	* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
   2877 
   2878 2001-06-25  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2879 
   2880 	* configure.in: Recognize sparc*-sun-* host.
   2881 	* configure: Regenerate.
   2882 
   2883 2001-06-06  Andrew Haley  <aph (a] redhat.com>
   2884 
   2885 	* src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
   2886 
   2887 2001-06-03  Andrew Haley  <aph (a] redhat.com>
   2888 
   2889 	* src/alpha/osf.S: Add unwind info.
   2890 	* src/powerpc/sysv.S: Add unwind info.
   2891 	* src/powerpc/ppc_closure.S: Likewise.
   2892 
   2893 2000-05-31  Jeff Sturm  <jsturm (a] one-point.com>
   2894 
   2895 	* configure.in: Fix AC_ARG_ENABLE usage.
   2896 	* configure: Rebuilt.
   2897 
   2898 2001-05-06  Bryce McKinlay  <bryce (a] waitaki.otago.ac.nz>
   2899 
   2900 	* configure.in: Remove warning about beta code.
   2901 	* configure: Rebuilt.
   2902 
   2903 2001-04-25  Hans Boehm <Hans_Boehm (a] hp.com>
   2904 
   2905 	* src/ia64/unix.S: Restore stack pointer when returning from
   2906 	ffi_closure_UNIX.
   2907 	* src/ia64/ffi.c: Fix typo in comment.
   2908 
   2909 2001-04-18  Jim Wilson  <wilson (a] redhat.com>
   2910 
   2911 	* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
   2912 	to eliminate RAW DV.
   2913 
   2914 2001-04-12  Bryce McKinlay  <bryce (a] albatross.co.nz>
   2915 
   2916 	* Makefile.am: Make a libtool convenience library.
   2917 	* Makefile.in: Rebuilt.
   2918 
   2919 2001-03-29  Bryce McKinlay  <bryce (a] albatross.co.nz>
   2920 
   2921 	* configure.in: Use different syntax for subdirectory creation.
   2922 	* configure: Rebuilt.
   2923 
   2924 2001-03-27  Jon Beniston  <jon (a] beniston.com>
   2925 
   2926 	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
   2927 	* configure: Rebuilt.
   2928 	* Makefile.am: Added X86_WIN32 target support.
   2929 	* Makefile.in: Rebuilt.
   2930 
   2931 	* include/ffi.h.in: Added X86_WIN32 target support.
   2932 
   2933 	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
   2934 	* src/types.c: Added X86_WIN32 target support.
   2935 
   2936 	* src/x86/win32.S: New file. Based on sysv.S, but with EH
   2937 	stuff removed and made to work with CygWin's gas.
   2938 
   2939 2001-03-26  Bryce McKinlay  <bryce (a] albatross.co.nz>
   2940 
   2941 	* configure.in: Make target subdirectory in build dir.
   2942 	* Makefile.am: Override suffix based rules to specify correct output
   2943 	subdirectory.
   2944 	* Makefile.in: Rebuilt.
   2945 	* configure: Rebuilt.
   2946 
   2947 2001-03-23  Kevin B Hendricks  <khendricks (a] ivey.uwo.ca>
   2948 
   2949 	* src/powerpc/ppc_closure.S: New file.
   2950 	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
   2951 	involving long long and register pairs.
   2952 	(ffi_prep_closure): New function.
   2953 	(flush_icache): Likewise.
   2954 	(ffi_closure_helper_SYSV): Likewise.
   2955 	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
   2956 	(FFI_TRAMPOLINE_SIZE): Likewise.
   2957 	(FFI_NATIVE_RAW_API): Likewise.
   2958 	* Makefile.in: Rebuilt.
   2959 	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
   2960 	(TARGET_SRC_POWERPC): Likewise.
   2961 
   2962 2001-03-19  Tom Tromey  <tromey (a] redhat.com>
   2963 
   2964 	* Makefile.in: Rebuilt.
   2965 	* Makefile.am (ffitest_LDFLAGS): New macro.
   2966 
   2967 2001-03-02  Nick Clifton  <nickc (a] redhat.com>
   2968 
   2969 	* include/ffi.h.in: Remove RCS ident string.
   2970 	* include/ffi_mips.h: Remove RCS ident string.
   2971 	* src/debug.c: Remove RCS ident string.
   2972 	* src/ffitest.c: Remove RCS ident string.
   2973 	* src/prep_cif.c: Remove RCS ident string.
   2974 	* src/types.c: Remove RCS ident string.
   2975 	* src/alpha/ffi.c: Remove RCS ident string.
   2976 	* src/alpha/osf.S: Remove RCS ident string.
   2977 	* src/arm/ffi.c: Remove RCS ident string.
   2978 	* src/arm/sysv.S: Remove RCS ident string.
   2979 	* src/mips/ffi.c: Remove RCS ident string.
   2980 	* src/mips/n32.S: Remove RCS ident string.
   2981 	* src/mips/o32.S: Remove RCS ident string.
   2982 	* src/sparc/ffi.c: Remove RCS ident string.
   2983 	* src/sparc/v8.S: Remove RCS ident string.
   2984 	* src/sparc/v9.S: Remove RCS ident string.
   2985 	* src/x86/ffi.c: Remove RCS ident string.
   2986 	* src/x86/sysv.S: Remove RCS ident string.
   2987 
   2988 2001-02-08  Joseph S. Myers  <jsm28 (a] cam.ac.uk>
   2989 
   2990 	* include/ffi.h.in: Change sourceware.cygnus.com references to
   2991 	gcc.gnu.org.
   2992 
   2993 2000-12-09  Richard Henderson  <rth (a] redhat.com>
   2994 
   2995 	* src/alpha/ffi.c (ffi_call): Simplify struct return test.
   2996 	(ffi_closure_osf_inner): Index rather than increment avalue
   2997 	and arg_types.  Give ffi_closure_osf the raw return value type.
   2998 	* src/alpha/osf.S (ffi_closure_osf): Handle return value type
   2999 	promotion.
   3000 
   3001 2000-12-07  Richard Henderson  <rth (a] redhat.com>
   3002 
   3003 	* src/raw_api.c (ffi_translate_args): Fix typo.
   3004 	(ffi_prep_closure): Likewise.
   3005 
   3006 	* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
   3007 	FFI_TRAMPOLINE_SIZE.
   3008 	* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
   3009 	cif->bytes for new ffi_call_osf implementation.
   3010 	(ffi_prep_args): Absorb into ...
   3011 	(ffi_call): ... here.  Do all stack allocation here and
   3012 	avoid a callback function.
   3013 	(ffi_prep_closure, ffi_closure_osf_inner): New.
   3014 	* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
   3015 	(ffi_closure_osf): New.
   3016 
   3017 2000-09-10  Alexandre Oliva  <aoliva (a] redhat.com>
   3018 
   3019 	* config.guess, config.sub, install-sh: Removed.
   3020 	* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
   3021 	* Makefile.in: Rebuilt.
   3022 
   3023 	* acinclude.m4: Include libtool macros from the top level.
   3024 	* aclocal.m4, configure: Rebuilt.
   3025 
   3026 2000-08-22  Alexandre Oliva  <aoliva (a] redhat.com>
   3027 
   3028 	* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
   3029 	* configure: Rebuilt.
   3030 
   3031 2000-05-11  Scott Bambrough  <scottb (a] netwinder.org>
   3032 
   3033 	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
   3034 	memory correctly.  Use conditional instructions, not branches where
   3035 	possible.
   3036 
   3037 2000-05-04  Tom Tromey  <tromey (a] cygnus.com>
   3038 
   3039 	* configure: Rebuilt.
   3040 	* configure.in: Match `arm*-*-linux-*'.
   3041 	From Chris Dornan <cdornan (a] arm.com>.
   3042 
   3043 2000-04-28  Jakub Jelinek  <jakub (a] redhat.com>
   3044 
   3045 	* Makefile.am (SUBDIRS): Define.
   3046 	(AM_MAKEFLAGS): Likewise.
   3047 	(Multilib support.): Add section.
   3048 	* Makefile.in: Rebuilt.
   3049 	* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
   3050 	New variables. Set for gcc using -print-multi-lib. Export them
   3051 	to libtool.
   3052 	(sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
   3053 	* ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
   3054 	for -shared links.
   3055 	(extra_compiler_flags_value, extra_compiler_flags): Check these
   3056 	for extra compiler options which need to be passed down in
   3057 	compiler_flags.
   3058 
   3059 2000-04-16  Anthony Green  <green (a] redhat.com>
   3060 
   3061 	* configure: Rebuilt.
   3062 	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.
   3063 
   3064 2000-04-14  Jakub Jelinek  <jakub (a] redhat.com>
   3065 
   3066 	* include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
   3067 	Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
   3068 	* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
   3069 	Replace all void * sizeofs with sizeof(int).
   3070 	Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
   3071 	different than DOUBLE.
   3072 	Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
   3073 	(ffi_prep_args_v9): New function.
   3074 	(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
   3075 	(ffi_V9_return_struct): New function.
   3076 	(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
   3077 	32bit code (not yet cross-arch calls).
   3078 	* src/sparc/v8.S: Add struct return delay nop.
   3079 	Handle long long.
   3080 	* src/sparc/v9.S: New file.
   3081 	* src/prep_cif.c (ffi_prep_cif): Return structure pointer
   3082 	is used on sparc64 only for structures larger than 32 bytes.
   3083 	Pass by reference for structures is done for structure arguments
   3084 	larger than 16 bytes.
   3085 	* src/ffitest.c (main): Use 64bit rint on sparc64.
   3086 	Run long long tests on sparc.
   3087 	* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
   3088 	sparc64.
   3089 	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
   3090 	on sparc64.
   3091 	* configure.in (sparc-*-linux*): New supported target.
   3092 	(sparc64-*-linux*): Likewise.
   3093 	* configure: Rebuilt.
   3094 	* Makefile.am: Add v9.S to SPARC files.
   3095 	* Makefile.in: Likewise.
   3096 	(LINK): Surround $(CCLD) into double quotes, so that multilib
   3097 	compiles work correctly.
   3098 
   3099 2000-04-04  Alexandre Petit-Bianco  <apbianco (a] cygnus.com>
   3100 
   3101 	* configure: Rebuilt.
   3102 	* configure.in: (i*86-*-solaris*): New libffi target. Patch
   3103 	proposed by Bryce McKinlay.
   3104 
   3105 2000-03-20  Tom Tromey  <tromey (a] cygnus.com>
   3106 
   3107 	* Makefile.in: Hand edit for java_raw_api.lo.
   3108 
   3109 2000-03-08  Bryce McKinlay  <bryce (a] albatross.co.nz>
   3110 
   3111 	* config.guess, config.sub: Update from the gcc tree.
   3112 	Fix for PR libgcj/168.
   3113 
   3114 2000-03-03  Tom Tromey  <tromey (a] cygnus.com>
   3115 
   3116 	* Makefile.in: Fixed ia64 by hand.
   3117 
   3118 	* configure: Rebuilt.
   3119 	* configure.in (--enable-multilib): New option.
   3120 	(libffi_basedir): New subst.
   3121 	(AC_OUTPUT): Added multilib code.
   3122 
   3123 2000-03-02  Tom Tromey  <tromey (a] cygnus.com>
   3124 
   3125 	* Makefile.in: Rebuilt.
   3126 	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
   3127 	directory name.
   3128 
   3129 2000-02-25  Hans Boehm <boehm (a] acm.org>
   3130 
   3131 	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
   3132 	files.
   3133 	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
   3134 	list.
   3135 	(ffi_prep_raw_closure): Use ffi_translate_args, not
   3136 	ffi_closure_translate.
   3137 	* src/java_raw_api.c: New file.
   3138 	* src/ffitest.c (closure_test_fn): New function.
   3139 	(main): Define `rint' as long long on IA64.  Added new test when
   3140 	FFI_CLOSURES is defined.
   3141 	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
   3142 	(ffi_abi): Recognize IA64.
   3143 	(ffi_raw): Added `flt' field.
   3144 	Added "Java raw API" code.
   3145 	* configure.in: Recognize ia64.
   3146 	* Makefile.am (TARGET_SRC_IA64): New macro.
   3147 	(libffi_la_common_SOURCES): Added java_raw_api.c.
   3148 	(libffi_la_SOURCES): Define in IA64 case.
   3149 
   3150 2000-01-04  Tom Tromey  <tromey (a] cygnus.com>
   3151 
   3152 	* Makefile.in: Rebuilt with newer automake.
   3153 
   3154 1999-12-31  Tom Tromey  <tromey (a] cygnus.com>
   3155 
   3156 	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
   3157 
   3158 1999-09-01  Tom Tromey  <tromey (a] cygnus.com>
   3159 
   3160 	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
   3161 	undefs.
   3162 	* fficonfig.h.in: Rebuilt.
   3163 	* configure: Rebuilt.
   3164 	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
   3165 	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
   3166 	* acconfig.h: Don't #undef PACKAGE or VERSION.
   3167 
   3168 1999-08-09  Anthony Green  <green (a] cygnus.com>
   3169 
   3170 	* include/ffi.h.in: Try to work around messy header problem
   3171 	with PACKAGE and VERSION.
   3172 
   3173 	* configure: Rebuilt.
   3174 	* configure.in: Change version to 2.00-beta.
   3175 
   3176 	* fficonfig.h.in: Rebuilt.
   3177 	* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
   3178 
   3179 	* src/x86/ffi.c (ffi_raw_call): Rename.
   3180 
   3181 1999-08-02  Kresten Krab Thorup  <krab (a] dominiq.is.s.u-tokyo.ac.jp>
   3182 
   3183 	* src/x86/ffi.c (ffi_closure_SYSV): New function.
   3184 	(ffi_prep_incoming_args_SYSV): Ditto.
   3185 	(ffi_prep_closure): Ditto.
   3186 	(ffi_closure_raw_SYSV): Ditto.
   3187 	(ffi_prep_raw_closure): More ditto.
   3188 	(ffi_call_raw): Final ditto.
   3189 
   3190 	* include/ffi.h.in: Add definitions for closure and raw API.
   3191 
   3192 	* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
   3193 	FFI_TYPE_UINT64.
   3194 
   3195 	* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
   3196 
   3197 	* src/raw_api.c: New file.
   3198 
   3199 	* include/ffi.h.in (ffi_raw): New type.
   3200 	(UINT_ARG, SINT_ARG): New defines.
   3201 	(ffi_closure, ffi_raw_closure): New types.
   3202 	(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
   3203 
   3204 	* configure.in: Add check for endianness and sizeof void*.
   3205 
   3206 	* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
   3207 	instead of directly.
   3208 
   3209 	* configure: Rebuilt.
   3210 
   3211 Thu Jul  8 14:28:42 1999  Anthony Green  <green (a] cygnus.com>
   3212 
   3213 	* configure.in: Add x86 and powerpc BeOS configurations.
   3214 	From Makoto Kato <m_kato (a] ga2.so-net.ne.jp>.
   3215 
   3216 1999-05-09  Anthony Green  <green (a] cygnus.com>
   3217 
   3218 	* configure.in: Add warning about this being beta code.
   3219 	Remove src/Makefile.am from the picture.
   3220 	* configure: Rebuilt.
   3221 
   3222 	* Makefile.am: Move logic from src/Makefile.am.  Add changes
   3223 	to support libffi as a target library.
   3224 	* Makefile.in: Rebuilt.
   3225 
   3226 	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
   3227 	Upgraded to new autoconf, automake, libtool.
   3228 
   3229 	* README: Tweaks.
   3230 
   3231 	* LICENSE: Update copyright date.
   3232 
   3233 	* src/Makefile.am, src/Makefile.in: Removed.
   3234 
   3235 1998-11-29  Anthony Green  <green (a] cygnus.com>
   3236 
   3237 	* include/ChangeLog: Removed.
   3238 	* src/ChangeLog: Removed.
   3239 	* src/mips/ChangeLog: Removed.
   3240 	* src/sparc/ChangeLog: Remboved.
   3241 	* src/x86/ChangeLog: Removed.
   3242 
   3243 	* ChangeLog.v1: Created.
   3244