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