]> git.ipfire.org Git - thirdparty/gcc.git/blob - libffi/ChangeLog
Makefile.am: Add frv support.
[thirdparty/gcc.git] / libffi / ChangeLog
1 2004-08-30 Anthony Green <green@redhat.com>
2
3 * Makefile.am: Add frv support.
4 * Makefile.in, testsuite/Makefile.in: Rebuilt.
5 * configure.ac: Read configure.host.
6 * configure.in: Read configure.host.
7 * configure.host: New file. frv-elf needs libgloss.
8 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
9 alignment. This is needed to frv and should harm the others.
10 * include/ffi_common.h (ALIGN_DOWN): New macro.
11 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
12
13 2004-08-24 David Daney <daney@avtrex.com>
14
15 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
16 * testsuite/libffi.call/closure_fn1.c: Likewise.
17 * testsuite/libffi.call/closure_fn2.c Likewise.
18 * testsuite/libffi.call/closure_fn3.c: Likewise.
19 * testsuite/libffi.call/closure_fn4.c: Likewise.
20 * testsuite/libffi.call/closure_fn5.c: Likewise.
21 * testsuite/libffi.call/cls_18byte.c: Likewise.
22 * testsuite/libffi.call/cls_19byte.c: Likewise.
23 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
24 * testsuite/libffi.call/cls_20byte.c: Likewise.
25 * testsuite/libffi.call/cls_20byte1.c: Likewise.
26 * testsuite/libffi.call/cls_24byte.c: Likewise.
27 * testsuite/libffi.call/cls_2byte.c: Likewise.
28 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
29 * testsuite/libffi.call/cls_3byte1.c: Likewise.
30 * testsuite/libffi.call/cls_3byte2.c: Likewise.
31 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
32 * testsuite/libffi.call/cls_4byte.c: Likewise.
33 * testsuite/libffi.call/cls_64byte.c: Likewise.
34 * testsuite/libffi.call/cls_6byte.c: Likewise.
35 * testsuite/libffi.call/cls_7byte.c: Likewise.
36 * testsuite/libffi.call/cls_8byte.c: Likewise.
37 * testsuite/libffi.call/cls_9byte1.c: Likewise.
38 * testsuite/libffi.call/cls_9byte2.c: Likewise.
39 * testsuite/libffi.call/cls_align_double.c: Likewise.
40 * testsuite/libffi.call/cls_align_float.c: Likewise.
41 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
42 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
43 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
44 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
45 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
46 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
47 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
48 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
49 * testsuite/libffi.call/cls_double.c: Likewise.
50 * testsuite/libffi.call/cls_float.c: Likewise.
51 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
52 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
53 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
54 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
55 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
56 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
57 * testsuite/libffi.call/cls_schar.c: Likewise.
58 * testsuite/libffi.call/cls_sint.c: Likewise.
59 * testsuite/libffi.call/cls_sshort.c: Likewise.
60 * testsuite/libffi.call/cls_uchar.c: Likewise.
61 * testsuite/libffi.call/cls_uint.c: Likewise.
62 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
63 * testsuite/libffi.call/cls_ushort.c: Likewise.
64 * testsuite/libffi.call/nested_struct.c: Likewise.
65 * testsuite/libffi.call/nested_struct1.c: Likewise.
66 * testsuite/libffi.call/nested_struct2.c: Likewise.
67 * testsuite/libffi.call/nested_struct3.c: Likewise.
68 * testsuite/libffi.call/problem1.c: Likewise.
69 * testsuite/libffi.special/unwindtest.cc: Likewise.
70 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
71 to zero.
72 * testsuite/libffi.call/cls_16byte.c: Likewise.
73 * testsuite/libffi.call/cls_5byte.c: Likewise.
74
75 2004-08-23 David Daney <daney@avtrex.com>
76
77 PR libgcj/13141
78 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
79 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
80 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
81 parameters and return types.
82 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
83 (ffi_prep_closure): Ditto.
84 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
85 alignment calculations.
86 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
87 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
88
89 2004-08-14 Casey Marshall <csm@gnu.org>
90
91 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
92 contain `FFI_TYPE_UINT64' as return type for any 64-bit
93 integer (O32 ABI only).
94 (ffi_prep_closure): new function.
95 (ffi_closure_mips_inner_O32): new function.
96 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
97 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
98 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
99 64 bit integers correctly.
100 (ffi_closure_O32): new function.
101 Added DWARF-2 unwind info for both functions.
102
103 2004-08-10 Andrew Haley <aph@redhat.com>
104
105 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
106
107 2004-08-01 Robert Millan <robertmh@gnu.org>
108
109 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
110 * configure: Regenerate.
111
112 2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
113
114 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
115 and mmap() explicitly instead of relying on preset autoconf cache
116 variables.
117 * aclocal.m4: Regenerate.
118 * configure: Regenerate.
119
120 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
121
122 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
123 (ffi_check_float_struct): Remove unused prototype.
124
125 2004-06-30 Geoffrey Keating <geoffk@apple.com>
126
127 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
128 character on Darwin, use '\n\t' instead.
129
130 2004-06-26 Matthias Klose <doko@debian.org>
131
132 * libtool-version: Fix typo in revision/age.
133
134 2004-06-17 Matthias Klose <doko@debian.org>
135
136 * libtool-version: New.
137 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
138 * Makefile.in: Regenerate.
139
140 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
141
142 * Makefile.am: Remove useless multilib rules.
143 * Makefile.in: Regenerate.
144 * aclocal.m4: Regenerate with automake 1.8.5.
145 * configure.ac: Remove useless multilib configury.
146 * configure: Regenerate.
147
148 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
149
150 * .cvsignore: New file.
151
152 2004-06-10 Jakub Jelinek <jakub@redhat.com>
153
154 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
155 fp_done.
156 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
157 changed from 8.
158
159 2004-06-06 Sean McNeil <sean@mcneil.com>
160
161 * configure.ac: Add x86_64-*-freebsd* support.
162 * configure: Regenerate.
163
164 2004-04-26 Joe Buck <jbuck@welsh-buck.org>
165
166 Bug 15093
167 * configure.ac: Test for existence of mmap and sys/mman.h before
168 checking blacklist. Fix suggested by Jim Wilson.
169 * configure: Regenerate.
170
171 2004-04-26 Matt Austern <austern@apple.com>
172
173 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
174 FDE location.
175 * src/powerpc/darwin_closure.S: Likewise.
176
177 2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
178
179 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
180 error. Reported by Thomas Heller <theller@python.net>.
181 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
182 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
183
184 2004-03-20 Matthias Klose <doko@debian.org>
185
186 * src/pa/linux.S: Fix typo.
187
188 2004-03-19 Matthias Klose <doko@debian.org>
189
190 * Makefile.am: Update.
191 * Makefile.in: Regenerate.
192 * src/pa/ffi.h.in: Remove.
193 * src/pa/ffitarget.h: New file.
194
195 2004-02-10 Randolph Chung <tausq@debian.org>
196
197 * Makefile.am: Add PA support.
198 * Makefile.in: Regenerate.
199 * include/Makefile.in: Regenerate.
200 * configure.ac: Add PA target.
201 * configure: Regenerate.
202 * src/pa/ffi.c: New file.
203 * src/pa/ffi.h.in: Add PA support.
204 * src/pa/linux.S: New file.
205 * prep_cif.c: Add PA support.
206
207 2004-03-16 Hosaka Yuji <hos@tamanegi.org>
208
209 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
210 double.
211 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
212 with ecif->cif->flags.
213 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
214 with cif->flags.
215 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
216 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
217 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
218 sc_retstruct2b): Add for 1 or 2-bytes struct case.
219
220 2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
221
222 * configure.in: Rename file to ...
223 * configure.ac: ... this.
224 * fficonfig.h.in: Regenerate.
225 * Makefile.in: Regenerate.
226 * include/Makefile.in: Regenerate.
227 * testsuite/Makefile.in: Regenerate.
228
229 2004-03-12 Matt Austern <austern@apple.com>
230
231 * src/powerpc/darwin.S: Fix EH information so it corresponds to
232 changes in EH format resulting from addition of linkonce support.
233 * src/powerpc/darwin_closure.S: Likewise.
234
235 2004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
236 Paolo Bonzini <bonzini@gnu.org>
237
238 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
239 Remove VPATH. Remove rules for object files. Remove multilib support.
240 (AM_CCASFLAGS): Add.
241 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
242 (AC_PREREQ): Bump version to 2.59.
243 (AC_INIT): Fill with version info and bug address.
244 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
245 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
246 De-precious CC so that the right flags are passed down to multilibs.
247 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
248 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
249 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
250 * configure: Rebuilt.
251 * aclocal.m4: Likewise.
252 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
253 * fficonfig.h.in: Likewise.
254
255 2004-03-11 Andreas Schwab <schwab@suse.de>
256
257 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
258 arguments from fp registers only for the first 8 parameter slots.
259 Don't convert a float parameter when passed in memory.
260
261 2004-03-09 Hans-Peter Nilsson <hp@axis.com>
262
263 * configure: Regenerate for config/accross.m4 correction.
264
265 2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
266
267 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
268 ecif->cif->bytes to bytes.
269 (ffi_prep_cif_machdep): Add braces around nested if statement.
270
271 2004-02-09 Alan Modra <amodra@bigpond.net.au>
272
273 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
274
275 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
276 (ffi_closure_helper_LINUX64): Fix typo.
277 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
278 for powerpc64-*-*.
279 * testsuite/libffi.call/float.c: Likewise.
280 * testsuite/libffi.call/float2.c: Likewise.
281
282 2004-02-08 Alan Modra <amodra@bigpond.net.au>
283
284 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
285 long double function return and long double arg handling.
286 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
287 Use "end_pfr" instead of "nf". Correct long double handling.
288 Localise "temp".
289 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
290 return value.
291 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
292 space for long double return value. Adjust stack frame and offsets.
293 Load f2 long double return.
294
295 2004-02-07 Alan Modra <amodra@bigpond.net.au>
296
297 * src/types.c: Use 16 byte long double for POWERPC64.
298
299 2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
300
301 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
302 when the structure return address is passed in %o0.
303 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
304 (ffi_v9_layout_struct): Align the field following a nested structure
305 on a word boundary. Use memmove instead of memcpy.
306 (ffi_call): Update call to ffi_V9_return_struct.
307 (ffi_prep_closure): Define 'ctx' only for V8.
308 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
309 and ffi_closure_sparc_inner_v9.
310 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
311 Always skip the structure return address. For structures and long
312 doubles, copy the argument directly.
313 (ffi_closure_sparc_inner_v9): Skip the structure return address only
314 if required. Shift the maximum floating-point slot accordingly. For
315 big structures, copy the argument directly; otherwise, left-justify the
316 argument and call ffi_v9_layout_struct to lay out the structure on
317 the stack.
318 * src/sparc/v8.S: Undef STACKFRAME before defining it.
319 (ffi_closure_v8): Pass the structure return address. Update call to
320 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
321 Skip the 'unimp' insn when returning long doubles and structures.
322 * src/sparc/v9.S: Undef STACKFRAME before defining it.
323 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
324 FFI_TYPE_INT handling. Load structures both in integers and
325 floating-point registers on return.
326 * README: Update status of the SPARC port.
327
328 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
329
330 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
331 as of type ffi_arg.
332 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
333
334 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
335
336 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
337 value as of type ffi_arg, not unsigned int.
338
339 2004-01-21 Michael Ritzert <ritzert@t-online.de>
340
341 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
342 of the LHS.
343
344 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
345
346 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
347 Solaris.
348
349 2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
350
351 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
352 to void *.
353
354 2003-12-10 Richard Henderson <rth@redhat.com>
355
356 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
357 size_t instead of int.
358
359 2003-12-04 Hosaka Yuji <hos@tamanegi.org>
360
361 * testsuite/libffi.call/many_win32.c: Include <float.h>.
362 * testsuite/libffi.call/many_win32.c (main): Replace variable
363 int i with unsigned long ul.
364
365 * testsuite/libffi.call/cls_align_uint64.c: New test case.
366 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
367 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
368 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
369 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
370 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
371 * testsuite/libffi.call/cls_align_float.c: Likewise.
372 * testsuite/libffi.call/cls_align_double.c: Likewise.
373 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
374 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
375
376 2003-12-02 Hosaka Yuji <hos@tamanegi.org>
377
378 PR other/13221
379 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
380 Align arguments to 32 bits.
381
382 2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
383
384 PR other/13221
385 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
386 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
387 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
388 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
389 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
390 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
391
392 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
393
394 2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
395
396 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
397 * testsuite/libffi.special/ffitestcxx.h: Likewise.
398
399 2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
400
401 * Makefile.in: Rebuilt.
402 * configure: Likewise.
403 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
404 the right type.
405
406 2003-11-21 Andreas Jaeger <aj@suse.de>
407 Andreas Tobler <a.tobler@schweiz.ch>
408
409 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
410 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
411 * Makefile.in: Rebuilt.
412 * aclocal.m4: Likewise.
413 * configure: Likewise.
414 * fficonfig.h.in: Likewise.
415 * testsuite/lib/libffi-dg.exp: Add include dir.
416 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
417 * testsuite/libffi.special/ffitestcxx.h: Likewise.
418 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
419 for ffi_closure if available.
420 * testsuite/libffi.call/closure_fn1.c: Likewise.
421 * testsuite/libffi.call/closure_fn2.c: Likewise.
422 * testsuite/libffi.call/closure_fn3.c: Likewise.
423 * testsuite/libffi.call/closure_fn4.c: Likewise.
424 * testsuite/libffi.call/closure_fn5.c: Likewise.
425 * testsuite/libffi.call/cls_12byte.c: Likewise.
426 * testsuite/libffi.call/cls_16byte.c: Likewise.
427 * testsuite/libffi.call/cls_18byte.c: Likewise.
428 * testsuite/libffi.call/cls_19byte.c: Likewise.
429 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
430 * testsuite/libffi.call/cls_20byte.c: Likewise.
431 * testsuite/libffi.call/cls_20byte1.c: Likewise.
432 * testsuite/libffi.call/cls_24byte.c: Likewise.
433 * testsuite/libffi.call/cls_2byte.c: Likewise.
434 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
435 * testsuite/libffi.call/cls_3byte1.c: Likewise.
436 * testsuite/libffi.call/cls_3byte2.c: Likewise.
437 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
438 * testsuite/libffi.call/cls_4byte.c: Likewise.
439 * testsuite/libffi.call/cls_5byte.c: Likewise.
440 * testsuite/libffi.call/cls_64byte.c: Likewise.
441 * testsuite/libffi.call/cls_6byte.c: Likewise.
442 * testsuite/libffi.call/cls_7byte.c: Likewise.
443 * testsuite/libffi.call/cls_8byte.c: Likewise.
444 * testsuite/libffi.call/cls_9byte1.c: Likewise.
445 * testsuite/libffi.call/cls_9byte2.c: Likewise.
446 * testsuite/libffi.call/cls_double.c: Likewise.
447 * testsuite/libffi.call/cls_float.c: Likewise.
448 * testsuite/libffi.call/cls_schar.c: Likewise.
449 * testsuite/libffi.call/cls_sint.c: Likewise.
450 * testsuite/libffi.call/cls_sshort.c: Likewise.
451 * testsuite/libffi.call/cls_uchar.c: Likewise.
452 * testsuite/libffi.call/cls_uint.c: Likewise.
453 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
454 * testsuite/libffi.call/cls_ushort.c: Likewise.
455 * testsuite/libffi.call/nested_struct.c: Likewise.
456 * testsuite/libffi.call/nested_struct1.c: Likewise.
457 * testsuite/libffi.call/nested_struct2.c: Likewise.
458 * testsuite/libffi.call/nested_struct3.c: Likewise.
459 * testsuite/libffi.call/problem1.c: Likewise.
460 * testsuite/libffi.special/unwindtest.cc: Likewise.
461
462 2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
463
464 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
465
466 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
467
468 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
469 Add -lgcc_s to additional flags.
470
471 2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
472
473 * configure.in, include/Makefile.am: PR libgcj/11147, install
474 the ffitarget.h header file in a gcc versioned and target
475 dependent place.
476 * configure: Regenerated.
477 * Makefile.in, include/Makefile.in: Likewise.
478 * testsuite/Makefile.in: Likewise.
479
480 2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
481
482 * testsuite/libffi.call/closure_fn0.c: Print result and check
483 with dg-output to make debugging easier.
484 * testsuite/libffi.call/closure_fn1.c: Likewise.
485 * testsuite/libffi.call/closure_fn2.c: Likewise.
486 * testsuite/libffi.call/closure_fn3.c: Likewise.
487 * testsuite/libffi.call/closure_fn4.c: Likewise.
488 * testsuite/libffi.call/closure_fn5.c: Likewise.
489 * testsuite/libffi.call/cls_12byte.c: Likewise.
490 * testsuite/libffi.call/cls_16byte.c: Likewise.
491 * testsuite/libffi.call/cls_18byte.c: Likewise.
492 * testsuite/libffi.call/cls_19byte.c: Likewise.
493 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
494 * testsuite/libffi.call/cls_20byte.c: Likewise.
495 * testsuite/libffi.call/cls_20byte1.c: Likewise.
496 * testsuite/libffi.call/cls_24byte.c: Likewise.
497 * testsuite/libffi.call/cls_2byte.c: Likewise.
498 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
499 * testsuite/libffi.call/cls_3byte1.c: Likewise.
500 * testsuite/libffi.call/cls_3byte2.c: Likewise.
501 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
502 * testsuite/libffi.call/cls_4byte.c: Likewise.
503 * testsuite/libffi.call/cls_5byte.c: Likewise.
504 * testsuite/libffi.call/cls_64byte.c: Likewise.
505 * testsuite/libffi.call/cls_6byte.c: Likewise.
506 * testsuite/libffi.call/cls_7byte.c: Likewise.
507 * testsuite/libffi.call/cls_8byte.c: Likewise.
508 * testsuite/libffi.call/cls_9byte1.c: Likewise.
509 * testsuite/libffi.call/cls_9byte2.c: Likewise.
510 * testsuite/libffi.call/cls_double.c: Likewise.
511 * testsuite/libffi.call/cls_float.c: Likewise.
512 * testsuite/libffi.call/cls_schar.c: Likewise.
513 * testsuite/libffi.call/cls_sint.c: Likewise.
514 * testsuite/libffi.call/cls_sshort.c: Likewise.
515 * testsuite/libffi.call/cls_uchar.c: Likewise.
516 * testsuite/libffi.call/cls_uint.c: Likewise.
517 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
518 * testsuite/libffi.call/cls_ushort.c: Likewise.
519 * testsuite/libffi.call/problem1.c: Likewise.
520
521 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
522 static.
523
524 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
525
526 * testsuite/libffi.call/cls_9byte2.c: New test case.
527 * testsuite/libffi.call/cls_9byte1.c: Likewise.
528 * testsuite/libffi.call/cls_64byte.c: Likewise.
529 * testsuite/libffi.call/cls_20byte1.c: Likewise.
530 * testsuite/libffi.call/cls_19byte.c: Likewise.
531 * testsuite/libffi.call/cls_18byte.c: Likewise.
532 * testsuite/libffi.call/closure_fn4.c: Likewise.
533 * testsuite/libffi.call/closure_fn5.c: Likewise.
534 * testsuite/libffi.call/cls_schar.c: Likewise.
535 * testsuite/libffi.call/cls_sint.c: Likewise.
536 * testsuite/libffi.call/cls_sshort.c: Likewise.
537 * testsuite/libffi.call/nested_struct2.c: Likewise.
538 * testsuite/libffi.call/nested_struct3.c: Likewise.
539
540 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
541
542 * testsuite/libffi.call/cls_double.c: Do a check on the result.
543 * testsuite/libffi.call/cls_uchar.c: Likewise.
544 * testsuite/libffi.call/cls_uint.c: Likewise.
545 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
546 * testsuite/libffi.call/cls_ushort.c: Likewise.
547 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
548
549 2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
550
551 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
552 the initialization.
553
554 2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
555
556 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
557 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
558
559 2003-10-22 David Daney <ddaney@avtrex.com>
560
561 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
562 __attribute__((__mode__(__SI__))) and friends.
563
564 2003-10-22 Andreas Schwab <schwab@suse.de>
565
566 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
567
568 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
569
570 * configure.in: AC_LINK_FILES(ffitarget.h).
571 * configure: Regenerate.
572 * Makefile.in: Likewise.
573 * include/Makefile.in: Likewise.
574 * testsuite/Makefile.in: Likewise.
575 * fficonfig.h.in: Likewise.
576
577 2003-10-21 Paolo Bonzini <bonzini@gnu.org>
578 Richard Henderson <rth@redhat.com>
579
580 Avoid that ffi.h includes fficonfig.h.
581
582 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
583 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
584 (TARGET_SRC_MIPS_SGI): Removed.
585 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
586 (MIPS_SGI): Removed.
587 (CLEANFILES): Removed.
588 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
589 targets.
590 * acconfig.h: Removed.
591 * configure.in: Compute sizeofs only for double and long double.
592 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
593 into AC_DEFINE instead of using acconfig.h. Create
594 include/ffitarget.h instead of include/fficonfig.h. Rename
595 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
596 AC_DEFINE EH_FRAME_FLAGS.
597 * include/Makefile.am (DISTCLEANFILES): New automake macro.
598 (hack_DATA): Add ffitarget.h.
599 * include/ffi.h.in: Remove all system specific definitions.
600 Declare raw API even if it is not installed, why bother?
601 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
602 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
603 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
604 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
605 * include/ffi_common.h (bool): Do not define.
606 (ffi_assert): Accept failed assertion.
607 (ffi_type_test): Return void and accept file/line.
608 (FFI_ASSERT): Pass stringized failed assertion.
609 (FFI_ASSERT_AT): New macro.
610 (FFI_ASSERT_VALID_TYPE): New macro.
611 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
612 UINT64, SINT64): Define here with gcc's __attribute__ macro
613 instead of in ffi.h
614 (FLOAT32, ALIGN): Define here instead of in ffi.h
615 * include/ffi-mips.h: Removed. Its content moved to
616 src/mips/ffitarget.h after separating assembly and C sections.
617 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
618 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
619 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
620 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
621 SIZEOF_ARG -> FFI_SIZEOF_ARG.
622 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
623 * src/debug.c (ffi_assert): Accept stringized failed assertion.
624 (ffi_type_test): Rewritten.
625 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
626 FFI_ASSERT_VALID_TYPE.
627 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
628 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
629 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
630 src/s390/ffitarget.h, src/sh/ffitarget.h,
631 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
632 src/x86/ffitarget.h: New files.
633 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
634 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
635 src/powerpc/aix.S, src/powerpc/darwin.S,
636 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
637 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
638 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
639 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
640 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
641 include fficonfig.h
642
643 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
644
645 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
646 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
647
648 2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
649
650 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
651 Used when FFI_DEBUG = 1.
652
653 2003-10-14 Alan Modra <amodra@bigpond.net.au>
654
655 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
656 and align.
657
658 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
659
660 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
661 FFI_MIPS_O32 for O32 ABI.
662
663 2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
664
665 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
666 SPARC64. Cleanup whitespaces.
667
668 2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
669
670 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
671 strongarm, xscale. Cleanup whitespaces.
672 * testsuite/libffi.call/closure_fn1.c: Likewise.
673 * testsuite/libffi.call/closure_fn2.c: Likewise.
674 * testsuite/libffi.call/closure_fn3.c: Likewise.
675 * testsuite/libffi.call/cls_12byte.c: Likewise.
676 * testsuite/libffi.call/cls_16byte.c: Likewise.
677 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
678 * testsuite/libffi.call/cls_20byte.c: Likewise.
679 * testsuite/libffi.call/cls_24byte.c: Likewise.
680 * testsuite/libffi.call/cls_2byte.c: Likewise.
681 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
682 * testsuite/libffi.call/cls_3byte1.c: Likewise.
683 * testsuite/libffi.call/cls_3byte2.c: Likewise.
684 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
685 * testsuite/libffi.call/cls_4byte.c: Likewise.
686 * testsuite/libffi.call/cls_5byte.c: Likewise.
687 * testsuite/libffi.call/cls_6byte.c: Likewise.
688 * testsuite/libffi.call/cls_7byte.c: Likewise.
689 * testsuite/libffi.call/cls_8byte.c: Likewise.
690 * testsuite/libffi.call/cls_double.c: Likewise.
691 * testsuite/libffi.call/cls_float.c: Likewise.
692 * testsuite/libffi.call/cls_uchar.c: Likewise.
693 * testsuite/libffi.call/cls_uint.c: Likewise.
694 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
695 * testsuite/libffi.call/cls_ushort.c: Likewise.
696 * testsuite/libffi.call/nested_struct.c: Likewise.
697 * testsuite/libffi.call/nested_struct1.c: Likewise.
698 * testsuite/libffi.call/problem1.c: Likewise.
699 * testsuite/libffi.special/unwindtest.cc: Likewise.
700 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
701
702 2003-09-18 David Edelsohn <edelsohn@gnu.org>
703
704 * src/powerpc/aix.S: Cleanup whitespaces.
705 * src/powerpc/aix_closure.S: Likewise.
706
707 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
708
709 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
710 * src/powerpc/darwin_closure.S: Likewise.
711 * src/powerpc/ffi_darwin.c: Likewise.
712
713 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
714 David Edelsohn <edelsohn@gnu.org>
715
716 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
717 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
718 parameter stack.
719 * src/powerpc/darwin_closure.S: Likewise.
720 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
721 according to the Darwin/AIX ABI.
722 (ffi_prep_cif_machdep): Likewise.
723 (ffi_closure_helper_DARWIN): Likewise.
724 Remove the outgoing parameter stack logic. Simplify the evaluation
725 of the different CASE types.
726 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
727 statement in the trampoline code.
728
729 2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
730
731 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
732 for the register size.
733 (ffi_closure_helper_SYSV): Handle the structure return value
734 address correctly.
735 (ffi_closure_helper_SYSV): Return the appropriate type when
736 the registers are used for the structure return value.
737 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
738 the 64-bit return value. Update copyright years.
739
740 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
741
742 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
743 srcdir for ffi_mips.h.
744
745 2003-09-12 Alan Modra <amodra@bigpond.net.au>
746
747 * src/prep_cif.c (initialize_aggregate): Include tail padding in
748 structure size.
749 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
750 placement of float result.
751 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
752 cast of "resp" for big-endian 64 bit machines.
753
754 2003-09-11 Alan Modra <amodra@bigpond.net.au>
755
756 * src/types.c (double, longdouble): Merge identical SH and ARM
757 typedefs, and add POWERPC64.
758 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
759 struct split over gpr and rest.
760 (ffi_prep_cif_machdep): Correct intarg_count for structures.
761 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
762
763 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
764
765 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
766 passing correctly.
767
768 2003-09-09 Alan Modra <amodra@bigpond.net.au>
769
770 * configure: Regenerate.
771
772 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
773
774 * Makefile.am: Remove build rules for ffitest.
775 * Makefile.in: Rebuilt.
776
777 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
778
779 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
780 about implicit declaration of abort().
781
782 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
783
784 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
785 * Makefile.in: Rebuilt.
786 * configure.in: Add dejagnu test framework.
787 * configure: Rebuilt.
788
789 * testsuite/Makefile.am: New file.
790 * testsuite/Makefile.in: Built
791 * testsuite/lib/libffi-dg.exp: New file.
792 * testsuite/config/default.exp: Likewise.
793 * testsuite/libffi.call/call.exp: Likewise.
794 * testsuite/libffi.call/ffitest.h: Likewise.
795 * testsuite/libffi.call/closure_fn0.c: Likewise.
796 * testsuite/libffi.call/closure_fn1.c: Likewise.
797 * testsuite/libffi.call/closure_fn2.c: Likewise.
798 * testsuite/libffi.call/closure_fn3.c: Likewise.
799 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
800 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
801 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
802 * testsuite/libffi.call/cls_2byte.c: Likewise.
803 * testsuite/libffi.call/cls_3byte1.c: Likewise.
804 * testsuite/libffi.call/cls_3byte2.c: Likewise.
805 * testsuite/libffi.call/cls_4byte.c: Likewise.
806 * testsuite/libffi.call/cls_5byte.c: Likewise.
807 * testsuite/libffi.call/cls_6byte.c: Likewise.
808 * testsuite/libffi.call/cls_7byte.c: Likewise.
809 * testsuite/libffi.call/cls_8byte.c: Likewise.
810 * testsuite/libffi.call/cls_12byte.c: Likewise.
811 * testsuite/libffi.call/cls_16byte.c: Likewise.
812 * testsuite/libffi.call/cls_20byte.c: Likewise.
813 * testsuite/libffi.call/cls_24byte.c: Likewise.
814 * testsuite/libffi.call/cls_double.c: Likewise.
815 * testsuite/libffi.call/cls_float.c: Likewise.
816 * testsuite/libffi.call/cls_uchar.c: Likewise.
817 * testsuite/libffi.call/cls_uint.c: Likewise.
818 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
819 * testsuite/libffi.call/cls_ushort.c: Likewise.
820 * testsuite/libffi.call/float.c: Likewise.
821 * testsuite/libffi.call/float1.c: Likewise.
822 * testsuite/libffi.call/float2.c: Likewise.
823 * testsuite/libffi.call/many.c: Likewise.
824 * testsuite/libffi.call/many_win32.c: Likewise.
825 * testsuite/libffi.call/nested_struct.c: Likewise.
826 * testsuite/libffi.call/nested_struct1.c: Likewise.
827 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
828 * testsuite/libffi.call/problem1.c: Likewise.
829 * testsuite/libffi.call/promotion.c: Likewise.
830 * testsuite/libffi.call/return_ll.c: Likewise.
831 * testsuite/libffi.call/return_sc.c: Likewise.
832 * testsuite/libffi.call/return_uc.c: Likewise.
833 * testsuite/libffi.call/strlen.c: Likewise.
834 * testsuite/libffi.call/strlen_win32.c: Likewise.
835 * testsuite/libffi.call/struct1.c: Likewise.
836 * testsuite/libffi.call/struct2.c: Likewise.
837 * testsuite/libffi.call/struct3.c: Likewise.
838 * testsuite/libffi.call/struct4.c: Likewise.
839 * testsuite/libffi.call/struct5.c: Likewise.
840 * testsuite/libffi.call/struct6.c: Likewise.
841 * testsuite/libffi.call/struct7.c: Likewise.
842 * testsuite/libffi.call/struct8.c: Likewise.
843 * testsuite/libffi.call/struct9.c: Likewise.
844 * testsuite/libffi.special/special.exp: New file.
845 * testsuite/libffi.special/ffitestcxx.h: Likewise.
846 * testsuite/libffi.special/unwindtest.cc: Likewise.
847
848
849 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
850
851 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
852 copyright years.
853
854 2003-08-02 Alan Modra <amodra@bigpond.net.au>
855
856 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
857 structure passing.
858 (ffi_closure_helper_LINUX64): Likewise.
859 * src/powerpc/linux64.S: Remove code writing to parm save area.
860 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
861 address in lr from ffi_closure_helper_LINUX64 call to calculate
862 table address. Optimize function tail.
863
864 2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
865
866 * src/sparc/ffi.c: Handle all floating point registers.
867 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
868
869 2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
870
871 * README: Note that libffi is not part of GCC. Update the project
872 URL and status.
873
874 2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
875
876 * src/powerpc/ppc_closure.S: Include ffi.h.
877
878 2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
879
880 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
881 Use C style comments.
882
883 2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
884
885 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
886 * Makefile.in: Regenerate.
887 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
888 * configure: Regenerate.
889 * include/ffi.h.in: Add SHmedia support.
890 * src/sh64/ffi.c: New file.
891 * src/sh64/sysv.S: New file.
892
893 2003-05-16 Jakub Jelinek <jakub@redhat.com>
894
895 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
896 should be read-only.
897 * configure: Rebuilt.
898 * fficonfig.h.in: Rebuilt.
899 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
900 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
901 * src/powerpc/linux64.S: Likewise.
902 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
903 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
904 if -fpic/-fPIC/-mrelocatable.
905 * src/powerpc/powerpc_closure.S: Likewise.
906 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
907 #write in .eh_frame flags.
908 * src/sparc/v9.S: Likewise.
909 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
910 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
911 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
912
913 2003-05-07 Jeff Sturm <jsturm@one-point.com>
914
915 Fixes PR bootstrap/10656
916 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
917 support for .register pseudo-op.
918 * src/sparc/v8.S: Use it.
919 * fficonfig.h.in: Rebuilt.
920 * configure: Rebuilt.
921
922 2003-04-18 Jakub Jelinek <jakub@redhat.com>
923
924 * include/ffi.h.in (POWERPC64): Define if 64-bit.
925 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
926 Make it the default on POWERPC64.
927 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
928 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
929 * configure: Rebuilt.
930 * src/powerpc/ffi.c (hidden): Define.
931 (ffi_prep_args_SYSV): Renamed from
932 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
933 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
934 ASM_NEEDS_REGISTERS64): New.
935 (ffi_prep_args64): New function.
936 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
937 (ffi_call): Likewise.
938 (ffi_prep_closure): Likewise.
939 (flush_icache): Surround by #ifndef POWERPC64.
940 (ffi_dblfl): New union type.
941 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
942 (ffi_closure_helper_LINUX64): New function.
943 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
944 __powerpc64__.
945 * src/powerpc/sysv.S: Likewise.
946 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
947 * src/powerpc/linux64.S: New file.
948 * src/powerpc/linux64_closure.S: New file.
949 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
950 src/powerpc/linux64_closure.S.
951 (TARGET_SRC_POWERPC): Likewise.
952
953 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
954 closure_test_fn3): Fix result printing on big-endian 64-bit
955 machines.
956 (main): Print tst2_arg instead of uninitialized tst2_result.
957
958 * src/ffitest.c (main): Hide what closure pointer really points to
959 from the compiler.
960
961 2003-04-16 Richard Earnshaw <rearnsha@arm.com>
962
963 * configure.in (arm-*-netbsdelf*): Add configuration.
964 (configure): Regenerated.
965
966 2003-04-04 Loren J. Rittle <ljrittle@acm.org>
967
968 * include/Makefile.in: Regenerate.
969
970 2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
971
972 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
973 bit mode.
974 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
975 Receive closure pointer through parameter, read args using
976 __builtin_dwarf_cfa.
977 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
978
979 2003-03-12 Andreas Schwab <schwab@suse.de>
980
981 * configure.in: Avoid trailing /. in toolexeclibdir.
982 * configure: Rebuilt.
983
984 2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
985
986 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
987
988 2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
989
990 * libffi/src/powerpc/darwin_closure.S:
991 Fix alignement bug, allocate 8 bytes for the result.
992 * libffi/src/powerpc/aix_closure.S:
993 Likewise.
994 * libffi/src/powerpc/ffi_darwin.c:
995 Update stackframe description for aix/darwin_closure.S.
996
997 2003-02-06 Jakub Jelinek <jakub@redhat.com>
998
999 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1000 attribute.
1001
1002 2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
1003 Andreas Schwab <schwab@suse.de>
1004
1005 * configure.in: Adjust command to source config-ml.in to account
1006 for changes to the libffi_basedir definition.
1007 (libffi_basedir): Remove ${srcdir} from value and include trailing
1008 slash if nonempty.
1009
1010 * configure: Regenerate.
1011
1012 2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1013
1014 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1015
1016 2003-01-28 Andrew Haley <aph@redhat.com>
1017
1018 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1019 * src/x86/ffi64.c (ffi_prep_closure): New.
1020 (ffi_closure_UNIX64_inner): New.
1021 * src/x86/unix64.S (ffi_closure_UNIX64): New.
1022
1023 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
1024
1025 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1026 Remove USE_LIBDIR conditional.
1027 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1028 * Makefile.in, configure: Rebuilt.
1029
1030 2003-01027 David Edelsohn <edelsohn@gnu.org>
1031
1032 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1033 * Makefile.in: Regenerate.
1034
1035 2003-01-22 Andrew Haley <aph@redhat.com>
1036
1037 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1038 unwind info.
1039
1040 2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
1041
1042 * src/powerpc/darwin.S: Add unwind info.
1043 * src/powerpc/darwin_closure.S: Likewise.
1044
1045 2003-01-14 Andrew Haley <aph@redhat.com>
1046
1047 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1048 (ffi_prep_cif_machdep): Likewise.
1049 * src/x86/unix64.S: Add unwind info.
1050
1051 2003-01-14 Andreas Jaeger <aj@suse.de>
1052
1053 * src/ffitest.c (main): Only use ffi_closures if those are
1054 supported.
1055
1056 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
1057
1058 * libffi/src/ffitest.c
1059 add closure testcases
1060
1061 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
1062
1063 * libffi/src/powerpc/ffi.c
1064 fix alignment bug for float (4 byte aligned iso 8 byte)
1065
1066 2003-01-09 Geoffrey Keating <geoffk@apple.com>
1067
1068 * src/powerpc/ffi_darwin.c: Remove RCS version string.
1069 * src/powerpc/darwin.S: Remove RCS version string.
1070
1071 2003-01-03 Jeff Sturm <jsturm@one-point.com>
1072
1073 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1074 * src/ffitest.c (main): Use static storage for closure.
1075 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1076 * src/sparc/v8.S (ffi_closure_v8): New.
1077 * src/sparc/v9.S (ffi_closure_v9): New.
1078
1079 2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
1080
1081 * include/ffi.h.in: Added FFI_STDCALL ffi_type
1082 enumeration for X86_WIN32.
1083 * src/x86/win32.S: Added ffi_call_STDCALL function
1084 definition.
1085 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1086 switch cases for recognising FFI_STDCALL and
1087 calling ffi_call_STDCALL if target is X86_WIN32.
1088 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1089 stdcall versions of the "my_strlen" and "many"
1090 test functions (for X86_WIN32).
1091 Added test cases to test stdcall invocation using
1092 these functions.
1093
1094 2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
1095
1096 * src/sh/sysv.S: Add DWARF2 unwind info.
1097
1098 2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
1099
1100 * src/s390/sysv.S (.eh_frame section): Make section read-only.
1101
1102 2002-11-26 Jim Wilson <wilson@redhat.com>
1103
1104 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1105
1106 2002-11-23 H.J. Lu <hjl@gnu.org>
1107
1108 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1109 Include ../config/accross.m4.
1110 * aclocal.m4; Rebuild.
1111 * configure: Likewise.
1112
1113 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
1114
1115 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1116
1117 2002-11-11 DJ Delorie <dj@redhat.com>
1118
1119 * configure.in: Look for common files in the right place.
1120
1121 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1122
1123 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1124 raw data as _Jv_word values, not ffi_raw.
1125 (ffi_java_ptrarray_to_raw): Likewise.
1126 (ffi_java_rvalue_to_raw): New function.
1127 (ffi_java_raw_call): Call it.
1128 (ffi_java_raw_to_rvalue): New function.
1129 (ffi_java_translate_args): Call it.
1130 * src/ffitest.c (closure_test_fn): Interpret return value
1131 as ffi_arg, not int.
1132 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1133 FFI_TYPE_POINTER case.
1134 (ffi_closure_helper_SYSV): Likewise. Also, assume return
1135 values extended to word size.
1136
1137 2002-10-02 Andreas Jaeger <aj@suse.de>
1138
1139 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1140
1141 2002-10-01 Bo Thorsen <bo@smetana.suse.de>
1142
1143 * include/ffi.h.in: Fix i386 win32 compilation.
1144
1145 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1146
1147 * configure.in: Add s390x-*-linux-* target.
1148 * configure: Regenerate.
1149 * include/ffi.h.in: Define S390X for s390x targets.
1150 (FFI_CLOSURES): Define for s390/s390x.
1151 (FFI_TRAMPOLINE_SIZE): Likewise.
1152 (FFI_NATIVE_RAW_API): Likewise.
1153 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1154 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
1155 * src/s390/ffi.c: Major rework of existing code. Add support for
1156 s390x targets. Add closure support.
1157 * src/s390/sysv.S: Likewise.
1158
1159 2002-09-29 Richard Earnshaw <rearnsha@arm.com>
1160
1161 * src/arm/sysv.S: Fix typo.
1162
1163 2002-09-28 Richard Earnshaw <rearnsha@arm.com>
1164
1165 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1166 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1167 (ffi_call_SYSV): Handle soft-float.
1168
1169 2002-09-27 Bo Thorsen <bo@suse.de>
1170
1171 * include/ffi.h.in: Fix multilib x86-64 support.
1172
1173 2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1174
1175 * Makefile.am (all-multi): Fix multilib parallel build.
1176
1177 2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1178
1179 * configure.in (sh[34]*-*-linux*): Add brackets.
1180 * configure: Regenerate.
1181
1182 2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1183
1184 * Makefile.am: Add SH support.
1185 * Makefile.in: Regenerate.
1186 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1187 * configure: Regenerate.
1188 * include/ffi.h.in: Add SH support.
1189 * src/sh/ffi.c: New file.
1190 * src/sh/sysv.S: New file.
1191 * src/types.c: Add SH support.
1192
1193 2002-07-16 Bo Thorsen <bo@suse.de>
1194
1195 * src/x86/ffi64.c: New file that adds x86-64 support.
1196 * src/x86/unix64.S: New file that handles argument setup for
1197 x86-64.
1198 * src/x86/sysv.S: Don't use this on x86-64.
1199 * src/x86/ffi.c: Don't use this on x86-64.
1200 Remove unused vars.
1201 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1202 for x86-64.
1203 * src/ffitest.c (struct6): New test that tests a special case in
1204 the x86-64 ABI.
1205 (struct7): Likewise.
1206 (struct8): Likewise.
1207 (struct9): Likewise.
1208 (closure_test_fn): Silence warning about this when it's not used.
1209 (main): Add the new tests.
1210 (main): Fix a couple of wrong casts and silence some compiler warnings.
1211 * include/ffi.h.in: Add x86-64 ABI definition.
1212 * fficonfig.h.in: Regenerate.
1213 * Makefile.am: Add x86-64 support.
1214 * configure.in: Likewise.
1215 * Makefile.in: Regenerate.
1216 * configure: Likewise.
1217
1218 2002-06-24 Bo Thorsen <bo@suse.de>
1219
1220 * src/types.c: Merge settings for similar architectures.
1221 Add x86-64 sizes and alignments.
1222
1223 2002-06-23 Bo Thorsen <bo@suse.de>
1224
1225 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1226 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1227 * src/mips/ffi.c (ffi_prep_args): Likewise.
1228 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1229
1230 2002-07-18 H.J. Lu (hjl@gnu.org)
1231
1232 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1233 (libffi_la_SOURCES): Support MIPS_LINUX.
1234 (libffi_convenience_la_SOURCES): Likewise.
1235 * Makefile.in: Regenerated.
1236
1237 * configure.in (mips64*-*): Skip.
1238 (mips*-*-linux*): New.
1239 * configure: Regenerated.
1240
1241 * src/mips/ffi.c: Include <sgidefs.h>.
1242
1243 2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1244
1245 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1246
1247 2002-05-27 Roger Sayle <roger@eyesopen.com>
1248
1249 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1250
1251 2002-05-27 Bo Thorsen <bo@suse.de>
1252
1253 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1254 fix formatting.
1255
1256 2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1257
1258 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1259 beginning of function (for older apple cc).
1260
1261 2002-05-08 Alexandre Oliva <aoliva@redhat.com>
1262
1263 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1264 script entry, and set LD to it when configuring multilibs.
1265 * configure: Rebuilt.
1266
1267 2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1268
1269 * configure.in (sparc64-*-netbsd*): Add target.
1270 (sparc-*-netbsdelf*): Likewise.
1271 * configure: Regenerate.
1272
1273 2002-04-28 David S. Miller <davem@redhat.com>
1274
1275 * configure.in, configure: Fix SPARC test in previous change.
1276
1277 2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1278
1279 * Makefile.am: Add Linux for S/390 support.
1280 * Makefile.in: Regenerate.
1281 * configure.in: Add Linux for S/390 support.
1282 * configure: Regenerate.
1283 * include/ffi.h.in: Add Linux for S/390 support.
1284 * src/s390/ffi.c: New file from libffi CVS tree.
1285 * src/s390/sysv.S: New file from libffi CVS tree.
1286
1287 2002-04-28 Jakub Jelinek <jakub@redhat.com>
1288
1289 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1290 %r_disp32().
1291 * src/sparc/v8.S: Use it.
1292 * src/sparc/v9.S: Likewise.
1293 * fficonfig.h.in: Rebuilt.
1294 * configure: Rebuilt.
1295
1296 2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1297
1298 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1299 correctly.
1300 * src/ia64/unix.S: Add unwind information. Fix comments.
1301 Save sp in a way that's compatible with unwind info.
1302 (ffi_call_unix): Correctly restore sp in all cases.
1303 * src/ia64/ffi.c: Add, fix comments.
1304
1305 2002-04-08 Jakub Jelinek <jakub@redhat.com>
1306
1307 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1308
1309 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1310
1311 * configure.in (alpha*-*-netbsd*): Add target.
1312 * configure: Regenerate.
1313
1314 2002-04-04 Jeff Sturm <jsturm@one-point.com>
1315
1316 * src/sparc/v8.S: Add unwind info.
1317 * src/sparc/v9.S: Likewise.
1318
1319 2002-03-30 Krister Walfridsson <cato@df.lth.se>
1320
1321 * configure.in: Enable i*86-*-netbsdelf*.
1322 * configure: Rebuilt.
1323
1324 2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1325
1326 PR other/2620
1327 * src/mips/n32.s: Delete
1328 * src/mips/o32.s: Delete
1329
1330 2002-03-21 Loren J. Rittle <ljrittle@acm.org>
1331
1332 * configure.in: Enable alpha*-*-freebsd*.
1333 * configure: Rebuilt.
1334
1335 2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1336
1337 * Makefile.am: libfficonvenience -> libffi_convenience.
1338 * Makefile.in: Rebuilt.
1339
1340 * Makefile.am: Define ffitest_OBJECTS.
1341 * Makefile.in: Rebuilt.
1342
1343 2002-03-07 Andreas Tobler <toa@pop.agri.ch>
1344 David Edelsohn <edelsohn@gnu.org>
1345
1346 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1347 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1348 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1349 * Makefile.in: Regenerate.
1350 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1351 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1352 (flush_icache, flush_range): New functions.
1353 (ffi_closure_helper_DARWIN): New function.
1354 * src/powerpc/aix_closure.S: New file.
1355 * src/powerpc/darwin_closure.S: New file.
1356
1357 2002-02-24 Jeff Sturm <jsturm@one-point.com>
1358
1359 * include/ffi.h.in: Add typedef for ffi_arg.
1360 * src/ffitest.c (main): Declare rint with ffi_arg.
1361
1362 2002-02-21 Andreas Tobler <toa@pop.agri.ch>
1363
1364 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1365 number of GPRs for floating-point arguments.
1366
1367 2002-01-31 Anthony Green <green@redhat.com>
1368
1369 * configure: Rebuilt.
1370 * configure.in: Replace CHECK_SIZEOF and endian tests with
1371 cross-compiler friendly macros.
1372 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1373 macros.
1374
1375 2002-01-18 David Edelsohn <edelsohn@gnu.org>
1376
1377 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1378 * src/powerpc/aix.S (ffi_call_DARWIN): New.
1379
1380 2002-01-17 David Edelsohn <edelsohn@gnu.org>
1381
1382 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1383 (TARGET_SRC_POWERPC_AIX): New.
1384 (POWERPC_AIX): New stanza.
1385 * Makefile.in: Regenerate.
1386 * configure.in: Add AIX case.
1387 * configure: Regenerate.
1388 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1389 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1390 size. Fix "long double" support.
1391 (ffi_call): Add FFI_AIX case.
1392 * src/powerpc/aix.S: New.
1393
1394 2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1395
1396 Implement Darwin PowerPC ABI.
1397 * configure.in: Handle powerpc-*-darwin*.
1398 * Makefile.am: Set source files for POWERPC_DARWIN.
1399 * configure: Rebuilt.
1400 * Makefile.in: Rebuilt.
1401 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1402 POWERPC_DARWIN.
1403 * src/powerpc/darwin.S: New file.
1404 * src/powerpc/ffi_darwin.c: New file.
1405
1406 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1407
1408 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1409
1410 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1411
1412 * src/x86/sysv.S: Avoid gas-only .balign directive.
1413 Use C style comments.
1414
1415 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1416
1417 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1418 Fixes PR bootstrap/3563.
1419
1420 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1421
1422 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1423
1424 2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1425
1426 * configure.in: Recognize sparc*-sun-* host.
1427 * configure: Regenerate.
1428
1429 2001-06-06 Andrew Haley <aph@redhat.com>
1430
1431 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1432
1433 2001-06-03 Andrew Haley <aph@redhat.com>
1434
1435 * src/alpha/osf.S: Add unwind info.
1436 * src/powerpc/sysv.S: Add unwind info.
1437 * src/powerpc/ppc_closure.S: Likewise.
1438
1439 2000-05-31 Jeff Sturm <jsturm@one-point.com>
1440
1441 * configure.in: Fix AC_ARG_ENABLE usage.
1442 * configure: Rebuilt.
1443
1444 2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1445
1446 * configure.in: Remove warning about beta code.
1447 * configure: Rebuilt.
1448
1449 2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1450
1451 * src/ia64/unix.S: Restore stack pointer when returning from
1452 ffi_closure_UNIX.
1453 * src/ia64/ffi.c: Fix typo in comment.
1454
1455 2001-04-18 Jim Wilson <wilson@redhat.com>
1456
1457 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1458 to eliminate RAW DV.
1459
1460 2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1461
1462 * Makefile.am: Make a libtool convenience library.
1463 * Makefile.in: Rebuilt.
1464
1465 2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1466
1467 * configure.in: Use different syntax for subdirectory creation.
1468 * configure: Rebuilt.
1469
1470 2001-03-27 Jon Beniston <jon@beniston.com>
1471
1472 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1473 * configure: Rebuilt.
1474 * Makefile.am: Added X86_WIN32 target support.
1475 * Makefile.in: Rebuilt.
1476
1477 * include/ffi.h.in: Added X86_WIN32 target support.
1478
1479 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1480 * src/types.c: Added X86_WIN32 target support.
1481
1482 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1483 stuff removed and made to work with CygWin's gas.
1484
1485 2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1486
1487 * configure.in: Make target subdirectory in build dir.
1488 * Makefile.am: Override suffix based rules to specify correct output
1489 subdirectory.
1490 * Makefile.in: Rebuilt.
1491 * configure: Rebuilt.
1492
1493 2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
1494
1495 * src/powerpc/ppc_closure.S: New file.
1496 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1497 involving long long and register pairs.
1498 (ffi_prep_closure): New function.
1499 (flush_icache): Likewise.
1500 (ffi_closure_helper_SYSV): Likewise.
1501 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1502 (FFI_TRAMPOLINE_SIZE): Likewise.
1503 (FFI_NATIVE_RAW_API): Likewise.
1504 * Makefile.in: Rebuilt.
1505 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1506 (TARGET_SRC_POWERPC): Likewise.
1507
1508 2001-03-19 Tom Tromey <tromey@redhat.com>
1509
1510 * Makefile.in: Rebuilt.
1511 * Makefile.am (ffitest_LDFLAGS): New macro.
1512
1513 2001-03-02 Nick Clifton <nickc@redhat.com>
1514
1515 * include/ffi.h.in: Remove RCS ident string.
1516 * include/ffi_mips.h: Remove RCS ident string.
1517 * src/debug.c: Remove RCS ident string.
1518 * src/ffitest.c: Remove RCS ident string.
1519 * src/prep_cif.c: Remove RCS ident string.
1520 * src/types.c: Remove RCS ident string.
1521 * src/alpha/ffi.c: Remove RCS ident string.
1522 * src/alpha/osf.S: Remove RCS ident string.
1523 * src/arm/ffi.c: Remove RCS ident string.
1524 * src/arm/sysv.S: Remove RCS ident string.
1525 * src/mips/ffi.c: Remove RCS ident string.
1526 * src/mips/n32.S: Remove RCS ident string.
1527 * src/mips/o32.S: Remove RCS ident string.
1528 * src/sparc/ffi.c: Remove RCS ident string.
1529 * src/sparc/v8.S: Remove RCS ident string.
1530 * src/sparc/v9.S: Remove RCS ident string.
1531 * src/x86/ffi.c: Remove RCS ident string.
1532 * src/x86/sysv.S: Remove RCS ident string.
1533
1534 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1535
1536 * include/ffi.h.in: Change sourceware.cygnus.com references to
1537 gcc.gnu.org.
1538
1539 2000-12-09 Richard Henderson <rth@redhat.com>
1540
1541 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1542 (ffi_closure_osf_inner): Index rather than increment avalue
1543 and arg_types. Give ffi_closure_osf the raw return value type.
1544 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1545 promotion.
1546
1547 2000-12-07 Richard Henderson <rth@redhat.com>
1548
1549 * src/raw_api.c (ffi_translate_args): Fix typo.
1550 (ffi_prep_closure): Likewise.
1551
1552 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1553 FFI_TRAMPOLINE_SIZE.
1554 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1555 cif->bytes for new ffi_call_osf implementation.
1556 (ffi_prep_args): Absorb into ...
1557 (ffi_call): ... here. Do all stack allocation here and
1558 avoid a callback function.
1559 (ffi_prep_closure, ffi_closure_osf_inner): New.
1560 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1561 (ffi_closure_osf): New.
1562
1563 2000-09-10 Alexandre Oliva <aoliva@redhat.com>
1564
1565 * config.guess, config.sub, install-sh: Removed.
1566 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1567 * Makefile.in: Rebuilt.
1568
1569 * acinclude.m4: Include libtool macros from the top level.
1570 * aclocal.m4, configure: Rebuilt.
1571
1572 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
1573
1574 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1575 * configure: Rebuilt.
1576
1577 2000-05-11 Scott Bambrough <scottb@netwinder.org>
1578
1579 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1580 memory correctly. Use conditional instructions, not branches where
1581 possible.
1582
1583 2000-05-04 Tom Tromey <tromey@cygnus.com>
1584
1585 * configure: Rebuilt.
1586 * configure.in: Match `arm*-*-linux-*'.
1587 From Chris Dornan <cdornan@arm.com>.
1588
1589 2000-04-28 Jakub Jelinek <jakub@redhat.com>
1590
1591 * Makefile.am (SUBDIRS): Define.
1592 (AM_MAKEFLAGS): Likewise.
1593 (Multilib support.): Add section.
1594 * Makefile.in: Rebuilt.
1595 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
1596 New variables. Set for gcc using -print-multi-lib. Export them
1597 to libtool.
1598 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1599 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1600 for -shared links.
1601 (extra_compiler_flags_value, extra_compiler_flags): Check these
1602 for extra compiler options which need to be passed down in
1603 compiler_flags.
1604
1605 2000-04-16 Anthony Green <green@redhat.com>
1606
1607 * configure: Rebuilt.
1608 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1609
1610 2000-04-14 Jakub Jelinek <jakub@redhat.com>
1611
1612 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
1613 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1614 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1615 Replace all void * sizeofs with sizeof(int).
1616 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1617 different than DOUBLE.
1618 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1619 (ffi_prep_args_v9): New function.
1620 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1621 (ffi_V9_return_struct): New function.
1622 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1623 32bit code (not yet cross-arch calls).
1624 * src/sparc/v8.S: Add struct return delay nop.
1625 Handle long long.
1626 * src/sparc/v9.S: New file.
1627 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1628 is used on sparc64 only for structures larger than 32 bytes.
1629 Pass by reference for structures is done for structure arguments
1630 larger than 16 bytes.
1631 * src/ffitest.c (main): Use 64bit rint on sparc64.
1632 Run long long tests on sparc.
1633 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1634 sparc64.
1635 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1636 on sparc64.
1637 * configure.in (sparc-*-linux*): New supported target.
1638 (sparc64-*-linux*): Likewise.
1639 * configure: Rebuilt.
1640 * Makefile.am: Add v9.S to SPARC files.
1641 * Makefile.in: Likewise.
1642 (LINK): Surround $(CCLD) into double quotes, so that multilib
1643 compiles work correctly.
1644
1645 2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1646
1647 * configure: Rebuilt.
1648 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1649 proposed by Bryce McKinlay.
1650
1651 2000-03-20 Tom Tromey <tromey@cygnus.com>
1652
1653 * Makefile.in: Hand edit for java_raw_api.lo.
1654
1655 2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1656
1657 * config.guess, config.sub: Update from the gcc tree.
1658 Fix for PR libgcj/168.
1659
1660 2000-03-03 Tom Tromey <tromey@cygnus.com>
1661
1662 * Makefile.in: Fixed ia64 by hand.
1663
1664 * configure: Rebuilt.
1665 * configure.in (--enable-multilib): New option.
1666 (libffi_basedir): New subst.
1667 (AC_OUTPUT): Added multilib code.
1668
1669 2000-03-02 Tom Tromey <tromey@cygnus.com>
1670
1671 * Makefile.in: Rebuilt.
1672 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1673 directory name.
1674
1675 2000-02-25 Hans Boehm <boehm@acm.org>
1676
1677 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1678 files.
1679 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1680 list.
1681 (ffi_prep_raw_closure): Use ffi_translate_args, not
1682 ffi_closure_translate.
1683 * src/java_raw_api.c: New file.
1684 * src/ffitest.c (closure_test_fn): New function.
1685 (main): Define `rint' as long long on IA64. Added new test when
1686 FFI_CLOSURES is defined.
1687 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1688 (ffi_abi): Recognize IA64.
1689 (ffi_raw): Added `flt' field.
1690 Added "Java raw API" code.
1691 * configure.in: Recognize ia64.
1692 * Makefile.am (TARGET_SRC_IA64): New macro.
1693 (libffi_la_common_SOURCES): Added java_raw_api.c.
1694 (libffi_la_SOURCES): Define in IA64 case.
1695
1696 2000-01-04 Tom Tromey <tromey@cygnus.com>
1697
1698 * Makefile.in: Rebuilt with newer automake.
1699
1700 1999-12-31 Tom Tromey <tromey@cygnus.com>
1701
1702 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1703
1704 1999-09-01 Tom Tromey <tromey@cygnus.com>
1705
1706 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1707 undefs.
1708 * fficonfig.h.in: Rebuilt.
1709 * configure: Rebuilt.
1710 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1711 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1712 * acconfig.h: Don't #undef PACKAGE or VERSION.
1713
1714 1999-08-09 Anthony Green <green@cygnus.com>
1715
1716 * include/ffi.h.in: Try to work around messy header problem
1717 with PACKAGE and VERSION.
1718
1719 * configure: Rebuilt.
1720 * configure.in: Change version to 2.00-beta.
1721
1722 * fficonfig.h.in: Rebuilt.
1723 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1724
1725 * src/x86/ffi.c (ffi_raw_call): Rename.
1726
1727 1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1728
1729 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1730 (ffi_prep_incoming_args_SYSV): Ditto.
1731 (ffi_prep_closure): Ditto.
1732 (ffi_closure_raw_SYSV): Ditto.
1733 (ffi_prep_raw_closure): More ditto.
1734 (ffi_call_raw): Final ditto.
1735
1736 * include/ffi.h.in: Add definitions for closure and raw API.
1737
1738 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
1739 FFI_TYPE_UINT64.
1740
1741 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1742
1743 * src/raw_api.c: New file.
1744
1745 * include/ffi.h.in (ffi_raw): New type.
1746 (UINT_ARG, SINT_ARG): New defines.
1747 (ffi_closure, ffi_raw_closure): New types.
1748 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
1749
1750 * configure.in: Add check for endianness and sizeof void*.
1751
1752 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1753 instead of directly.
1754
1755 * configure: Rebuilt.
1756
1757 Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1758
1759 * configure.in: Add x86 and powerpc BeOS configurations.
1760 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1761
1762 1999-05-09 Anthony Green <green@cygnus.com>
1763
1764 * configure.in: Add warning about this being beta code.
1765 Remove src/Makefile.am from the picture.
1766 * configure: Rebuilt.
1767
1768 * Makefile.am: Move logic from src/Makefile.am. Add changes
1769 to support libffi as a target library.
1770 * Makefile.in: Rebuilt.
1771
1772 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1773 Upgraded to new autoconf, automake, libtool.
1774
1775 * README: Tweaks.
1776
1777 * LICENSE: Update copyright date.
1778
1779 * src/Makefile.am, src/Makefile.in: Removed.
1780
1781 1998-11-29 Anthony Green <green@cygnus.com>
1782
1783 * include/ChangeLog: Removed.
1784 * src/ChangeLog: Removed.
1785 * src/mips/ChangeLog: Removed.
1786 * src/sparc/ChangeLog: Remboved.
1787 * src/x86/ChangeLog: Removed.
1788
1789 * ChangeLog.v1: Created.