]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
special.exp (cxx_options): Add -shared-libgcc.
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
c16be7d5
EB
12005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2
3 * testsuite/libffi.special/special.exp (cxx_options): Add
4 -shared-libgcc.
5
5df07255
RH
62004-12-31 Richard Henderson <rth@redhat.com>
7
8 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
9 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
10 offset parameters with a type parameter; deduce size and structure
11 alignment. Update all users.
12
81a69b13
RH
132004-12-31 Richard Henderson <rth@redhat.com>
14
15 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
16 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
17 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
18 into ffi_prep_closure.
19 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
20 from scratch.
21
d833cfb0
RH
222004-12-27 Richard Henderson <rth@redhat.com>
23
24 * src/x86/unix64.S: Fix typo in unwind info.
25
1a0f488c
RH
262004-12-25 Richard Henderson <rth@redhat.com>
27
28 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
29 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
30 (merge_classes): Check for it.
31 (SSE_CLASS_P): New.
32 (classify_argument): Pass byte_offset by value; perform all updates
33 inside struct case.
34 (examine_argument): Add classes argument; handle
35 X86_64_COMPLEX_X87_CLASS.
36 (ffi_prep_args): Merge into ...
37 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
38 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
39 (ffi_fill_return_value): Remove.
40 (ffi_prep_closure): Remove dead assert.
41 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
42 Rewrite to use struct register_args instead of va_list. Create
43 flags for handling structure returns.
44 * src/x86/unix64.S: Remove dead strings.
45 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
46 stack frame with ffi_call. Handle structure returns properly.
47 (float2sse, floatfloat2sse, double2sse): Remove.
48 (sse2float, sse2double, sse2floatfloat): Remove.
49 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
50 to handle structure returns properly.
51
7994d50c
DE
522004-12-08 David Edelsohn <edelsohn@gnu.org>
53
54 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
55 PICFLAG.
56 * Makefile.in: Regenerated.
57
afabd8e6
RS
582004-12-02 Richard Sandiford <rsandifo@redhat.com>
59
60 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
61 * configure, aclocal.m4, Makefile.in: Regenerate.
62 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
63
2539bffe
KC
642004-11-29 Kelley Cook <kcook@gcc.gnu.org>
65
66 * configure: Regenerate for libtool change.
67
767f726e
KC
682004-11-25 Kelley Cook <kcook@gcc.gnu.org>
69
70 * configure: Regenerate for libtool reversion.
71
2c92e90f
KC
722004-11-24 Kelley Cook <kcook@gcc.gnu.org>
73
74 * configure: Regenerate for libtool change.
75
1df8e834
JDA
762004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
77
78 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
79
802004-11-23 Richard Sandiford <rsandifo@redhat.com>
81
82 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
83 of jal. Use an absolute encoding for the frame information.
84
852004-11-23 Kelley Cook <kcook@gcc.gnu.org>
86
87 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
88 * acinclude.m4: Delete logic for sincludes.
89 * aclocal.m4, Makefile.in, configure: Regenerate.
90 * include/Makefile: Likewise.
91 * testsuite/Makefile: Likewise.
92
bf02e7fa
EB
932004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
94
95 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
96 on a 8-byte boundary.
97 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
98
f20459f1
RE
992004-10-27 Richard Earnshaw <rearnsha@arm.com>
100
101 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
102 long long values. Round stack allocation to a multiple of 8 bytes
103 for ATPCS compatibility.
104 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
105 names. Handle returning long long types. Add Thumb and interworking
106 support. Improve soft-float code.
107
fdc69597
RE
1082004-10-27 Richard Earnshaw <rearnsha@arm.com>
109
110 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
111 (libffi_exit): New function.
112 (libffi_init): Build the testglue wrapper if needed.
113
1e02510f
EB
1142004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
115
116 PR other/18138
117 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
118
d9a193b2
KI
1192004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
120
121 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
122
1fddb058
KK
1232004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
124
125 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
126 * testsuite/libffi.call/float3.c: New test case.
127
e0d3b452
KK
1282004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
129
130 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
131 the function returning a structure pointed with R2.
132 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
133 the structure return value if T bit set. Emit position
134 independent code and EH data if PIC.
135
a472e9d4
KI
1362004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
137
138 * Makefile.am: Add m32r support.
139 * configure.ac: Likewise.
140 * Makefile.in: Regenerate.
141 * confiugre: Regenerate.
142 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
143 (uint64, sint64, double, longdouble)
144 * src/m32r: New directory.
145 * src/m32r/ffi.c: New file.
146 * src/m32r/sysv.S: Likewise.
147 * src/m32r/ffitarget.h: Likewise.
148
3d47e9ca
KK
1492004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
150
151 * testsuite/libffi.call/negint.c: New test case.
152
fc9051dd
L
1532004-09-14 H.J. Lu <hongjiu.lu@intel.com>
154
155 PR libgcj/17465
156 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
157 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
158 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
159 DYLD_LIBRARY_PATH.
160
2010caea
AT
1612004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
162
163 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
164 * testsuite/libffi.call/promotion.c: Likewise.
165 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
166 whitespaces.
167 * testsuite/libffi.call/return_sc.c: Likewise.
168 * testsuite/libffi.call/return_uc.c: Likewise.
169
894be816
AT
1702004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
171
172 * src/powerpc/darwin.S: Fix comments and identation.
173 * src/powerpc/darwin_closure.S: Likewise.
174
2fe7404a
AT
1752004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
176
177 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
178 (ffi_prep_args): Handle longdouble arguments.
179 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
180 longdouble.
181 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
182 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
183 values.
184 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
185 * src/types.c: Defined longdouble size and alignment for darwin.
186
16070e45
AT
1872004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
188
189 * src/powerpc/aix.S: Remove whitespaces.
190 * src/powerpc/aix_closure.S: Likewise.
191 * src/powerpc/asm.h: Likewise.
192 * src/powerpc/ffi.c: Likewise.
193 * src/powerpc/ffitarget.h: Likewise.
194 * src/powerpc/linux64.S: Likewise.
195 * src/powerpc/linux64_closure.S: Likewise.
196 * src/powerpc/ppc_closure.S: Likewise.
197 * src/powerpc/sysv.S: Likewise.
198
88d8c771
AG
1992004-08-30 Anthony Green <green@redhat.com>
200
201 * Makefile.am: Add frv support.
202 * Makefile.in, testsuite/Makefile.in: Rebuilt.
203 * configure.ac: Read configure.host.
204 * configure.in: Read configure.host.
205 * configure.host: New file. frv-elf needs libgloss.
206 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
a23adb4d 207 alignment. This is needed to frv and shouldn't harm the others.
88d8c771
AG
208 * include/ffi_common.h (ALIGN_DOWN): New macro.
209 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
210
4c5f37d5
DD
2112004-08-24 David Daney <daney@avtrex.com>
212
213 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
214 * testsuite/libffi.call/closure_fn1.c: Likewise.
215 * testsuite/libffi.call/closure_fn2.c Likewise.
216 * testsuite/libffi.call/closure_fn3.c: Likewise.
217 * testsuite/libffi.call/closure_fn4.c: Likewise.
218 * testsuite/libffi.call/closure_fn5.c: Likewise.
219 * testsuite/libffi.call/cls_18byte.c: Likewise.
220 * testsuite/libffi.call/cls_19byte.c: Likewise.
221 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
222 * testsuite/libffi.call/cls_20byte.c: Likewise.
223 * testsuite/libffi.call/cls_20byte1.c: Likewise.
224 * testsuite/libffi.call/cls_24byte.c: Likewise.
225 * testsuite/libffi.call/cls_2byte.c: Likewise.
226 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
227 * testsuite/libffi.call/cls_3byte1.c: Likewise.
228 * testsuite/libffi.call/cls_3byte2.c: Likewise.
229 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
230 * testsuite/libffi.call/cls_4byte.c: Likewise.
231 * testsuite/libffi.call/cls_64byte.c: Likewise.
232 * testsuite/libffi.call/cls_6byte.c: Likewise.
233 * testsuite/libffi.call/cls_7byte.c: Likewise.
234 * testsuite/libffi.call/cls_8byte.c: Likewise.
235 * testsuite/libffi.call/cls_9byte1.c: Likewise.
236 * testsuite/libffi.call/cls_9byte2.c: Likewise.
237 * testsuite/libffi.call/cls_align_double.c: Likewise.
238 * testsuite/libffi.call/cls_align_float.c: Likewise.
239 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
240 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
241 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
242 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
243 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
244 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
245 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
246 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
247 * testsuite/libffi.call/cls_double.c: Likewise.
248 * testsuite/libffi.call/cls_float.c: Likewise.
249 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
250 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
251 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
252 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
253 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
254 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
255 * testsuite/libffi.call/cls_schar.c: Likewise.
256 * testsuite/libffi.call/cls_sint.c: Likewise.
257 * testsuite/libffi.call/cls_sshort.c: Likewise.
258 * testsuite/libffi.call/cls_uchar.c: Likewise.
259 * testsuite/libffi.call/cls_uint.c: Likewise.
260 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
261 * testsuite/libffi.call/cls_ushort.c: Likewise.
262 * testsuite/libffi.call/nested_struct.c: Likewise.
263 * testsuite/libffi.call/nested_struct1.c: Likewise.
264 * testsuite/libffi.call/nested_struct2.c: Likewise.
265 * testsuite/libffi.call/nested_struct3.c: Likewise.
266 * testsuite/libffi.call/problem1.c: Likewise.
267 * testsuite/libffi.special/unwindtest.cc: Likewise.
268 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
269 to zero.
270 * testsuite/libffi.call/cls_16byte.c: Likewise.
271 * testsuite/libffi.call/cls_5byte.c: Likewise.
272
39dca114
DD
2732004-08-23 David Daney <daney@avtrex.com>
274
275 PR libgcj/13141
276 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
277 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
278 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
279 parameters and return types.
280 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
281 (ffi_prep_closure): Ditto.
282 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
283 alignment calculations.
284 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
285 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
286
b790003a
CM
2872004-08-14 Casey Marshall <csm@gnu.org>
288
289 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
290 contain `FFI_TYPE_UINT64' as return type for any 64-bit
291 integer (O32 ABI only).
292 (ffi_prep_closure): new function.
293 (ffi_closure_mips_inner_O32): new function.
294 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
295 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
296 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
297 64 bit integers correctly.
298 (ffi_closure_O32): new function.
299 Added DWARF-2 unwind info for both functions.
300
547d71a1
AH
3012004-08-10 Andrew Haley <aph@redhat.com>
302
303 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
304
98a5bb3b
RM
3052004-08-01 Robert Millan <robertmh@gnu.org>
306
307 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
308 * configure: Regenerate.
309
4d447364
MR
3102004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
311
312 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
313 and mmap() explicitly instead of relying on preset autoconf cache
314 variables.
315 * aclocal.m4: Regenerate.
316 * configure: Regenerate.
317
e5dce82f
UW
3182004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
319
320 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
321 (ffi_check_float_struct): Remove unused prototype.
322
e6a0022b
GK
3232004-06-30 Geoffrey Keating <geoffk@apple.com>
324
325 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
326 character on Darwin, use '\n\t' instead.
327
5a2d52ca
MK
3282004-06-26 Matthias Klose <doko@debian.org>
329
330 * libtool-version: Fix typo in revision/age.
331
401844ef
MK
3322004-06-17 Matthias Klose <doko@debian.org>
333
334 * libtool-version: New.
335 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
336 * Makefile.in: Regenerate.
337
94632047 3382004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
339
340 * Makefile.am: Remove useless multilib rules.
341 * Makefile.in: Regenerate.
342 * aclocal.m4: Regenerate with automake 1.8.5.
343 * configure.ac: Remove useless multilib configury.
344 * configure: Regenerate.
345
94632047 3462004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
347
348 * .cvsignore: New file.
349
37c849e4
JJ
3502004-06-10 Jakub Jelinek <jakub@redhat.com>
351
352 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
353 fp_done.
354 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
355 changed from 8.
356
cb623172
SM
3572004-06-06 Sean McNeil <sean@mcneil.com>
358
359 * configure.ac: Add x86_64-*-freebsd* support.
360 * configure: Regenerate.
361
c9b93377
JB
3622004-04-26 Joe Buck <jbuck@welsh-buck.org>
363
364 Bug 15093
365 * configure.ac: Test for existence of mmap and sys/mman.h before
366 checking blacklist. Fix suggested by Jim Wilson.
367 * configure: Regenerate.
368
cf90fd1b
MA
3692004-04-26 Matt Austern <austern@apple.com>
370
371 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
372 FDE location.
373 * src/powerpc/darwin_closure.S: Likewise.
374
67781b44
AT
3752004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
376
377 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
378 error. Reported by Thomas Heller <theller@python.net>.
379 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
380 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
381
14b078a8
MK
3822004-03-20 Matthias Klose <doko@debian.org>
383
384 * src/pa/linux.S: Fix typo.
385
d65a810f
MK
3862004-03-19 Matthias Klose <doko@debian.org>
387
67781b44 388 * Makefile.am: Update.
d65a810f
MK
389 * Makefile.in: Regenerate.
390 * src/pa/ffi.h.in: Remove.
391 * src/pa/ffitarget.h: New file.
392
3932004-02-10 Randolph Chung <tausq@debian.org>
394
395 * Makefile.am: Add PA support.
396 * Makefile.in: Regenerate.
397 * include/Makefile.in: Regenerate.
398 * configure.ac: Add PA target.
399 * configure: Regenerate.
400 * src/pa/ffi.c: New file.
401 * src/pa/ffi.h.in: Add PA support.
402 * src/pa/linux.S: New file.
403 * prep_cif.c: Add PA support.
404
09cababc
HY
4052004-03-16 Hosaka Yuji <hos@tamanegi.org>
406
407 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
408 double.
409 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
410 with ecif->cif->flags.
411 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
412 with cif->flags.
413 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
414 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
415 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
416 sc_retstruct2b): Add for 1 or 2-bytes struct case.
417
0e8d0c5f
KC
4182004-03-15 Kelley Cook <kcook@gcc.gnu.org>
419
420 * configure.in: Rename file to ...
421 * configure.ac: ... this.
422 * fficonfig.h.in: Regenerate.
423 * Makefile.in: Regenerate.
424 * include/Makefile.in: Regenerate.
425 * testsuite/Makefile.in: Regenerate.
426
b8d50739
MA
4272004-03-12 Matt Austern <austern@apple.com>
428
429 * src/powerpc/darwin.S: Fix EH information so it corresponds to
430 changes in EH format resulting from addition of linkonce support.
431 * src/powerpc/darwin_closure.S: Likewise.
09cababc 432
3ed8e5b6
AT
4332004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
434 Paolo Bonzini <bonzini@gnu.org>
435
436 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
437 Remove VPATH. Remove rules for object files. Remove multilib support.
438 (AM_CCASFLAGS): Add.
439 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
440 (AC_PREREQ): Bump version to 2.59.
441 (AC_INIT): Fill with version info and bug address.
442 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
443 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
444 De-precious CC so that the right flags are passed down to multilibs.
445 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
446 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
447 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
448 * configure: Rebuilt.
449 * aclocal.m4: Likewise.
450 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
451 * fficonfig.h.in: Likewise.
452
254ea477
AS
4532004-03-11 Andreas Schwab <schwab@suse.de>
454
455 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
456 arguments from fp registers only for the first 8 parameter slots.
457 Don't convert a float parameter when passed in memory.
458
3beb1315
HPN
4592004-03-09 Hans-Peter Nilsson <hp@axis.com>
460
461 * configure: Regenerate for config/accross.m4 correction.
462
fecf735c
MK
4632004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
464
465 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
466 ecif->cif->bytes to bytes.
467 (ffi_prep_cif_machdep): Add braces around nested if statement.
468
4243752c
AM
4692004-02-09 Alan Modra <amodra@bigpond.net.au>
470
12001e0f
AM
471 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
472
4243752c
AM
473 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
474 (ffi_closure_helper_LINUX64): Fix typo.
475 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
476 for powerpc64-*-*.
477 * testsuite/libffi.call/float.c: Likewise.
478 * testsuite/libffi.call/float2.c: Likewise.
479
bf310028
AM
4802004-02-08 Alan Modra <amodra@bigpond.net.au>
481
482 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
483 long double function return and long double arg handling.
484 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
485 Use "end_pfr" instead of "nf". Correct long double handling.
486 Localise "temp".
487 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
488 return value.
489 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
490 space for long double return value. Adjust stack frame and offsets.
491 Load f2 long double return.
492
dd5f9ea2
AM
4932004-02-07 Alan Modra <amodra@bigpond.net.au>
494
495 * src/types.c: Use 16 byte long double for POWERPC64.
496
0ce78f01
EB
4972004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
498
499 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
500 when the structure return address is passed in %o0.
501 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
502 (ffi_v9_layout_struct): Align the field following a nested structure
503 on a word boundary. Use memmove instead of memcpy.
504 (ffi_call): Update call to ffi_V9_return_struct.
505 (ffi_prep_closure): Define 'ctx' only for V8.
506 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
507 and ffi_closure_sparc_inner_v9.
508 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
509 Always skip the structure return address. For structures and long
510 doubles, copy the argument directly.
511 (ffi_closure_sparc_inner_v9): Skip the structure return address only
512 if required. Shift the maximum floating-point slot accordingly. For
513 big structures, copy the argument directly; otherwise, left-justify the
514 argument and call ffi_v9_layout_struct to lay out the structure on
515 the stack.
516 * src/sparc/v8.S: Undef STACKFRAME before defining it.
517 (ffi_closure_v8): Pass the structure return address. Update call to
518 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
519 Skip the 'unimp' insn when returning long doubles and structures.
520 * src/sparc/v9.S: Undef STACKFRAME before defining it.
521 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
522 FFI_TYPE_INT handling. Load structures both in integers and
523 floating-point registers on return.
524 * README: Update status of the SPARC port.
525
7fcc1d9b
AT
5262004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
527
528 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
529 as of type ffi_arg.
530 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
531
6ed0ecaf
UW
5322004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
533
534 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
535 value as of type ffi_arg, not unsigned int.
536
c930d8a5
MR
5372004-01-21 Michael Ritzert <ritzert@t-online.de>
538
539 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
540 of the LHS.
541
7b2e3e60
AT
5422004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
543
544 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
545 Solaris.
546
2e89756b
RO
5472004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
548
549 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
550 to void *.
551
628b26f8
RH
5522003-12-10 Richard Henderson <rth@redhat.com>
553
554 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
555 size_t instead of int.
556
0ee646d6
HY
5572003-12-04 Hosaka Yuji <hos@tamanegi.org>
558
559 * testsuite/libffi.call/many_win32.c: Include <float.h>.
560 * testsuite/libffi.call/many_win32.c (main): Replace variable
561 int i with unsigned long ul.
562
563 * testsuite/libffi.call/cls_align_uint64.c: New test case.
564 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
565 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
566 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
567 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
568 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
569 * testsuite/libffi.call/cls_align_float.c: Likewise.
570 * testsuite/libffi.call/cls_align_double.c: Likewise.
571 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
572 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
573
2c4ed456
HY
5742003-12-02 Hosaka Yuji <hos@tamanegi.org>
575
576 PR other/13221
577 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
578 Align arguments to 32 bits.
579
d18c3386
AT
5802003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
581
582 PR other/13221
583 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
584 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
585 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
586 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
587 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
588 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
589
590 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
591
88096b2a
KG
5922003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
593
594 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
595 * testsuite/libffi.special/ffitestcxx.h: Likewise.
596
3eee102e
AT
5972003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
598
599 * Makefile.in: Rebuilt.
600 * configure: Likewise.
601 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
602 the right type.
603
5196736e
AJ
6042003-11-21 Andreas Jaeger <aj@suse.de>
605 Andreas Tobler <a.tobler@schweiz.ch>
606
607 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
608 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
609 * Makefile.in: Rebuilt.
610 * aclocal.m4: Likewise.
611 * configure: Likewise.
612 * fficonfig.h.in: Likewise.
613 * testsuite/lib/libffi-dg.exp: Add include dir.
614 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
615 * testsuite/libffi.special/ffitestcxx.h: Likewise.
616 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
617 for ffi_closure if available.
618 * testsuite/libffi.call/closure_fn1.c: Likewise.
619 * testsuite/libffi.call/closure_fn2.c: Likewise.
620 * testsuite/libffi.call/closure_fn3.c: Likewise.
621 * testsuite/libffi.call/closure_fn4.c: Likewise.
622 * testsuite/libffi.call/closure_fn5.c: Likewise.
623 * testsuite/libffi.call/cls_12byte.c: Likewise.
624 * testsuite/libffi.call/cls_16byte.c: Likewise.
625 * testsuite/libffi.call/cls_18byte.c: Likewise.
626 * testsuite/libffi.call/cls_19byte.c: Likewise.
627 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
628 * testsuite/libffi.call/cls_20byte.c: Likewise.
629 * testsuite/libffi.call/cls_20byte1.c: Likewise.
630 * testsuite/libffi.call/cls_24byte.c: Likewise.
631 * testsuite/libffi.call/cls_2byte.c: Likewise.
632 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
633 * testsuite/libffi.call/cls_3byte1.c: Likewise.
634 * testsuite/libffi.call/cls_3byte2.c: Likewise.
635 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
636 * testsuite/libffi.call/cls_4byte.c: Likewise.
637 * testsuite/libffi.call/cls_5byte.c: Likewise.
638 * testsuite/libffi.call/cls_64byte.c: Likewise.
639 * testsuite/libffi.call/cls_6byte.c: Likewise.
640 * testsuite/libffi.call/cls_7byte.c: Likewise.
641 * testsuite/libffi.call/cls_8byte.c: Likewise.
642 * testsuite/libffi.call/cls_9byte1.c: Likewise.
643 * testsuite/libffi.call/cls_9byte2.c: Likewise.
644 * testsuite/libffi.call/cls_double.c: Likewise.
645 * testsuite/libffi.call/cls_float.c: Likewise.
646 * testsuite/libffi.call/cls_schar.c: Likewise.
647 * testsuite/libffi.call/cls_sint.c: Likewise.
648 * testsuite/libffi.call/cls_sshort.c: Likewise.
649 * testsuite/libffi.call/cls_uchar.c: Likewise.
650 * testsuite/libffi.call/cls_uint.c: Likewise.
651 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
652 * testsuite/libffi.call/cls_ushort.c: Likewise.
653 * testsuite/libffi.call/nested_struct.c: Likewise.
654 * testsuite/libffi.call/nested_struct1.c: Likewise.
655 * testsuite/libffi.call/nested_struct2.c: Likewise.
656 * testsuite/libffi.call/nested_struct3.c: Likewise.
657 * testsuite/libffi.call/problem1.c: Likewise.
658 * testsuite/libffi.special/unwindtest.cc: Likewise.
659
9e6c3ecb
AT
6602003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
661
662 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
663
70d8f2a1
AT
6642003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
665
666 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
667 Add -lgcc_s to additional flags.
668
ea81d2a3
AT
6692003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
670
671 * configure.in, include/Makefile.am: PR libgcj/11147, install
672 the ffitarget.h header file in a gcc versioned and target
673 dependent place.
674 * configure: Regenerated.
675 * Makefile.in, include/Makefile.in: Likewise.
676 * testsuite/Makefile.in: Likewise.
677
647af4a9
AT
6782003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
679
680 * testsuite/libffi.call/closure_fn0.c: Print result and check
681 with dg-output to make debugging easier.
682 * testsuite/libffi.call/closure_fn1.c: Likewise.
683 * testsuite/libffi.call/closure_fn2.c: Likewise.
684 * testsuite/libffi.call/closure_fn3.c: Likewise.
685 * testsuite/libffi.call/closure_fn4.c: Likewise.
686 * testsuite/libffi.call/closure_fn5.c: Likewise.
687 * testsuite/libffi.call/cls_12byte.c: Likewise.
688 * testsuite/libffi.call/cls_16byte.c: Likewise.
689 * testsuite/libffi.call/cls_18byte.c: Likewise.
690 * testsuite/libffi.call/cls_19byte.c: Likewise.
691 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
692 * testsuite/libffi.call/cls_20byte.c: Likewise.
693 * testsuite/libffi.call/cls_20byte1.c: Likewise.
694 * testsuite/libffi.call/cls_24byte.c: Likewise.
695 * testsuite/libffi.call/cls_2byte.c: Likewise.
696 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
697 * testsuite/libffi.call/cls_3byte1.c: Likewise.
698 * testsuite/libffi.call/cls_3byte2.c: Likewise.
699 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
700 * testsuite/libffi.call/cls_4byte.c: Likewise.
701 * testsuite/libffi.call/cls_5byte.c: Likewise.
702 * testsuite/libffi.call/cls_64byte.c: Likewise.
703 * testsuite/libffi.call/cls_6byte.c: Likewise.
704 * testsuite/libffi.call/cls_7byte.c: Likewise.
705 * testsuite/libffi.call/cls_8byte.c: Likewise.
706 * testsuite/libffi.call/cls_9byte1.c: Likewise.
707 * testsuite/libffi.call/cls_9byte2.c: Likewise.
708 * testsuite/libffi.call/cls_double.c: Likewise.
709 * testsuite/libffi.call/cls_float.c: Likewise.
710 * testsuite/libffi.call/cls_schar.c: Likewise.
711 * testsuite/libffi.call/cls_sint.c: Likewise.
712 * testsuite/libffi.call/cls_sshort.c: Likewise.
713 * testsuite/libffi.call/cls_uchar.c: Likewise.
714 * testsuite/libffi.call/cls_uint.c: Likewise.
715 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
716 * testsuite/libffi.call/cls_ushort.c: Likewise.
717 * testsuite/libffi.call/problem1.c: Likewise.
718
719 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
720 static.
721
ac47cc13
AT
7222003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
723
724 * testsuite/libffi.call/cls_9byte2.c: New test case.
725 * testsuite/libffi.call/cls_9byte1.c: Likewise.
726 * testsuite/libffi.call/cls_64byte.c: Likewise.
727 * testsuite/libffi.call/cls_20byte1.c: Likewise.
728 * testsuite/libffi.call/cls_19byte.c: Likewise.
729 * testsuite/libffi.call/cls_18byte.c: Likewise.
730 * testsuite/libffi.call/closure_fn4.c: Likewise.
731 * testsuite/libffi.call/closure_fn5.c: Likewise.
732 * testsuite/libffi.call/cls_schar.c: Likewise.
733 * testsuite/libffi.call/cls_sint.c: Likewise.
734 * testsuite/libffi.call/cls_sshort.c: Likewise.
735 * testsuite/libffi.call/nested_struct2.c: Likewise.
736 * testsuite/libffi.call/nested_struct3.c: Likewise.
737
f145ed6b
AT
7382003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
739
740 * testsuite/libffi.call/cls_double.c: Do a check on the result.
741 * testsuite/libffi.call/cls_uchar.c: Likewise.
742 * testsuite/libffi.call/cls_uint.c: Likewise.
743 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
744 * testsuite/libffi.call/cls_ushort.c: Likewise.
745 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
746
2b04d015
AT
7472003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
748
749 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
750 the initialization.
751
57f542b3
AT
7522003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
753
2b04d015 754 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
755 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
756
e61acf72
DD
7572003-10-22 David Daney <ddaney@avtrex.com>
758
759 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
760 __attribute__((__mode__(__SI__))) and friends.
761
2461c08b
AS
7622003-10-22 Andreas Schwab <schwab@suse.de>
763
764 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
765
1450eb7a
AT
7662003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
767
768 * configure.in: AC_LINK_FILES(ffitarget.h).
769 * configure: Regenerate.
770 * Makefile.in: Likewise.
771 * include/Makefile.in: Likewise.
772 * testsuite/Makefile.in: Likewise.
773 * fficonfig.h.in: Likewise.
774
7752003-10-21 Paolo Bonzini <bonzini@gnu.org>
776 Richard Henderson <rth@redhat.com>
777
778 Avoid that ffi.h includes fficonfig.h.
779
780 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
781 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
782 (TARGET_SRC_MIPS_SGI): Removed.
783 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
784 (MIPS_SGI): Removed.
785 (CLEANFILES): Removed.
786 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
787 targets.
788 * acconfig.h: Removed.
789 * configure.in: Compute sizeofs only for double and long double.
790 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
791 into AC_DEFINE instead of using acconfig.h. Create
792 include/ffitarget.h instead of include/fficonfig.h. Rename
793 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
794 AC_DEFINE EH_FRAME_FLAGS.
795 * include/Makefile.am (DISTCLEANFILES): New automake macro.
796 (hack_DATA): Add ffitarget.h.
797 * include/ffi.h.in: Remove all system specific definitions.
798 Declare raw API even if it is not installed, why bother?
799 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
800 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
801 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
802 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
803 * include/ffi_common.h (bool): Do not define.
804 (ffi_assert): Accept failed assertion.
805 (ffi_type_test): Return void and accept file/line.
806 (FFI_ASSERT): Pass stringized failed assertion.
807 (FFI_ASSERT_AT): New macro.
808 (FFI_ASSERT_VALID_TYPE): New macro.
809 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
810 UINT64, SINT64): Define here with gcc's __attribute__ macro
811 instead of in ffi.h
812 (FLOAT32, ALIGN): Define here instead of in ffi.h
813 * include/ffi-mips.h: Removed. Its content moved to
814 src/mips/ffitarget.h after separating assembly and C sections.
815 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
816 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
817 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
818 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
819 SIZEOF_ARG -> FFI_SIZEOF_ARG.
820 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
821 * src/debug.c (ffi_assert): Accept stringized failed assertion.
822 (ffi_type_test): Rewritten.
823 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
824 FFI_ASSERT_VALID_TYPE.
825 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
826 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
827 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
828 src/s390/ffitarget.h, src/sh/ffitarget.h,
829 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
830 src/x86/ffitarget.h: New files.
831 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
832 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
833 src/powerpc/aix.S, src/powerpc/darwin.S,
834 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
835 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
836 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
837 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
838 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
839 include fficonfig.h
840
27d54b2a
RO
8412003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
842
843 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
844 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
845
0df6970d
AT
8462003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
847
848 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
849 Used when FFI_DEBUG = 1.
850
2612ffce
AM
8512003-10-14 Alan Modra <amodra@bigpond.net.au>
852
853 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
854 and align.
855
d54f7354
RO
8562003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
857
858 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
859 FFI_MIPS_O32 for O32 ABI.
860
7a54c850
AT
8612003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
862
863 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
864 SPARC64. Cleanup whitespaces.
865
9e3bfa9b
AT
8662003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
867
868 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
869 strongarm, xscale. Cleanup whitespaces.
870 * testsuite/libffi.call/closure_fn1.c: Likewise.
871 * testsuite/libffi.call/closure_fn2.c: Likewise.
872 * testsuite/libffi.call/closure_fn3.c: Likewise.
873 * testsuite/libffi.call/cls_12byte.c: Likewise.
874 * testsuite/libffi.call/cls_16byte.c: Likewise.
875 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
876 * testsuite/libffi.call/cls_20byte.c: Likewise.
877 * testsuite/libffi.call/cls_24byte.c: Likewise.
878 * testsuite/libffi.call/cls_2byte.c: Likewise.
879 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
880 * testsuite/libffi.call/cls_3byte1.c: Likewise.
881 * testsuite/libffi.call/cls_3byte2.c: Likewise.
882 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
883 * testsuite/libffi.call/cls_4byte.c: Likewise.
884 * testsuite/libffi.call/cls_5byte.c: Likewise.
885 * testsuite/libffi.call/cls_6byte.c: Likewise.
886 * testsuite/libffi.call/cls_7byte.c: Likewise.
887 * testsuite/libffi.call/cls_8byte.c: Likewise.
888 * testsuite/libffi.call/cls_double.c: Likewise.
889 * testsuite/libffi.call/cls_float.c: Likewise.
890 * testsuite/libffi.call/cls_uchar.c: Likewise.
891 * testsuite/libffi.call/cls_uint.c: Likewise.
892 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
893 * testsuite/libffi.call/cls_ushort.c: Likewise.
894 * testsuite/libffi.call/nested_struct.c: Likewise.
895 * testsuite/libffi.call/nested_struct1.c: Likewise.
896 * testsuite/libffi.call/problem1.c: Likewise.
897 * testsuite/libffi.special/unwindtest.cc: Likewise.
898 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
899
3e86b595
DE
9002003-09-18 David Edelsohn <edelsohn@gnu.org>
901
902 * src/powerpc/aix.S: Cleanup whitespaces.
903 * src/powerpc/aix_closure.S: Likewise.
904
8d8369f8
AT
9052003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
906
907 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
908 * src/powerpc/darwin_closure.S: Likewise.
909 * src/powerpc/ffi_darwin.c: Likewise.
910
69b182fd
AT
9112003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
912 David Edelsohn <edelsohn@gnu.org>
913
914 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
915 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
916 parameter stack.
917 * src/powerpc/darwin_closure.S: Likewise.
918 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
919 according to the Darwin/AIX ABI.
920 (ffi_prep_cif_machdep): Likewise.
921 (ffi_closure_helper_DARWIN): Likewise.
922 Remove the outgoing parameter stack logic. Simplify the evaluation
923 of the different CASE types.
924 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
925 statement in the trampoline code.
926
df805cdc
KK
9272003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
928
929 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
930 for the register size.
931 (ffi_closure_helper_SYSV): Handle the structure return value
932 address correctly.
933 (ffi_closure_helper_SYSV): Return the appropriate type when
934 the registers are used for the structure return value.
935 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
936 the 64-bit return value. Update copyright years.
937
eb26c76c
RO
9382003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
939
940 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
941 srcdir for ffi_mips.h.
942
6350c02c
AM
9432003-09-12 Alan Modra <amodra@bigpond.net.au>
944
945 * src/prep_cif.c (initialize_aggregate): Include tail padding in
946 structure size.
947 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
948 placement of float result.
949 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
950 cast of "resp" for big-endian 64 bit machines.
951
5af1c806
AM
9522003-09-11 Alan Modra <amodra@bigpond.net.au>
953
954 * src/types.c (double, longdouble): Merge identical SH and ARM
955 typedefs, and add POWERPC64.
956 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
957 struct split over gpr and rest.
958 (ffi_prep_cif_machdep): Correct intarg_count for structures.
959 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
960
086a4bd7
AT
9612003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
962
963 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
964 passing correctly.
c930d8a5 965
e517f636
AM
9662003-09-09 Alan Modra <amodra@bigpond.net.au>
967
968 * configure: Regenerate.
969
6f20d627
AT
9702003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
971
972 * Makefile.am: Remove build rules for ffitest.
973 * Makefile.in: Rebuilt.
c930d8a5 974
6f20d627 9752003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
976
977 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
978 about implicit declaration of abort().
979
bbf3057b
AT
9802003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
981
982 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
983 * Makefile.in: Rebuilt.
984 * configure.in: Add dejagnu test framework.
985 * configure: Rebuilt.
986
987 * testsuite/Makefile.am: New file.
988 * testsuite/Makefile.in: Built
c930d8a5 989 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
990 * testsuite/config/default.exp: Likewise.
991 * testsuite/libffi.call/call.exp: Likewise.
992 * testsuite/libffi.call/ffitest.h: Likewise.
993 * testsuite/libffi.call/closure_fn0.c: Likewise.
994 * testsuite/libffi.call/closure_fn1.c: Likewise.
995 * testsuite/libffi.call/closure_fn2.c: Likewise.
996 * testsuite/libffi.call/closure_fn3.c: Likewise.
997 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
998 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
999 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1000 * testsuite/libffi.call/cls_2byte.c: Likewise.
1001 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1002 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1003 * testsuite/libffi.call/cls_4byte.c: Likewise.
1004 * testsuite/libffi.call/cls_5byte.c: Likewise.
1005 * testsuite/libffi.call/cls_6byte.c: Likewise.
1006 * testsuite/libffi.call/cls_7byte.c: Likewise.
1007 * testsuite/libffi.call/cls_8byte.c: Likewise.
1008 * testsuite/libffi.call/cls_12byte.c: Likewise.
1009 * testsuite/libffi.call/cls_16byte.c: Likewise.
1010 * testsuite/libffi.call/cls_20byte.c: Likewise.
1011 * testsuite/libffi.call/cls_24byte.c: Likewise.
1012 * testsuite/libffi.call/cls_double.c: Likewise.
1013 * testsuite/libffi.call/cls_float.c: Likewise.
1014 * testsuite/libffi.call/cls_uchar.c: Likewise.
1015 * testsuite/libffi.call/cls_uint.c: Likewise.
1016 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1017 * testsuite/libffi.call/cls_ushort.c: Likewise.
1018 * testsuite/libffi.call/float.c: Likewise.
1019 * testsuite/libffi.call/float1.c: Likewise.
1020 * testsuite/libffi.call/float2.c: Likewise.
1021 * testsuite/libffi.call/many.c: Likewise.
1022 * testsuite/libffi.call/many_win32.c: Likewise.
1023 * testsuite/libffi.call/nested_struct.c: Likewise.
1024 * testsuite/libffi.call/nested_struct1.c: Likewise.
1025 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1026 * testsuite/libffi.call/problem1.c: Likewise.
1027 * testsuite/libffi.call/promotion.c: Likewise.
1028 * testsuite/libffi.call/return_ll.c: Likewise.
1029 * testsuite/libffi.call/return_sc.c: Likewise.
1030 * testsuite/libffi.call/return_uc.c: Likewise.
1031 * testsuite/libffi.call/strlen.c: Likewise.
1032 * testsuite/libffi.call/strlen_win32.c: Likewise.
1033 * testsuite/libffi.call/struct1.c: Likewise.
1034 * testsuite/libffi.call/struct2.c: Likewise.
1035 * testsuite/libffi.call/struct3.c: Likewise.
1036 * testsuite/libffi.call/struct4.c: Likewise.
1037 * testsuite/libffi.call/struct5.c: Likewise.
1038 * testsuite/libffi.call/struct6.c: Likewise.
1039 * testsuite/libffi.call/struct7.c: Likewise.
1040 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 1041 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
1042 * testsuite/libffi.special/special.exp: New file.
1043 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1044 * testsuite/libffi.special/unwindtest.cc: Likewise.
1045
c930d8a5 1046
996b4f8f
KK
10472003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
1048
1049 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
1050 copyright years.
1051
b00badcd
AM
10522003-08-02 Alan Modra <amodra@bigpond.net.au>
1053
1054 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1055 structure passing.
1056 (ffi_closure_helper_LINUX64): Likewise.
1057 * src/powerpc/linux64.S: Remove code writing to parm save area.
1058 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
1059 address in lr from ffi_closure_helper_LINUX64 call to calculate
1060 table address. Optimize function tail.
1061
c1516eae
AT
10622003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
1063
1064 * src/sparc/ffi.c: Handle all floating point registers.
1065 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
1066
fc0e6222
GP
10672003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1068
1069 * README: Note that libffi is not part of GCC. Update the project
1070 URL and status.
1071
a1569df8
FS
10722003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1073
1074 * src/powerpc/ppc_closure.S: Include ffi.h.
1075
12e816bf
RO
10762003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1077
1078 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
1079 Use C style comments.
1080
e860ed6d
KK
10812003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1082
1083 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
1084 * Makefile.in: Regenerate.
1085 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
1086 * configure: Regenerate.
1087 * include/ffi.h.in: Add SHmedia support.
1088 * src/sh64/ffi.c: New file.
1089 * src/sh64/sysv.S: New file.
1090
a733b15e
JJ
10912003-05-16 Jakub Jelinek <jakub@redhat.com>
1092
1093 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
1094 should be read-only.
1095 * configure: Rebuilt.
1096 * fficonfig.h.in: Rebuilt.
1097 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
1098 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
1099 * src/powerpc/linux64.S: Likewise.
1100 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
1101 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
1102 if -fpic/-fPIC/-mrelocatable.
1103 * src/powerpc/powerpc_closure.S: Likewise.
1104 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
1105 #write in .eh_frame flags.
1106 * src/sparc/v9.S: Likewise.
1107 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
1108 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
1109 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
1110
bd19c9f4
JS
11112003-05-07 Jeff Sturm <jsturm@one-point.com>
1112
1113 Fixes PR bootstrap/10656
1114 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
1115 support for .register pseudo-op.
1116 * src/sparc/v8.S: Use it.
1117 * fficonfig.h.in: Rebuilt.
1118 * configure: Rebuilt.
1119
e9b84181
JJ
11202003-04-18 Jakub Jelinek <jakub@redhat.com>
1121
1122 * include/ffi.h.in (POWERPC64): Define if 64-bit.
1123 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
1124 Make it the default on POWERPC64.
1125 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
1126 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
1127 * configure: Rebuilt.
1128 * src/powerpc/ffi.c (hidden): Define.
1129 (ffi_prep_args_SYSV): Renamed from
1130 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
1131 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
1132 ASM_NEEDS_REGISTERS64): New.
1133 (ffi_prep_args64): New function.
1134 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
1135 (ffi_call): Likewise.
1136 (ffi_prep_closure): Likewise.
1137 (flush_icache): Surround by #ifndef POWERPC64.
1138 (ffi_dblfl): New union type.
1139 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
1140 (ffi_closure_helper_LINUX64): New function.
1141 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
1142 __powerpc64__.
1143 * src/powerpc/sysv.S: Likewise.
1144 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
1145 * src/powerpc/linux64.S: New file.
1146 * src/powerpc/linux64_closure.S: New file.
1147 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
1148 src/powerpc/linux64_closure.S.
1149 (TARGET_SRC_POWERPC): Likewise.
1150
1151 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
1152 closure_test_fn3): Fix result printing on big-endian 64-bit
1153 machines.
1154 (main): Print tst2_arg instead of uninitialized tst2_result.
1155
1156 * src/ffitest.c (main): Hide what closure pointer really points to
1157 from the compiler.
1158
908a31e1
RE
11592003-04-16 Richard Earnshaw <rearnsha@arm.com>
1160
1161 * configure.in (arm-*-netbsdelf*): Add configuration.
1162 (configure): Regenerated.
1163
41a73c4c
LR
11642003-04-04 Loren J. Rittle <ljrittle@acm.org>
1165
1166 * include/Makefile.in: Regenerate.
1167
cd41c847
ZD
11682003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1169
1170 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
1171 bit mode.
1172 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
1173 Receive closure pointer through parameter, read args using
1174 __builtin_dwarf_cfa.
1175 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
1176
6db450f9
AS
11772003-03-12 Andreas Schwab <schwab@suse.de>
1178
1179 * configure.in: Avoid trailing /. in toolexeclibdir.
1180 * configure: Rebuilt.
1181
70144e9c
AT
11822003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
1183
1184 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
1185
79e43f89
AT
11862003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
1187
1188 * libffi/src/powerpc/darwin_closure.S:
1189 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 1190 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
1191 Likewise.
1192 * libffi/src/powerpc/ffi_darwin.c:
1193 Update stackframe description for aix/darwin_closure.S.
c930d8a5 1194
0fcc9e55
JJ
11952003-02-06 Jakub Jelinek <jakub@redhat.com>
1196
1197 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1198 attribute.
1199
63b87c2e
CC
12002003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
1201 Andreas Schwab <schwab@suse.de>
1202
1203 * configure.in: Adjust command to source config-ml.in to account
1204 for changes to the libffi_basedir definition.
1205 (libffi_basedir): Remove ${srcdir} from value and include trailing
1206 slash if nonempty.
c930d8a5 1207
63b87c2e
CC
1208 * configure: Regenerate.
1209
c33402e2
FS
12102003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1211
1212 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1213
fd2e49b2
AH
12142003-01-28 Andrew Haley <aph@redhat.com>
1215
1216 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1217 * src/x86/ffi64.c (ffi_prep_closure): New.
1218 (ffi_closure_UNIX64_inner): New.
1219 * src/x86/unix64.S (ffi_closure_UNIX64): New.
1220
0e292c01
AO
12212003-01-27 Alexandre Oliva <aoliva@redhat.com>
1222
1223 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1224 Remove USE_LIBDIR conditional.
1225 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1226 * Makefile.in, configure: Rebuilt.
1227
acabc220
DE
12282003-01027 David Edelsohn <edelsohn@gnu.org>
1229
1230 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1231 * Makefile.in: Regenerate.
1232
be0acd42
AH
12332003-01-22 Andrew Haley <aph@redhat.com>
1234
1235 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1236 unwind info.
1237
ed695c8e
AT
12382003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
1239
1240 * src/powerpc/darwin.S: Add unwind info.
1241 * src/powerpc/darwin_closure.S: Likewise.
1242
45ba15f4
AH
12432003-01-14 Andrew Haley <aph@redhat.com>
1244
1245 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1246 (ffi_prep_cif_machdep): Likewise.
1247 * src/x86/unix64.S: Add unwind info.
1248
4b5f402e
AJ
12492003-01-14 Andreas Jaeger <aj@suse.de>
1250
1251 * src/ffitest.c (main): Only use ffi_closures if those are
1252 supported.
1253
7b5102af
TT
12542003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
1255
1256 * libffi/src/ffitest.c
1257 add closure testcases
1258
12592003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
1260
1261 * libffi/src/powerpc/ffi.c
1262 fix alignment bug for float (4 byte aligned iso 8 byte)
1263
5f7c78d8
GK
12642003-01-09 Geoffrey Keating <geoffk@apple.com>
1265
1266 * src/powerpc/ffi_darwin.c: Remove RCS version string.
1267 * src/powerpc/darwin.S: Remove RCS version string.
1268
c75c7793
JS
12692003-01-03 Jeff Sturm <jsturm@one-point.com>
1270
1271 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1272 * src/ffitest.c (main): Use static storage for closure.
1273 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1274 * src/sparc/v8.S (ffi_closure_v8): New.
1275 * src/sparc/v9.S (ffi_closure_v9): New.
1276
eb3c46a1
RM
12772002-11-10 Ranjit Mathew <rmathew@hotmail.com>
1278
1279 * include/ffi.h.in: Added FFI_STDCALL ffi_type
1280 enumeration for X86_WIN32.
1281 * src/x86/win32.S: Added ffi_call_STDCALL function
1282 definition.
1283 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1284 switch cases for recognising FFI_STDCALL and
1285 calling ffi_call_STDCALL if target is X86_WIN32.
1286 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1287 stdcall versions of the "my_strlen" and "many"
1288 test functions (for X86_WIN32).
1289 Added test cases to test stdcall invocation using
1290 these functions.
1291
4977bab6
ZW
12922002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
1293
1294 * src/sh/sysv.S: Add DWARF2 unwind info.
1295
67333e84
UW
12962002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
1297
1298 * src/s390/sysv.S (.eh_frame section): Make section read-only.
1299
bc3cf760
JW
13002002-11-26 Jim Wilson <wilson@redhat.com>
1301
1302 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1303
4977bab6
ZW
13042002-11-23 H.J. Lu <hjl@gnu.org>
1305
1306 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1307 Include ../config/accross.m4.
1308 * aclocal.m4; Rebuild.
1309 * configure: Likewise.
1310
18789f4e
UW
13112002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
1312
1313 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1314
6bee5372
DD
13152002-11-11 DJ Delorie <dj@redhat.com>
1316
1317 * configure.in: Look for common files in the right place.
1318
8177895b
UW
13192002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1320
1321 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1322 raw data as _Jv_word values, not ffi_raw.
1323 (ffi_java_ptrarray_to_raw): Likewise.
1324 (ffi_java_rvalue_to_raw): New function.
1325 (ffi_java_raw_call): Call it.
1326 (ffi_java_raw_to_rvalue): New function.
1327 (ffi_java_translate_args): Call it.
1328 * src/ffitest.c (closure_test_fn): Interpret return value
1329 as ffi_arg, not int.
1330 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1331 FFI_TYPE_POINTER case.
1332 (ffi_closure_helper_SYSV): Likewise. Also, assume return
1333 values extended to word size.
1334
af50f4c8
AJ
13352002-10-02 Andreas Jaeger <aj@suse.de>
1336
1337 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1338
5d297584
BT
13392002-10-01 Bo Thorsen <bo@smetana.suse.de>
1340
1341 * include/ffi.h.in: Fix i386 win32 compilation.
1342
c4f17c6f
UW
13432002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1344
1345 * configure.in: Add s390x-*-linux-* target.
1346 * configure: Regenerate.
1347 * include/ffi.h.in: Define S390X for s390x targets.
1348 (FFI_CLOSURES): Define for s390/s390x.
1349 (FFI_TRAMPOLINE_SIZE): Likewise.
1350 (FFI_NATIVE_RAW_API): Likewise.
1351 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1352 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 1353 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
1354 s390x targets. Add closure support.
1355 * src/s390/sysv.S: Likewise.
1356
d7b52625
RE
13572002-09-29 Richard Earnshaw <rearnsha@arm.com>
1358
1359 * src/arm/sysv.S: Fix typo.
1360
28165e22
RE
13612002-09-28 Richard Earnshaw <rearnsha@arm.com>
1362
1363 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1364 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1365 (ffi_call_SYSV): Handle soft-float.
1366
0b0f4163
BT
13672002-09-27 Bo Thorsen <bo@suse.de>
1368
1369 * include/ffi.h.in: Fix multilib x86-64 support.
1370
6c5d742e
KG
13712002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1372
1373 * Makefile.am (all-multi): Fix multilib parallel build.
1374
f4b2b0d6
KK
13752002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1376
1377 * configure.in (sh[34]*-*-linux*): Add brackets.
1378 * configure: Regenerate.
1379
ddebdfeb
KK
13802002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1381
1382 * Makefile.am: Add SH support.
1383 * Makefile.in: Regenerate.
1384 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1385 * configure: Regenerate.
1386 * include/ffi.h.in: Add SH support.
1387 * src/sh/ffi.c: New file.
1388 * src/sh/sysv.S: New file.
1389 * src/types.c: Add SH support.
1390
c94974ca
BT
13912002-07-16 Bo Thorsen <bo@suse.de>
1392
1393 * src/x86/ffi64.c: New file that adds x86-64 support.
1394 * src/x86/unix64.S: New file that handles argument setup for
1395 x86-64.
1396 * src/x86/sysv.S: Don't use this on x86-64.
1397 * src/x86/ffi.c: Don't use this on x86-64.
1398 Remove unused vars.
1399 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1400 for x86-64.
1401 * src/ffitest.c (struct6): New test that tests a special case in
1402 the x86-64 ABI.
1403 (struct7): Likewise.
1404 (struct8): Likewise.
1405 (struct9): Likewise.
1406 (closure_test_fn): Silence warning about this when it's not used.
1407 (main): Add the new tests.
1408 (main): Fix a couple of wrong casts and silence some compiler warnings.
1409 * include/ffi.h.in: Add x86-64 ABI definition.
1410 * fficonfig.h.in: Regenerate.
1411 * Makefile.am: Add x86-64 support.
1412 * configure.in: Likewise.
1413 * Makefile.in: Regenerate.
1414 * configure: Likewise.
1415
14162002-06-24 Bo Thorsen <bo@suse.de>
1417
1418 * src/types.c: Merge settings for similar architectures.
1419 Add x86-64 sizes and alignments.
1420
14212002-06-23 Bo Thorsen <bo@suse.de>
1422
1423 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1424 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1425 * src/mips/ffi.c (ffi_prep_args): Likewise.
1426 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1427
5be36a8f
L
14282002-07-18 H.J. Lu (hjl@gnu.org)
1429
1430 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1431 (libffi_la_SOURCES): Support MIPS_LINUX.
1432 (libffi_convenience_la_SOURCES): Likewise.
1433 * Makefile.in: Regenerated.
1434
1435 * configure.in (mips64*-*): Skip.
1436 (mips*-*-linux*): New.
1437 * configure: Regenerated.
1438
1439 * src/mips/ffi.c: Include <sgidefs.h>.
1440
ad5e163c
UW
14412002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1442
1443 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1444
ee4586c5
RS
14452002-05-27 Roger Sayle <roger@eyesopen.com>
1446
1447 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1448
b86aa7b0
BT
14492002-05-27 Bo Thorsen <bo@suse.de>
1450
1451 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1452 fix formatting.
1453
859f7aaf
AT
14542002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1455
1456 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1457 beginning of function (for older apple cc).
1458
6706f116
AO
14592002-05-08 Alexandre Oliva <aoliva@redhat.com>
1460
1461 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1462 script entry, and set LD to it when configuring multilibs.
1463 * configure: Rebuilt.
1464
fad655c8
JT
14652002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1466
1467 * configure.in (sparc64-*-netbsd*): Add target.
1468 (sparc-*-netbsdelf*): Likewise.
1469 * configure: Regenerate.
1470
189ab118
DM
14712002-04-28 David S. Miller <davem@redhat.com>
1472
1473 * configure.in, configure: Fix SPARC test in previous change.
1474
22bcf65c
GT
14752002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1476
1477 * Makefile.am: Add Linux for S/390 support.
1478 * Makefile.in: Regenerate.
1479 * configure.in: Add Linux for S/390 support.
1480 * configure: Regenerate.
1481 * include/ffi.h.in: Add Linux for S/390 support.
1482 * src/s390/ffi.c: New file from libffi CVS tree.
1483 * src/s390/sysv.S: New file from libffi CVS tree.
1484
5d84cf0b
JJ
14852002-04-28 Jakub Jelinek <jakub@redhat.com>
1486
1487 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1488 %r_disp32().
1489 * src/sparc/v8.S: Use it.
1490 * src/sparc/v9.S: Likewise.
1491 * fficonfig.h.in: Rebuilt.
1492 * configure: Rebuilt.
1493
cc382e5c
HB
14942002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1495
1496 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1497 correctly.
1498 * src/ia64/unix.S: Add unwind information. Fix comments.
1499 Save sp in a way that's compatible with unwind info.
1500 (ffi_call_unix): Correctly restore sp in all cases.
1501 * src/ia64/ffi.c: Add, fix comments.
1502
dc798645
JJ
15032002-04-08 Jakub Jelinek <jakub@redhat.com>
1504
1505 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1506
da00eaab
JT
15072002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1508
1509 * configure.in (alpha*-*-netbsd*): Add target.
1510 * configure: Regenerate.
1511
0c0b87ad
JS
15122002-04-04 Jeff Sturm <jsturm@one-point.com>
1513
1514 * src/sparc/v8.S: Add unwind info.
1515 * src/sparc/v9.S: Likewise.
1516
320d7e7a
KW
15172002-03-30 Krister Walfridsson <cato@df.lth.se>
1518
1519 * configure.in: Enable i*86-*-netbsdelf*.
1520 * configure: Rebuilt.
4977bab6 1521
c75e51ed
DB
15222002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1523
1524 PR other/2620
1525 * src/mips/n32.s: Delete
1526 * src/mips/o32.s: Delete
1527
5bb366e0
LR
15282002-03-21 Loren J. Rittle <ljrittle@acm.org>
1529
1530 * configure.in: Enable alpha*-*-freebsd*.
1531 * configure: Rebuilt.
1532
ce3b24a7
BM
15332002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1534
1535 * Makefile.am: libfficonvenience -> libffi_convenience.
1536 * Makefile.in: Rebuilt.
4977bab6 1537
1eb7ba30
BM
1538 * Makefile.am: Define ffitest_OBJECTS.
1539 * Makefile.in: Rebuilt.
ce3b24a7 1540
073ae293
AT
15412002-03-07 Andreas Tobler <toa@pop.agri.ch>
1542 David Edelsohn <edelsohn@gnu.org>
1543
1544 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1545 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1546 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1547 * Makefile.in: Regenerate.
1548 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1549 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1550 (flush_icache, flush_range): New functions.
1551 (ffi_closure_helper_DARWIN): New function.
1552 * src/powerpc/aix_closure.S: New file.
1553 * src/powerpc/darwin_closure.S: New file.
4977bab6 1554
02c521f4
JS
15552002-02-24 Jeff Sturm <jsturm@one-point.com>
1556
1557 * include/ffi.h.in: Add typedef for ffi_arg.
1558 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 1559
287dd527
AT
15602002-02-21 Andreas Tobler <toa@pop.agri.ch>
1561
1562 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1563 number of GPRs for floating-point arguments.
1564
e2f2e70a
AG
15652002-01-31 Anthony Green <green@redhat.com>
1566
1567 * configure: Rebuilt.
1568 * configure.in: Replace CHECK_SIZEOF and endian tests with
1569 cross-compiler friendly macros.
1570 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1571 macros.
1572
15b9b32f
DE
15732002-01-18 David Edelsohn <edelsohn@gnu.org>
1574
1575 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 1576 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 1577
2f4006f8
DE
15782002-01-17 David Edelsohn <edelsohn@gnu.org>
1579
1580 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1581 (TARGET_SRC_POWERPC_AIX): New.
1582 (POWERPC_AIX): New stanza.
1583 * Makefile.in: Regenerate.
1584 * configure.in: Add AIX case.
1585 * configure: Regenerate.
1586 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1587 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1588 size. Fix "long double" support.
1589 (ffi_call): Add FFI_AIX case.
1590 * src/powerpc/aix.S: New.
1591
3c017635
JH
15922001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1593
1594 Implement Darwin PowerPC ABI.
1595 * configure.in: Handle powerpc-*-darwin*.
1596 * Makefile.am: Set source files for POWERPC_DARWIN.
1597 * configure: Rebuilt.
1598 * Makefile.in: Rebuilt.
1599 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1600 POWERPC_DARWIN.
1601 * src/powerpc/darwin.S: New file.
1602 * src/powerpc/ffi_darwin.c: New file.
1603
cc712abf
JM
16042001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1605
1606 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1607
03a8de49
RO
16082001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1609
1610 * src/x86/sysv.S: Avoid gas-only .balign directive.
1611 Use C style comments.
1612
92a0e6c6
RO
16132001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1614
1615 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1616 Fixes PR bootstrap/3563.
1617
57482f58
RO
16182001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1619
1620 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1621
d7e2dd2f
RO
16222001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1623
1624 * configure.in: Recognize sparc*-sun-* host.
1625 * configure: Regenerate.
4977bab6 1626
be72207c
AH
16272001-06-06 Andrew Haley <aph@redhat.com>
1628
4075db8f 1629 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 1630
552cb45a
AH
16312001-06-03 Andrew Haley <aph@redhat.com>
1632
4075db8f
BT
1633 * src/alpha/osf.S: Add unwind info.
1634 * src/powerpc/sysv.S: Add unwind info.
1635 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 1636
7d45b968
JS
16372000-05-31 Jeff Sturm <jsturm@one-point.com>
1638
1639 * configure.in: Fix AC_ARG_ENABLE usage.
1640 * configure: Rebuilt.
1641
2a7f63c4
BM
16422001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1643
1644 * configure.in: Remove warning about beta code.
1645 * configure: Rebuilt.
1646
16472001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1648
03a55252
HB
1649 * src/ia64/unix.S: Restore stack pointer when returning from
1650 ffi_closure_UNIX.
1651 * src/ia64/ffi.c: Fix typo in comment.
1652
df5da1c4
JW
16532001-04-18 Jim Wilson <wilson@redhat.com>
1654
1655 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1656 to eliminate RAW DV.
1657
52c28977
BM
16582001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1659
1660 * Makefile.am: Make a libtool convenience library.
1661 * Makefile.in: Rebuilt.
1662
3b905056
BM
16632001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1664
1665 * configure.in: Use different syntax for subdirectory creation.
1666 * configure: Rebuilt.
1667
d6c4152a
JB
16682001-03-27 Jon Beniston <jon@beniston.com>
1669
1670 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1671 * configure: Rebuilt.
1672 * Makefile.am: Added X86_WIN32 target support.
1673 * Makefile.in: Rebuilt.
1674
1675 * include/ffi.h.in: Added X86_WIN32 target support.
1676
1677 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1678 * src/types.c: Added X86_WIN32 target support.
1679
1680 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1681 stuff removed and made to work with CygWin's gas.
1682
675cdab3
BM
16832001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1684
1685 * configure.in: Make target subdirectory in build dir.
1686 * Makefile.am: Override suffix based rules to specify correct output
1687 subdirectory.
1688 * Makefile.in: Rebuilt.
1689 * configure: Rebuilt.
1690
e5f8858a 16912001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
1692
1693 * src/powerpc/ppc_closure.S: New file.
1694 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1695 involving long long and register pairs.
1696 (ffi_prep_closure): New function.
1697 (flush_icache): Likewise.
1698 (ffi_closure_helper_SYSV): Likewise.
1699 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1700 (FFI_TRAMPOLINE_SIZE): Likewise.
1701 (FFI_NATIVE_RAW_API): Likewise.
1702 * Makefile.in: Rebuilt.
1703 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1704 (TARGET_SRC_POWERPC): Likewise.
1705
9450a929
TT
17062001-03-19 Tom Tromey <tromey@redhat.com>
1707
1708 * Makefile.in: Rebuilt.
1709 * Makefile.am (ffitest_LDFLAGS): New macro.
1710
4d2cf715
NC
17112001-03-02 Nick Clifton <nickc@redhat.com>
1712
1713 * include/ffi.h.in: Remove RCS ident string.
1714 * include/ffi_mips.h: Remove RCS ident string.
1715 * src/debug.c: Remove RCS ident string.
1716 * src/ffitest.c: Remove RCS ident string.
1717 * src/prep_cif.c: Remove RCS ident string.
1718 * src/types.c: Remove RCS ident string.
1719 * src/alpha/ffi.c: Remove RCS ident string.
1720 * src/alpha/osf.S: Remove RCS ident string.
1721 * src/arm/ffi.c: Remove RCS ident string.
1722 * src/arm/sysv.S: Remove RCS ident string.
1723 * src/mips/ffi.c: Remove RCS ident string.
1724 * src/mips/n32.S: Remove RCS ident string.
1725 * src/mips/o32.S: Remove RCS ident string.
1726 * src/sparc/ffi.c: Remove RCS ident string.
1727 * src/sparc/v8.S: Remove RCS ident string.
1728 * src/sparc/v9.S: Remove RCS ident string.
1729 * src/x86/ffi.c: Remove RCS ident string.
1730 * src/x86/sysv.S: Remove RCS ident string.
1731
7e5fd99f
JM
17322001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1733
1734 * include/ffi.h.in: Change sourceware.cygnus.com references to
1735 gcc.gnu.org.
1736
3f67ba6e
RH
17372000-12-09 Richard Henderson <rth@redhat.com>
1738
1739 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1740 (ffi_closure_osf_inner): Index rather than increment avalue
1741 and arg_types. Give ffi_closure_osf the raw return value type.
1742 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1743 promotion.
1744
17452000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
1746
1747 * src/raw_api.c (ffi_translate_args): Fix typo.
1748 (ffi_prep_closure): Likewise.
1749
1750 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1751 FFI_TRAMPOLINE_SIZE.
1752 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1753 cif->bytes for new ffi_call_osf implementation.
1754 (ffi_prep_args): Absorb into ...
1755 (ffi_call): ... here. Do all stack allocation here and
1756 avoid a callback function.
1757 (ffi_prep_closure, ffi_closure_osf_inner): New.
1758 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1759 (ffi_closure_osf): New.
1760
2f7bf5b7
AO
17612000-09-10 Alexandre Oliva <aoliva@redhat.com>
1762
ed1c1a1a
AO
1763 * config.guess, config.sub, install-sh: Removed.
1764 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1765 * Makefile.in: Rebuilt.
1766
2f7bf5b7
AO
1767 * acinclude.m4: Include libtool macros from the top level.
1768 * aclocal.m4, configure: Rebuilt.
1769
e15a68e7
AO
17702000-08-22 Alexandre Oliva <aoliva@redhat.com>
1771
1772 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1773 * configure: Rebuilt.
1774
7f8c11d5
SB
17752000-05-11 Scott Bambrough <scottb@netwinder.org>
1776
4977bab6
ZW
1777 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1778 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
1779 possible.
1780
c5acf51f
TT
17812000-05-04 Tom Tromey <tromey@cygnus.com>
1782
1783 * configure: Rebuilt.
1784 * configure.in: Match `arm*-*-linux-*'.
1785 From Chris Dornan <cdornan@arm.com>.
1786
91bffbe9
JJ
17872000-04-28 Jakub Jelinek <jakub@redhat.com>
1788
1789 * Makefile.am (SUBDIRS): Define.
1790 (AM_MAKEFLAGS): Likewise.
1791 (Multilib support.): Add section.
1792 * Makefile.in: Rebuilt.
1793 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
1794 New variables. Set for gcc using -print-multi-lib. Export them
1795 to libtool.
1796 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1797 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1798 for -shared links.
1799 (extra_compiler_flags_value, extra_compiler_flags): Check these
1800 for extra compiler options which need to be passed down in
1801 compiler_flags.
91bffbe9 1802
bd66587e
AG
18032000-04-16 Anthony Green <green@redhat.com>
1804
1805 * configure: Rebuilt.
1806 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1807
3791773c
JJ
18082000-04-14 Jakub Jelinek <jakub@redhat.com>
1809
4075db8f 1810 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
1811 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1812 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1813 Replace all void * sizeofs with sizeof(int).
1814 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1815 different than DOUBLE.
1816 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1817 (ffi_prep_args_v9): New function.
1818 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1819 (ffi_V9_return_struct): New function.
1820 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1821 32bit code (not yet cross-arch calls).
1822 * src/sparc/v8.S: Add struct return delay nop.
1823 Handle long long.
1824 * src/sparc/v9.S: New file.
1825 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1826 is used on sparc64 only for structures larger than 32 bytes.
1827 Pass by reference for structures is done for structure arguments
1828 larger than 16 bytes.
1829 * src/ffitest.c (main): Use 64bit rint on sparc64.
1830 Run long long tests on sparc.
1831 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1832 sparc64.
1833 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1834 on sparc64.
1835 * configure.in (sparc-*-linux*): New supported target.
1836 (sparc64-*-linux*): Likewise.
1837 * configure: Rebuilt.
1838 * Makefile.am: Add v9.S to SPARC files.
1839 * Makefile.in: Likewise.
1840 (LINK): Surround $(CCLD) into double quotes, so that multilib
1841 compiles work correctly.
1842
db459595
APB
18432000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1844
1845 * configure: Rebuilt.
1846 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1847 proposed by Bryce McKinlay.
1848
c1f63902
TT
18492000-03-20 Tom Tromey <tromey@cygnus.com>
1850
1851 * Makefile.in: Hand edit for java_raw_api.lo.
1852
0f72dc9e
BM
18532000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1854
1855 * config.guess, config.sub: Update from the gcc tree.
1856 Fix for PR libgcj/168.
1857
3c18f2d1
TT
18582000-03-03 Tom Tromey <tromey@cygnus.com>
1859
323eee8a
TT
1860 * Makefile.in: Fixed ia64 by hand.
1861
3c18f2d1
TT
1862 * configure: Rebuilt.
1863 * configure.in (--enable-multilib): New option.
1864 (libffi_basedir): New subst.
1865 (AC_OUTPUT): Added multilib code.
1866
a2b10a92
TT
18672000-03-02 Tom Tromey <tromey@cygnus.com>
1868
1869 * Makefile.in: Rebuilt.
1870 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1871 directory name.
1872
dc5de370
HB
18732000-02-25 Hans Boehm <boehm@acm.org>
1874
1875 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1876 files.
1877 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1878 list.
1879 (ffi_prep_raw_closure): Use ffi_translate_args, not
1880 ffi_closure_translate.
1881 * src/java_raw_api.c: New file.
1882 * src/ffitest.c (closure_test_fn): New function.
1883 (main): Define `rint' as long long on IA64. Added new test when
1884 FFI_CLOSURES is defined.
1885 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1886 (ffi_abi): Recognize IA64.
1887 (ffi_raw): Added `flt' field.
1888 Added "Java raw API" code.
1889 * configure.in: Recognize ia64.
1890 * Makefile.am (TARGET_SRC_IA64): New macro.
1891 (libffi_la_common_SOURCES): Added java_raw_api.c.
1892 (libffi_la_SOURCES): Define in IA64 case.
1893
d79229bd
TT
18942000-01-04 Tom Tromey <tromey@cygnus.com>
1895
1896 * Makefile.in: Rebuilt with newer automake.
1897
2c33b220
TT
18981999-12-31 Tom Tromey <tromey@cygnus.com>
1899
1900 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1901
6ba9e3b0
TT
19021999-09-01 Tom Tromey <tromey@cygnus.com>
1903
1904 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1905 undefs.
1906 * fficonfig.h.in: Rebuilt.
1907 * configure: Rebuilt.
1908 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1909 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1910 * acconfig.h: Don't #undef PACKAGE or VERSION.
1911
63e5e3e0
AG
19121999-08-09 Anthony Green <green@cygnus.com>
1913
1914 * include/ffi.h.in: Try to work around messy header problem
1915 with PACKAGE and VERSION.
1916
1917 * configure: Rebuilt.
1918 * configure.in: Change version to 2.00-beta.
1919
4075db8f 1920 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
1921 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1922
1923 * src/x86/ffi.c (ffi_raw_call): Rename.
1924
19251999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1926
1927 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1928 (ffi_prep_incoming_args_SYSV): Ditto.
1929 (ffi_prep_closure): Ditto.
1930 (ffi_closure_raw_SYSV): Ditto.
1931 (ffi_prep_raw_closure): More ditto.
1932 (ffi_call_raw): Final ditto.
1933
1934 * include/ffi.h.in: Add definitions for closure and raw API.
1935
1936 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 1937 FFI_TYPE_UINT64.
63e5e3e0
AG
1938
1939 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1940
1941 * src/raw_api.c: New file.
1942
1943 * include/ffi.h.in (ffi_raw): New type.
1944 (UINT_ARG, SINT_ARG): New defines.
1945 (ffi_closure, ffi_raw_closure): New types.
1946 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 1947
63e5e3e0
AG
1948 * configure.in: Add check for endianness and sizeof void*.
1949
1950 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1951 instead of directly.
1952
1953 * configure: Rebuilt.
1954
1955Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1956
1957 * configure.in: Add x86 and powerpc BeOS configurations.
1958 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1959
19601999-05-09 Anthony Green <green@cygnus.com>
1961
1962 * configure.in: Add warning about this being beta code.
1963 Remove src/Makefile.am from the picture.
1964 * configure: Rebuilt.
1965
1966 * Makefile.am: Move logic from src/Makefile.am. Add changes
1967 to support libffi as a target library.
1968 * Makefile.in: Rebuilt.
1969
1970 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1971 Upgraded to new autoconf, automake, libtool.
1972
1973 * README: Tweaks.
1974
1975 * LICENSE: Update copyright date.
1976
1977 * src/Makefile.am, src/Makefile.in: Removed.
1978
19791998-11-29 Anthony Green <green@cygnus.com>
1980
1981 * include/ChangeLog: Removed.
1982 * src/ChangeLog: Removed.
1983 * src/mips/ChangeLog: Removed.
1984 * src/sparc/ChangeLog: Remboved.
1985 * src/x86/ChangeLog: Removed.
1986
1987 * ChangeLog.v1: Created.