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