]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
1a4878f7
AT
12006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
2
3 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
4 is fixed.
5 * testsuite/libffi.call/nested_struct4.c: Likewise.
6
b47b5e08
AT
72006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
8
6429d58f
AT
9 * testsuite/libffi.call/return_dbl.c: New test case.
10 * testsuite/libffi.call/return_dbl1.c: Likewise.
11 * testsuite/libffi.call/return_dbl2.c: Likewise.
12 * testsuite/libffi.call/return_fl.c: Likewise.
13 * testsuite/libffi.call/return_fl1.c: Likewise.
14 * testsuite/libffi.call/return_fl2.c: Likewise.
15 * testsuite/libffi.call/return_fl3.c: Likewise.
16 * testsuite/libffi.call/closure_fn6.c: Likewise.
17
b47b5e08
AT
18 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
19 definition.
20 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
21 here to be used by other test cases too.
22
23 * testsuite/libffi.call/nested_struct10.c: New test case.
24 * testsuite/libffi.call/nested_struct9.c: Likewise.
25 * testsuite/libffi.call/nested_struct8.c: Likewise.
26 * testsuite/libffi.call/nested_struct7.c: Likewise.
27 * testsuite/libffi.call/nested_struct6.c: Likewise.
28 * testsuite/libffi.call/nested_struct5.c: Likewise.
29 * testsuite/libffi.call/nested_struct4.c: Likewise.
30
9abe31d4
AT
312006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
32
33 * configure.ac: Enable libffi for sparc64-*-freebsd*.
34 * configure: Rebuilt.
35
71aa1a70
JJ
362006-01-18 Jakub Jelinek <jakub@redhat.com>
37
38 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
39 instead do the shifting inline.
40 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
41 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
42 and 8 byte structs, for the remaining struct sizes don't call
43 __lshrdi3, instead do the shifting inline.
44
8a39029d
TS
452005-12-07 Thiemo Seufer <ths@networkno.de>
46
47 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
48 missing parentheses.
49 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
50 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
51 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
52 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
53 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
54 FA_0_0_OFF2.
55 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
56 endianness bugs.
57 (ffi_prep_closure): Improve trampoline instruction scheduling.
58 (ffi_closure_mips_inner_O32): Fix endianness bugs.
59
cd4241aa
AM
602005-12-03 Alan Modra <amodra@bigpond.net.au>
61
62 * src/powerpc/ffi.c: Formatting.
63 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
64 (ffi_prep_args64): Likewise.
65
0363db46
GK
662005-09-30 Geoffrey Keating <geoffk@apple.com>
67
68 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
69 darwin, use -shared-libgcc not -lgcc_s, and explain why.
70
d674eb2f
TT
712005-09-26 Tom Tromey <tromey@redhat.com>
72
73 * testsuite/libffi.call/float1.c (value_type): New typedef.
74 (CANARY): New define.
75 (main): Check for result buffer overflow.
76 * src/powerpc/linux64.S: Handle linux64 long double returns.
77 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
78 (ffi_prep_cif_machdep): Handle linux64 long double returns.
79
2d9c5743
AM
802005-08-25 Alan Modra <amodra@bigpond.net.au>
81
82 PR target/23404
83 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
84 homed fp args.
85 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
86
8a42356f
JJ
872005-08-11 Jakub Jelinek <jakub@redhat.com>
88
89 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
90 (AH_BOTTOM): Add FFI_HIDDEN definition.
91 * configure: Rebuilt.
92 * fficonfig.h.in: Rebuilt.
93 * src/powerpc/ffi.c (hidden): Remove.
94 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
95 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
96 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
97 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
98 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
99 add FFI_HIDDEN to its prototype.
100 (ffi_closure_SYSV_inner): New.
101 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
102 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
103
863c5508
AS
1042005-08-10 Alfred M. Szmidt <ams@gnu.org>
105
106 PR libffi/21819:
107 * configure: Rebuilt.
108 * configure.ac: Handle i*86-*-gnu*.
109
6a26ea58
JJ
1102005-08-09 Jakub Jelinek <jakub@redhat.com>
111
112 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
113 DW_CFA_offset_extended_sf rather than
114 DW_CFA_GNU_negative_offset_extended.
115 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
116
583a92e8
ST
1172005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
118
119 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
120 on sh3.
121 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
122 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
123 partially on register.
124 (ffi_closure_helper_SYSV): Likewise.
125 (ffi_prep_cif_machdep): Don't set too many cif->flags.
126
5d0317fc
KK
1272005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
128
129 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
130 Remove empty line.
131 * src/sh64/ffi.c (simple_type): Remove.
132 (return_type): Handle small structures correctly.
133 (ffi_prep_args): Likewise.
134 (ffi_call): Likewise.
135 (ffi_closure_helper_SYSV): Likewise.
136 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
137 Emit position independent code if PIC and remove wrong datalabel
138 prefixes from EH data.
139
8d9fd5f5
AT
1402005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
141
142 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
143 * Makefile.in: Regenerate.
144 * include/Makefile.in: Likewise.
145 * testsuite/Makefile.in: Likewise.
146 * configure.ac: Add POWERPC_FREEBSD rules.
147 * configure: Regenerate.
148 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
149 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
150 * src/powerpc/ffi.c: Add flags to handle small structure returns
151 in ffi_call_SYSV.
152 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
153 Aka FFI_SYSV.
154 (ffi_closure_helper_SYSV): Likewise.
155 * src/powerpc/ppc_closure.S: Add return types for small structures.
156 * src/powerpc/sysv.S: Add bits to handle small structures for
157 final SYSV 4 ABI.
158
93c76f81
AT
1592005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
160
161 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
162 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
163 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
164
b65da304
RC
1652005-07-05 Randolph Chung <tausq@debian.org>
166
167 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
168 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
169 structures. Kill compilation warnings.
170 (ffi_closure_inner_LINUX): Print return values as hex in debug
171 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
172 Properly handle 5-7 byte structure returns.
173 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
174 (FFI_TYPE_SMALL_STRUCT2): Remove.
175 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
176 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
177 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
178 (checksmst1, checksmst2): Remove.
179 (checksmst3): Optimize handling of 3-byte struct returns.
180 (checksmst567): Properly handle 5-7 byte struct returns.
181
2572f1c6
RO
1822005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
183
184 PR libgcj/21943
185 * src/mips/n32.S: Enforce PIC code.
186 * src/mips/o32.S: Likewise.
187
cc786582
RO
1882005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
189
190 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
191 * configure: Regenerate.
192
6d0d376c
AM
1932005-06-01 Alan Modra <amodra@bigpond.net.au>
194
195 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
196 to call ffi_closure_helper_SYSV. Append @local instead.
197 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
198
a21946f5 1992005-05-17 Kelley Cook <kcook@gcc.gnu.org>
a097ef55
KC
200
201 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
202 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
203 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
204 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
205 include/Makefile.in, testsuite/Makefile.in: Regenerate.
206
f4c767fd
MS
2072005-05-09 Mike Stump <mrs@apple.com>
208
209 * configure: Regenerate.
210
7e15b5fe
RH
2112005-05-08 Richard Henderson <rth@redhat.com>
212
213 PR libffi/21285
214 * src/alpha/osf.S: Update unwind into to match code.
215
d56ea8d9
RH
2162005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
217 Richard Henderson <rth@redhat.com>
218
219 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
220 bit 11 of flags.
221 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
222 (ffi_prep_closure): Set carry bit if sse-used flag set.
223 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
224 Only load sse registers if ssecount non-zero.
225 (ffi_closure_unix64): Only save sse registers if carry set on entry.
226
2272005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
d948c201
RC
228
229 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
230 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
231 * configure: Regenerate.
232
fc0ad8d9
HPN
2332005-04-20 Hans-Peter Nilsson <hp@axis.com>
234
235 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
236 have Tcl8.3-compatible intermediate variable.
237
614348bb
SP
2382005-04-18 Simon Posnjak <simon.posnjak@siol.net>
239 Hans-Peter Nilsson <hp@axis.com>
240
241 * Makefile.am: Add CRIS support.
242 * configure.ac: Likewise.
29ede6db
HPN
243 * Makefile.in, configure, testsuite/Makefile.in,
244 include/Makefile.in: Regenerate.
614348bb
SP
245 * src/cris: New directory.
246 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
247 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
727e729b
HPN
248
249 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
250 \r?\n in output tests.
251
6dab073b
MS
2522005-04-12 Mike Stump <mrs@apple.com>
253
254 * configure: Regenerate.
255
51f55d7c
HB
2562005-03-30 Hans Boehm <Hans.Boehm@hp.com>
257
258 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
259
7efa52a3
SE
2602005-03-30 Steve Ellcey <sje@cup.hp.com>
261
262 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
263 (ffi_sarg) Ditto.
264 * src/ia64/unix.S (ffi_closure_unix): Extend gp
265 to 64 bits in ILP32 mode.
266 Load 64 bits even for short data.
267
1488177a
MS
2682005-03-23 Mike Stump <mrs@apple.com>
269
270 * src/powerpc/darwin.S: Update for -m64 multilib.
271 * src/powerpc/darwin_closure.S: Likewise.
272
c6900272
ZW
2732005-03-21 Zack Weinberg <zack@codesourcery.com>
274
275 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
276 Do not set tool_include_dir.
277 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
278 Regenerate.
279 * include/Makefile.am: Set gcc_version and toollibffidir.
280 * include/Makefile.in: Regenerate.
281
962eea0a
AH
2822005-02-22 Andrew Haley <aph@redhat.com>
283
284 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
285 odd-numbered register pairs for 64-bit integer types.
286
1b05e8bf
AT
2872005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
288
289 PR libffi/20104
290 * testsuite/libffi.call/return_ll1.c: New test case.
291
6027770b
JJ
2922005-02-11 Janis Johnson <janis187@us.ibm.com>
293
294 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
295 * testsuite/libffi.call/float.c: Ditto.
296 * testsuite/libffi.call/float2.c: Ditto.
297 * testsuite/libffi.call/float3.c: Ditto.
298
ee31ea68
AT
2992005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
300
301 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
302
c16be7d5
EB
3032005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
304
305 * testsuite/libffi.special/special.exp (cxx_options): Add
306 -shared-libgcc.
307
5df07255
RH
3082004-12-31 Richard Henderson <rth@redhat.com>
309
310 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
311 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
312 offset parameters with a type parameter; deduce size and structure
313 alignment. Update all users.
314
81a69b13
RH
3152004-12-31 Richard Henderson <rth@redhat.com>
316
317 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
318 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
c6900272 319 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
81a69b13
RH
320 into ffi_prep_closure.
321 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
322 from scratch.
323
d833cfb0
RH
3242004-12-27 Richard Henderson <rth@redhat.com>
325
326 * src/x86/unix64.S: Fix typo in unwind info.
327
1a0f488c
RH
3282004-12-25 Richard Henderson <rth@redhat.com>
329
330 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
331 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
332 (merge_classes): Check for it.
333 (SSE_CLASS_P): New.
334 (classify_argument): Pass byte_offset by value; perform all updates
335 inside struct case.
336 (examine_argument): Add classes argument; handle
337 X86_64_COMPLEX_X87_CLASS.
338 (ffi_prep_args): Merge into ...
339 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
340 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
341 (ffi_fill_return_value): Remove.
342 (ffi_prep_closure): Remove dead assert.
343 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
344 Rewrite to use struct register_args instead of va_list. Create
345 flags for handling structure returns.
346 * src/x86/unix64.S: Remove dead strings.
347 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
348 stack frame with ffi_call. Handle structure returns properly.
349 (float2sse, floatfloat2sse, double2sse): Remove.
350 (sse2float, sse2double, sse2floatfloat): Remove.
351 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
352 to handle structure returns properly.
353
7994d50c
DE
3542004-12-08 David Edelsohn <edelsohn@gnu.org>
355
356 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
357 PICFLAG.
358 * Makefile.in: Regenerated.
359
afabd8e6
RS
3602004-12-02 Richard Sandiford <rsandifo@redhat.com>
361
362 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
363 * configure, aclocal.m4, Makefile.in: Regenerate.
364 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
365
2539bffe
KC
3662004-11-29 Kelley Cook <kcook@gcc.gnu.org>
367
368 * configure: Regenerate for libtool change.
369
767f726e
KC
3702004-11-25 Kelley Cook <kcook@gcc.gnu.org>
371
372 * configure: Regenerate for libtool reversion.
373
2c92e90f
KC
3742004-11-24 Kelley Cook <kcook@gcc.gnu.org>
375
376 * configure: Regenerate for libtool change.
377
1df8e834
JDA
3782004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
379
380 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
381
3822004-11-23 Richard Sandiford <rsandifo@redhat.com>
383
384 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
385 of jal. Use an absolute encoding for the frame information.
386
3872004-11-23 Kelley Cook <kcook@gcc.gnu.org>
388
389 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
390 * acinclude.m4: Delete logic for sincludes.
391 * aclocal.m4, Makefile.in, configure: Regenerate.
392 * include/Makefile: Likewise.
393 * testsuite/Makefile: Likewise.
394
bf02e7fa
EB
3952004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
396
397 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
398 on a 8-byte boundary.
399 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
400
f20459f1
RE
4012004-10-27 Richard Earnshaw <rearnsha@arm.com>
402
403 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
404 long long values. Round stack allocation to a multiple of 8 bytes
405 for ATPCS compatibility.
406 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
407 names. Handle returning long long types. Add Thumb and interworking
408 support. Improve soft-float code.
409
fdc69597
RE
4102004-10-27 Richard Earnshaw <rearnsha@arm.com>
411
412 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
413 (libffi_exit): New function.
414 (libffi_init): Build the testglue wrapper if needed.
415
1e02510f
EB
4162004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
417
418 PR other/18138
419 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
420
d9a193b2
KI
4212004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
422
423 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
424
1fddb058
KK
4252004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
426
427 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
428 * testsuite/libffi.call/float3.c: New test case.
429
e0d3b452
KK
4302004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
431
432 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
433 the function returning a structure pointed with R2.
434 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
435 the structure return value if T bit set. Emit position
436 independent code and EH data if PIC.
437
a472e9d4
KI
4382004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
439
440 * Makefile.am: Add m32r support.
441 * configure.ac: Likewise.
442 * Makefile.in: Regenerate.
443 * confiugre: Regenerate.
444 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
445 (uint64, sint64, double, longdouble)
446 * src/m32r: New directory.
447 * src/m32r/ffi.c: New file.
448 * src/m32r/sysv.S: Likewise.
449 * src/m32r/ffitarget.h: Likewise.
450
3d47e9ca
KK
4512004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
452
453 * testsuite/libffi.call/negint.c: New test case.
454
fc9051dd
L
4552004-09-14 H.J. Lu <hongjiu.lu@intel.com>
456
457 PR libgcj/17465
458 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
459 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
460 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
461 DYLD_LIBRARY_PATH.
462
2010caea
AT
4632004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
464
465 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
466 * testsuite/libffi.call/promotion.c: Likewise.
467 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
468 whitespaces.
469 * testsuite/libffi.call/return_sc.c: Likewise.
470 * testsuite/libffi.call/return_uc.c: Likewise.
471
894be816
AT
4722004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
473
474 * src/powerpc/darwin.S: Fix comments and identation.
475 * src/powerpc/darwin_closure.S: Likewise.
476
2fe7404a
AT
4772004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
478
479 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
480 (ffi_prep_args): Handle longdouble arguments.
481 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
482 longdouble.
483 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
484 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
485 values.
486 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
487 * src/types.c: Defined longdouble size and alignment for darwin.
488
16070e45
AT
4892004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
490
491 * src/powerpc/aix.S: Remove whitespaces.
492 * src/powerpc/aix_closure.S: Likewise.
493 * src/powerpc/asm.h: Likewise.
494 * src/powerpc/ffi.c: Likewise.
495 * src/powerpc/ffitarget.h: Likewise.
496 * src/powerpc/linux64.S: Likewise.
497 * src/powerpc/linux64_closure.S: Likewise.
498 * src/powerpc/ppc_closure.S: Likewise.
499 * src/powerpc/sysv.S: Likewise.
500
88d8c771
AG
5012004-08-30 Anthony Green <green@redhat.com>
502
503 * Makefile.am: Add frv support.
504 * Makefile.in, testsuite/Makefile.in: Rebuilt.
505 * configure.ac: Read configure.host.
506 * configure.in: Read configure.host.
507 * configure.host: New file. frv-elf needs libgloss.
508 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
a23adb4d 509 alignment. This is needed to frv and shouldn't harm the others.
88d8c771
AG
510 * include/ffi_common.h (ALIGN_DOWN): New macro.
511 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
512
4c5f37d5
DD
5132004-08-24 David Daney <daney@avtrex.com>
514
515 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
516 * testsuite/libffi.call/closure_fn1.c: Likewise.
517 * testsuite/libffi.call/closure_fn2.c Likewise.
518 * testsuite/libffi.call/closure_fn3.c: Likewise.
519 * testsuite/libffi.call/closure_fn4.c: Likewise.
520 * testsuite/libffi.call/closure_fn5.c: Likewise.
521 * testsuite/libffi.call/cls_18byte.c: Likewise.
522 * testsuite/libffi.call/cls_19byte.c: Likewise.
523 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
524 * testsuite/libffi.call/cls_20byte.c: Likewise.
525 * testsuite/libffi.call/cls_20byte1.c: Likewise.
526 * testsuite/libffi.call/cls_24byte.c: Likewise.
527 * testsuite/libffi.call/cls_2byte.c: Likewise.
528 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
529 * testsuite/libffi.call/cls_3byte1.c: Likewise.
530 * testsuite/libffi.call/cls_3byte2.c: Likewise.
531 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
532 * testsuite/libffi.call/cls_4byte.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_align_double.c: Likewise.
540 * testsuite/libffi.call/cls_align_float.c: Likewise.
541 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
542 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
543 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
544 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
545 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
546 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
547 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
548 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
549 * testsuite/libffi.call/cls_double.c: Likewise.
550 * testsuite/libffi.call/cls_float.c: Likewise.
551 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
552 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
553 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
554 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
555 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
556 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
557 * testsuite/libffi.call/cls_schar.c: Likewise.
558 * testsuite/libffi.call/cls_sint.c: Likewise.
559 * testsuite/libffi.call/cls_sshort.c: Likewise.
560 * testsuite/libffi.call/cls_uchar.c: Likewise.
561 * testsuite/libffi.call/cls_uint.c: Likewise.
562 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
563 * testsuite/libffi.call/cls_ushort.c: Likewise.
564 * testsuite/libffi.call/nested_struct.c: Likewise.
565 * testsuite/libffi.call/nested_struct1.c: Likewise.
566 * testsuite/libffi.call/nested_struct2.c: Likewise.
567 * testsuite/libffi.call/nested_struct3.c: Likewise.
568 * testsuite/libffi.call/problem1.c: Likewise.
569 * testsuite/libffi.special/unwindtest.cc: Likewise.
570 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
571 to zero.
572 * testsuite/libffi.call/cls_16byte.c: Likewise.
573 * testsuite/libffi.call/cls_5byte.c: Likewise.
574
39dca114
DD
5752004-08-23 David Daney <daney@avtrex.com>
576
577 PR libgcj/13141
578 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
579 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
580 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
581 parameters and return types.
582 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
583 (ffi_prep_closure): Ditto.
584 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
585 alignment calculations.
586 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
587 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
588
b790003a
CM
5892004-08-14 Casey Marshall <csm@gnu.org>
590
591 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
592 contain `FFI_TYPE_UINT64' as return type for any 64-bit
593 integer (O32 ABI only).
594 (ffi_prep_closure): new function.
595 (ffi_closure_mips_inner_O32): new function.
c6900272 596 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
b790003a
CM
597 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
598 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
599 64 bit integers correctly.
600 (ffi_closure_O32): new function.
601 Added DWARF-2 unwind info for both functions.
602
547d71a1
AH
6032004-08-10 Andrew Haley <aph@redhat.com>
604
605 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
606
98a5bb3b
RM
6072004-08-01 Robert Millan <robertmh@gnu.org>
608
609 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
610 * configure: Regenerate.
611
4d447364
MR
6122004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
613
614 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
615 and mmap() explicitly instead of relying on preset autoconf cache
616 variables.
617 * aclocal.m4: Regenerate.
618 * configure: Regenerate.
619
e5dce82f
UW
6202004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
621
622 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
623 (ffi_check_float_struct): Remove unused prototype.
624
e6a0022b
GK
6252004-06-30 Geoffrey Keating <geoffk@apple.com>
626
627 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
628 character on Darwin, use '\n\t' instead.
629
5a2d52ca
MK
6302004-06-26 Matthias Klose <doko@debian.org>
631
632 * libtool-version: Fix typo in revision/age.
633
401844ef
MK
6342004-06-17 Matthias Klose <doko@debian.org>
635
636 * libtool-version: New.
637 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
638 * Makefile.in: Regenerate.
639
94632047 6402004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
641
642 * Makefile.am: Remove useless multilib rules.
643 * Makefile.in: Regenerate.
644 * aclocal.m4: Regenerate with automake 1.8.5.
645 * configure.ac: Remove useless multilib configury.
646 * configure: Regenerate.
647
94632047 6482004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
649
650 * .cvsignore: New file.
651
37c849e4
JJ
6522004-06-10 Jakub Jelinek <jakub@redhat.com>
653
654 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
655 fp_done.
656 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
657 changed from 8.
658
cb623172
SM
6592004-06-06 Sean McNeil <sean@mcneil.com>
660
661 * configure.ac: Add x86_64-*-freebsd* support.
662 * configure: Regenerate.
663
c9b93377
JB
6642004-04-26 Joe Buck <jbuck@welsh-buck.org>
665
666 Bug 15093
667 * configure.ac: Test for existence of mmap and sys/mman.h before
668 checking blacklist. Fix suggested by Jim Wilson.
669 * configure: Regenerate.
670
cf90fd1b
MA
6712004-04-26 Matt Austern <austern@apple.com>
672
673 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
674 FDE location.
675 * src/powerpc/darwin_closure.S: Likewise.
c6900272 676
67781b44
AT
6772004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
678
679 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
680 error. Reported by Thomas Heller <theller@python.net>.
681 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
682 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
683
14b078a8
MK
6842004-03-20 Matthias Klose <doko@debian.org>
685
686 * src/pa/linux.S: Fix typo.
687
d65a810f
MK
6882004-03-19 Matthias Klose <doko@debian.org>
689
67781b44 690 * Makefile.am: Update.
d65a810f
MK
691 * Makefile.in: Regenerate.
692 * src/pa/ffi.h.in: Remove.
693 * src/pa/ffitarget.h: New file.
694
6952004-02-10 Randolph Chung <tausq@debian.org>
696
697 * Makefile.am: Add PA support.
698 * Makefile.in: Regenerate.
699 * include/Makefile.in: Regenerate.
700 * configure.ac: Add PA target.
701 * configure: Regenerate.
702 * src/pa/ffi.c: New file.
703 * src/pa/ffi.h.in: Add PA support.
704 * src/pa/linux.S: New file.
705 * prep_cif.c: Add PA support.
706
09cababc
HY
7072004-03-16 Hosaka Yuji <hos@tamanegi.org>
708
709 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
710 double.
711 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
712 with ecif->cif->flags.
713 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
714 with cif->flags.
715 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
716 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
717 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
718 sc_retstruct2b): Add for 1 or 2-bytes struct case.
719
0e8d0c5f
KC
7202004-03-15 Kelley Cook <kcook@gcc.gnu.org>
721
722 * configure.in: Rename file to ...
723 * configure.ac: ... this.
724 * fficonfig.h.in: Regenerate.
725 * Makefile.in: Regenerate.
726 * include/Makefile.in: Regenerate.
727 * testsuite/Makefile.in: Regenerate.
728
b8d50739
MA
7292004-03-12 Matt Austern <austern@apple.com>
730
731 * src/powerpc/darwin.S: Fix EH information so it corresponds to
732 changes in EH format resulting from addition of linkonce support.
733 * src/powerpc/darwin_closure.S: Likewise.
09cababc 734
3ed8e5b6
AT
7352004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
736 Paolo Bonzini <bonzini@gnu.org>
737
738 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
739 Remove VPATH. Remove rules for object files. Remove multilib support.
740 (AM_CCASFLAGS): Add.
741 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
742 (AC_PREREQ): Bump version to 2.59.
743 (AC_INIT): Fill with version info and bug address.
744 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
745 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
746 De-precious CC so that the right flags are passed down to multilibs.
747 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
748 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
749 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
750 * configure: Rebuilt.
751 * aclocal.m4: Likewise.
752 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
753 * fficonfig.h.in: Likewise.
754
254ea477
AS
7552004-03-11 Andreas Schwab <schwab@suse.de>
756
757 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
758 arguments from fp registers only for the first 8 parameter slots.
759 Don't convert a float parameter when passed in memory.
760
3beb1315
HPN
7612004-03-09 Hans-Peter Nilsson <hp@axis.com>
762
763 * configure: Regenerate for config/accross.m4 correction.
764
fecf735c
MK
7652004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
766
767 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
768 ecif->cif->bytes to bytes.
769 (ffi_prep_cif_machdep): Add braces around nested if statement.
770
4243752c
AM
7712004-02-09 Alan Modra <amodra@bigpond.net.au>
772
12001e0f
AM
773 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
774
4243752c
AM
775 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
776 (ffi_closure_helper_LINUX64): Fix typo.
777 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
778 for powerpc64-*-*.
779 * testsuite/libffi.call/float.c: Likewise.
780 * testsuite/libffi.call/float2.c: Likewise.
781
bf310028
AM
7822004-02-08 Alan Modra <amodra@bigpond.net.au>
783
784 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
785 long double function return and long double arg handling.
786 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
787 Use "end_pfr" instead of "nf". Correct long double handling.
788 Localise "temp".
789 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
790 return value.
791 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
792 space for long double return value. Adjust stack frame and offsets.
793 Load f2 long double return.
794
dd5f9ea2
AM
7952004-02-07 Alan Modra <amodra@bigpond.net.au>
796
797 * src/types.c: Use 16 byte long double for POWERPC64.
798
0ce78f01
EB
7992004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
800
801 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
802 when the structure return address is passed in %o0.
803 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
804 (ffi_v9_layout_struct): Align the field following a nested structure
805 on a word boundary. Use memmove instead of memcpy.
806 (ffi_call): Update call to ffi_V9_return_struct.
807 (ffi_prep_closure): Define 'ctx' only for V8.
808 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
809 and ffi_closure_sparc_inner_v9.
810 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
811 Always skip the structure return address. For structures and long
812 doubles, copy the argument directly.
813 (ffi_closure_sparc_inner_v9): Skip the structure return address only
814 if required. Shift the maximum floating-point slot accordingly. For
815 big structures, copy the argument directly; otherwise, left-justify the
816 argument and call ffi_v9_layout_struct to lay out the structure on
817 the stack.
818 * src/sparc/v8.S: Undef STACKFRAME before defining it.
819 (ffi_closure_v8): Pass the structure return address. Update call to
820 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
821 Skip the 'unimp' insn when returning long doubles and structures.
822 * src/sparc/v9.S: Undef STACKFRAME before defining it.
823 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
824 FFI_TYPE_INT handling. Load structures both in integers and
825 floating-point registers on return.
826 * README: Update status of the SPARC port.
827
7fcc1d9b
AT
8282004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
829
830 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
831 as of type ffi_arg.
832 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
833
6ed0ecaf
UW
8342004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
835
836 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
837 value as of type ffi_arg, not unsigned int.
838
c930d8a5
MR
8392004-01-21 Michael Ritzert <ritzert@t-online.de>
840
841 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
842 of the LHS.
843
7b2e3e60
AT
8442004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
845
846 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
847 Solaris.
848
2e89756b
RO
8492004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
850
851 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
852 to void *.
853
628b26f8
RH
8542003-12-10 Richard Henderson <rth@redhat.com>
855
856 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
857 size_t instead of int.
858
0ee646d6
HY
8592003-12-04 Hosaka Yuji <hos@tamanegi.org>
860
861 * testsuite/libffi.call/many_win32.c: Include <float.h>.
862 * testsuite/libffi.call/many_win32.c (main): Replace variable
863 int i with unsigned long ul.
864
865 * testsuite/libffi.call/cls_align_uint64.c: New test case.
866 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
867 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
868 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
869 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
870 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
871 * testsuite/libffi.call/cls_align_float.c: Likewise.
872 * testsuite/libffi.call/cls_align_double.c: Likewise.
873 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
874 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
875
2c4ed456
HY
8762003-12-02 Hosaka Yuji <hos@tamanegi.org>
877
878 PR other/13221
879 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
880 Align arguments to 32 bits.
881
d18c3386
AT
8822003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
883
884 PR other/13221
885 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
886 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
887 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
888 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
889 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
890 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
891
892 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
893
88096b2a
KG
8942003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
895
896 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
897 * testsuite/libffi.special/ffitestcxx.h: Likewise.
898
3eee102e
AT
8992003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
900
901 * Makefile.in: Rebuilt.
902 * configure: Likewise.
903 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
904 the right type.
905
5196736e
AJ
9062003-11-21 Andreas Jaeger <aj@suse.de>
907 Andreas Tobler <a.tobler@schweiz.ch>
908
909 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
910 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
911 * Makefile.in: Rebuilt.
912 * aclocal.m4: Likewise.
913 * configure: Likewise.
914 * fficonfig.h.in: Likewise.
915 * testsuite/lib/libffi-dg.exp: Add include dir.
916 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
917 * testsuite/libffi.special/ffitestcxx.h: Likewise.
918 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
919 for ffi_closure if available.
920 * testsuite/libffi.call/closure_fn1.c: Likewise.
921 * testsuite/libffi.call/closure_fn2.c: Likewise.
922 * testsuite/libffi.call/closure_fn3.c: Likewise.
923 * testsuite/libffi.call/closure_fn4.c: Likewise.
924 * testsuite/libffi.call/closure_fn5.c: Likewise.
925 * testsuite/libffi.call/cls_12byte.c: Likewise.
926 * testsuite/libffi.call/cls_16byte.c: Likewise.
927 * testsuite/libffi.call/cls_18byte.c: Likewise.
928 * testsuite/libffi.call/cls_19byte.c: Likewise.
929 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
930 * testsuite/libffi.call/cls_20byte.c: Likewise.
931 * testsuite/libffi.call/cls_20byte1.c: Likewise.
932 * testsuite/libffi.call/cls_24byte.c: Likewise.
933 * testsuite/libffi.call/cls_2byte.c: Likewise.
934 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
935 * testsuite/libffi.call/cls_3byte1.c: Likewise.
936 * testsuite/libffi.call/cls_3byte2.c: Likewise.
937 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
938 * testsuite/libffi.call/cls_4byte.c: Likewise.
939 * testsuite/libffi.call/cls_5byte.c: Likewise.
940 * testsuite/libffi.call/cls_64byte.c: Likewise.
941 * testsuite/libffi.call/cls_6byte.c: Likewise.
942 * testsuite/libffi.call/cls_7byte.c: Likewise.
943 * testsuite/libffi.call/cls_8byte.c: Likewise.
944 * testsuite/libffi.call/cls_9byte1.c: Likewise.
945 * testsuite/libffi.call/cls_9byte2.c: Likewise.
946 * testsuite/libffi.call/cls_double.c: Likewise.
947 * testsuite/libffi.call/cls_float.c: Likewise.
948 * testsuite/libffi.call/cls_schar.c: Likewise.
949 * testsuite/libffi.call/cls_sint.c: Likewise.
950 * testsuite/libffi.call/cls_sshort.c: Likewise.
951 * testsuite/libffi.call/cls_uchar.c: Likewise.
952 * testsuite/libffi.call/cls_uint.c: Likewise.
953 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
954 * testsuite/libffi.call/cls_ushort.c: Likewise.
955 * testsuite/libffi.call/nested_struct.c: Likewise.
956 * testsuite/libffi.call/nested_struct1.c: Likewise.
957 * testsuite/libffi.call/nested_struct2.c: Likewise.
958 * testsuite/libffi.call/nested_struct3.c: Likewise.
959 * testsuite/libffi.call/problem1.c: Likewise.
960 * testsuite/libffi.special/unwindtest.cc: Likewise.
961
9e6c3ecb
AT
9622003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
963
964 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
965
70d8f2a1
AT
9662003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
967
968 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
969 Add -lgcc_s to additional flags.
970
ea81d2a3
AT
9712003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
972
973 * configure.in, include/Makefile.am: PR libgcj/11147, install
974 the ffitarget.h header file in a gcc versioned and target
975 dependent place.
976 * configure: Regenerated.
977 * Makefile.in, include/Makefile.in: Likewise.
978 * testsuite/Makefile.in: Likewise.
979
647af4a9
AT
9802003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
981
982 * testsuite/libffi.call/closure_fn0.c: Print result and check
983 with dg-output to make debugging easier.
984 * testsuite/libffi.call/closure_fn1.c: Likewise.
985 * testsuite/libffi.call/closure_fn2.c: Likewise.
986 * testsuite/libffi.call/closure_fn3.c: Likewise.
987 * testsuite/libffi.call/closure_fn4.c: Likewise.
988 * testsuite/libffi.call/closure_fn5.c: Likewise.
989 * testsuite/libffi.call/cls_12byte.c: Likewise.
990 * testsuite/libffi.call/cls_16byte.c: Likewise.
991 * testsuite/libffi.call/cls_18byte.c: Likewise.
992 * testsuite/libffi.call/cls_19byte.c: Likewise.
993 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
994 * testsuite/libffi.call/cls_20byte.c: Likewise.
995 * testsuite/libffi.call/cls_20byte1.c: Likewise.
996 * testsuite/libffi.call/cls_24byte.c: Likewise.
997 * testsuite/libffi.call/cls_2byte.c: Likewise.
998 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
999 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1000 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1001 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1002 * testsuite/libffi.call/cls_4byte.c: Likewise.
1003 * testsuite/libffi.call/cls_5byte.c: Likewise.
1004 * testsuite/libffi.call/cls_64byte.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_9byte1.c: Likewise.
1009 * testsuite/libffi.call/cls_9byte2.c: Likewise.
1010 * testsuite/libffi.call/cls_double.c: Likewise.
1011 * testsuite/libffi.call/cls_float.c: Likewise.
1012 * testsuite/libffi.call/cls_schar.c: Likewise.
1013 * testsuite/libffi.call/cls_sint.c: Likewise.
1014 * testsuite/libffi.call/cls_sshort.c: Likewise.
1015 * testsuite/libffi.call/cls_uchar.c: Likewise.
1016 * testsuite/libffi.call/cls_uint.c: Likewise.
1017 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1018 * testsuite/libffi.call/cls_ushort.c: Likewise.
1019 * testsuite/libffi.call/problem1.c: Likewise.
1020
1021 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
1022 static.
1023
ac47cc13
AT
10242003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
1025
1026 * testsuite/libffi.call/cls_9byte2.c: New test case.
1027 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1028 * testsuite/libffi.call/cls_64byte.c: Likewise.
1029 * testsuite/libffi.call/cls_20byte1.c: Likewise.
1030 * testsuite/libffi.call/cls_19byte.c: Likewise.
1031 * testsuite/libffi.call/cls_18byte.c: Likewise.
1032 * testsuite/libffi.call/closure_fn4.c: Likewise.
1033 * testsuite/libffi.call/closure_fn5.c: Likewise.
1034 * testsuite/libffi.call/cls_schar.c: Likewise.
1035 * testsuite/libffi.call/cls_sint.c: Likewise.
1036 * testsuite/libffi.call/cls_sshort.c: Likewise.
1037 * testsuite/libffi.call/nested_struct2.c: Likewise.
1038 * testsuite/libffi.call/nested_struct3.c: Likewise.
1039
f145ed6b
AT
10402003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
1041
1042 * testsuite/libffi.call/cls_double.c: Do a check on the result.
1043 * testsuite/libffi.call/cls_uchar.c: Likewise.
1044 * testsuite/libffi.call/cls_uint.c: Likewise.
1045 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1046 * testsuite/libffi.call/cls_ushort.c: Likewise.
1047 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
1048
2b04d015
AT
10492003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
1050
1051 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
1052 the initialization.
1053
57f542b3
AT
10542003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
1055
2b04d015 1056 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
1057 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
1058
e61acf72
DD
10592003-10-22 David Daney <ddaney@avtrex.com>
1060
1061 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
1062 __attribute__((__mode__(__SI__))) and friends.
1063
2461c08b
AS
10642003-10-22 Andreas Schwab <schwab@suse.de>
1065
1066 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
1067
1450eb7a
AT
10682003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
1069
1070 * configure.in: AC_LINK_FILES(ffitarget.h).
1071 * configure: Regenerate.
1072 * Makefile.in: Likewise.
1073 * include/Makefile.in: Likewise.
1074 * testsuite/Makefile.in: Likewise.
1075 * fficonfig.h.in: Likewise.
1076
10772003-10-21 Paolo Bonzini <bonzini@gnu.org>
1078 Richard Henderson <rth@redhat.com>
1079
1080 Avoid that ffi.h includes fficonfig.h.
1081
1082 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
1083 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1084 (TARGET_SRC_MIPS_SGI): Removed.
1085 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1086 (MIPS_SGI): Removed.
1087 (CLEANFILES): Removed.
1088 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
1089 targets.
1090 * acconfig.h: Removed.
1091 * configure.in: Compute sizeofs only for double and long double.
1092 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
1093 into AC_DEFINE instead of using acconfig.h. Create
1094 include/ffitarget.h instead of include/fficonfig.h. Rename
1095 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
1096 AC_DEFINE EH_FRAME_FLAGS.
1097 * include/Makefile.am (DISTCLEANFILES): New automake macro.
1098 (hack_DATA): Add ffitarget.h.
1099 * include/ffi.h.in: Remove all system specific definitions.
1100 Declare raw API even if it is not installed, why bother?
1101 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
1102 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
1103 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
1104 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
1105 * include/ffi_common.h (bool): Do not define.
1106 (ffi_assert): Accept failed assertion.
1107 (ffi_type_test): Return void and accept file/line.
1108 (FFI_ASSERT): Pass stringized failed assertion.
1109 (FFI_ASSERT_AT): New macro.
1110 (FFI_ASSERT_VALID_TYPE): New macro.
1111 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
1112 UINT64, SINT64): Define here with gcc's __attribute__ macro
1113 instead of in ffi.h
1114 (FLOAT32, ALIGN): Define here instead of in ffi.h
1115 * include/ffi-mips.h: Removed. Its content moved to
1116 src/mips/ffitarget.h after separating assembly and C sections.
1117 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
1118 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
1119 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
1120 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
1121 SIZEOF_ARG -> FFI_SIZEOF_ARG.
1122 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
1123 * src/debug.c (ffi_assert): Accept stringized failed assertion.
1124 (ffi_type_test): Rewritten.
1125 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
1126 FFI_ASSERT_VALID_TYPE.
1127 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
1128 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
1129 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
1130 src/s390/ffitarget.h, src/sh/ffitarget.h,
1131 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
1132 src/x86/ffitarget.h: New files.
1133 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
1134 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
1135 src/powerpc/aix.S, src/powerpc/darwin.S,
1136 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
1137 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
1138 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
1139 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
1140 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
1141 include fficonfig.h
1142
27d54b2a
RO
11432003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1144
1145 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
1146 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
1147
0df6970d
AT
11482003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
1149
1150 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
1151 Used when FFI_DEBUG = 1.
1152
2612ffce
AM
11532003-10-14 Alan Modra <amodra@bigpond.net.au>
1154
1155 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
1156 and align.
1157
d54f7354
RO
11582003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1159
1160 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
1161 FFI_MIPS_O32 for O32 ABI.
1162
7a54c850
AT
11632003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
1164
1165 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
1166 SPARC64. Cleanup whitespaces.
1167
9e3bfa9b
AT
11682003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
1169
1170 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
1171 strongarm, xscale. Cleanup whitespaces.
1172 * testsuite/libffi.call/closure_fn1.c: Likewise.
1173 * testsuite/libffi.call/closure_fn2.c: Likewise.
1174 * testsuite/libffi.call/closure_fn3.c: Likewise.
1175 * testsuite/libffi.call/cls_12byte.c: Likewise.
1176 * testsuite/libffi.call/cls_16byte.c: Likewise.
1177 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1178 * testsuite/libffi.call/cls_20byte.c: Likewise.
1179 * testsuite/libffi.call/cls_24byte.c: Likewise.
1180 * testsuite/libffi.call/cls_2byte.c: Likewise.
1181 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1182 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1183 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1184 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1185 * testsuite/libffi.call/cls_4byte.c: Likewise.
1186 * testsuite/libffi.call/cls_5byte.c: Likewise.
1187 * testsuite/libffi.call/cls_6byte.c: Likewise.
1188 * testsuite/libffi.call/cls_7byte.c: Likewise.
1189 * testsuite/libffi.call/cls_8byte.c: Likewise.
1190 * testsuite/libffi.call/cls_double.c: Likewise.
1191 * testsuite/libffi.call/cls_float.c: Likewise.
1192 * testsuite/libffi.call/cls_uchar.c: Likewise.
1193 * testsuite/libffi.call/cls_uint.c: Likewise.
1194 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1195 * testsuite/libffi.call/cls_ushort.c: Likewise.
1196 * testsuite/libffi.call/nested_struct.c: Likewise.
1197 * testsuite/libffi.call/nested_struct1.c: Likewise.
1198 * testsuite/libffi.call/problem1.c: Likewise.
1199 * testsuite/libffi.special/unwindtest.cc: Likewise.
1200 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
1201
3e86b595
DE
12022003-09-18 David Edelsohn <edelsohn@gnu.org>
1203
1204 * src/powerpc/aix.S: Cleanup whitespaces.
1205 * src/powerpc/aix_closure.S: Likewise.
1206
8d8369f8
AT
12072003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
1208
1209 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
1210 * src/powerpc/darwin_closure.S: Likewise.
1211 * src/powerpc/ffi_darwin.c: Likewise.
1212
69b182fd
AT
12132003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
1214 David Edelsohn <edelsohn@gnu.org>
1215
1216 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
1217 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
1218 parameter stack.
1219 * src/powerpc/darwin_closure.S: Likewise.
1220 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
1221 according to the Darwin/AIX ABI.
1222 (ffi_prep_cif_machdep): Likewise.
1223 (ffi_closure_helper_DARWIN): Likewise.
1224 Remove the outgoing parameter stack logic. Simplify the evaluation
1225 of the different CASE types.
1226 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
1227 statement in the trampoline code.
1228
df805cdc
KK
12292003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
1230
1231 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
1232 for the register size.
1233 (ffi_closure_helper_SYSV): Handle the structure return value
1234 address correctly.
1235 (ffi_closure_helper_SYSV): Return the appropriate type when
1236 the registers are used for the structure return value.
1237 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
1238 the 64-bit return value. Update copyright years.
1239
eb26c76c
RO
12402003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1241
1242 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
1243 srcdir for ffi_mips.h.
1244
6350c02c
AM
12452003-09-12 Alan Modra <amodra@bigpond.net.au>
1246
1247 * src/prep_cif.c (initialize_aggregate): Include tail padding in
1248 structure size.
1249 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
1250 placement of float result.
1251 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
1252 cast of "resp" for big-endian 64 bit machines.
1253
5af1c806
AM
12542003-09-11 Alan Modra <amodra@bigpond.net.au>
1255
1256 * src/types.c (double, longdouble): Merge identical SH and ARM
1257 typedefs, and add POWERPC64.
1258 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
1259 struct split over gpr and rest.
1260 (ffi_prep_cif_machdep): Correct intarg_count for structures.
1261 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
1262
086a4bd7
AT
12632003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
1264
1265 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
1266 passing correctly.
c930d8a5 1267
e517f636
AM
12682003-09-09 Alan Modra <amodra@bigpond.net.au>
1269
1270 * configure: Regenerate.
1271
6f20d627
AT
12722003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1273
1274 * Makefile.am: Remove build rules for ffitest.
1275 * Makefile.in: Rebuilt.
c930d8a5 1276
6f20d627 12772003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
1278
1279 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
1280 about implicit declaration of abort().
1281
bbf3057b
AT
12822003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1283
1284 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
1285 * Makefile.in: Rebuilt.
1286 * configure.in: Add dejagnu test framework.
1287 * configure: Rebuilt.
1288
1289 * testsuite/Makefile.am: New file.
1290 * testsuite/Makefile.in: Built
c930d8a5 1291 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
1292 * testsuite/config/default.exp: Likewise.
1293 * testsuite/libffi.call/call.exp: Likewise.
1294 * testsuite/libffi.call/ffitest.h: Likewise.
1295 * testsuite/libffi.call/closure_fn0.c: Likewise.
1296 * testsuite/libffi.call/closure_fn1.c: Likewise.
1297 * testsuite/libffi.call/closure_fn2.c: Likewise.
1298 * testsuite/libffi.call/closure_fn3.c: Likewise.
1299 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1300 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1301 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1302 * testsuite/libffi.call/cls_2byte.c: Likewise.
1303 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1304 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1305 * testsuite/libffi.call/cls_4byte.c: Likewise.
1306 * testsuite/libffi.call/cls_5byte.c: Likewise.
1307 * testsuite/libffi.call/cls_6byte.c: Likewise.
1308 * testsuite/libffi.call/cls_7byte.c: Likewise.
1309 * testsuite/libffi.call/cls_8byte.c: Likewise.
1310 * testsuite/libffi.call/cls_12byte.c: Likewise.
1311 * testsuite/libffi.call/cls_16byte.c: Likewise.
1312 * testsuite/libffi.call/cls_20byte.c: Likewise.
1313 * testsuite/libffi.call/cls_24byte.c: Likewise.
1314 * testsuite/libffi.call/cls_double.c: Likewise.
1315 * testsuite/libffi.call/cls_float.c: Likewise.
1316 * testsuite/libffi.call/cls_uchar.c: Likewise.
1317 * testsuite/libffi.call/cls_uint.c: Likewise.
1318 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1319 * testsuite/libffi.call/cls_ushort.c: Likewise.
1320 * testsuite/libffi.call/float.c: Likewise.
1321 * testsuite/libffi.call/float1.c: Likewise.
1322 * testsuite/libffi.call/float2.c: Likewise.
1323 * testsuite/libffi.call/many.c: Likewise.
1324 * testsuite/libffi.call/many_win32.c: Likewise.
1325 * testsuite/libffi.call/nested_struct.c: Likewise.
1326 * testsuite/libffi.call/nested_struct1.c: Likewise.
1327 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1328 * testsuite/libffi.call/problem1.c: Likewise.
1329 * testsuite/libffi.call/promotion.c: Likewise.
1330 * testsuite/libffi.call/return_ll.c: Likewise.
1331 * testsuite/libffi.call/return_sc.c: Likewise.
1332 * testsuite/libffi.call/return_uc.c: Likewise.
1333 * testsuite/libffi.call/strlen.c: Likewise.
1334 * testsuite/libffi.call/strlen_win32.c: Likewise.
1335 * testsuite/libffi.call/struct1.c: Likewise.
1336 * testsuite/libffi.call/struct2.c: Likewise.
1337 * testsuite/libffi.call/struct3.c: Likewise.
1338 * testsuite/libffi.call/struct4.c: Likewise.
1339 * testsuite/libffi.call/struct5.c: Likewise.
1340 * testsuite/libffi.call/struct6.c: Likewise.
1341 * testsuite/libffi.call/struct7.c: Likewise.
1342 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 1343 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
1344 * testsuite/libffi.special/special.exp: New file.
1345 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1346 * testsuite/libffi.special/unwindtest.cc: Likewise.
1347
c930d8a5 1348
996b4f8f
KK
13492003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
1350
1351 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
1352 copyright years.
1353
b00badcd
AM
13542003-08-02 Alan Modra <amodra@bigpond.net.au>
1355
1356 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1357 structure passing.
1358 (ffi_closure_helper_LINUX64): Likewise.
1359 * src/powerpc/linux64.S: Remove code writing to parm save area.
1360 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
1361 address in lr from ffi_closure_helper_LINUX64 call to calculate
1362 table address. Optimize function tail.
1363
c1516eae
AT
13642003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
1365
1366 * src/sparc/ffi.c: Handle all floating point registers.
1367 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
1368
fc0e6222
GP
13692003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1370
1371 * README: Note that libffi is not part of GCC. Update the project
1372 URL and status.
1373
a1569df8
FS
13742003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1375
1376 * src/powerpc/ppc_closure.S: Include ffi.h.
1377
12e816bf
RO
13782003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1379
1380 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
1381 Use C style comments.
1382
e860ed6d
KK
13832003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1384
1385 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
1386 * Makefile.in: Regenerate.
1387 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
1388 * configure: Regenerate.
1389 * include/ffi.h.in: Add SHmedia support.
1390 * src/sh64/ffi.c: New file.
1391 * src/sh64/sysv.S: New file.
1392
a733b15e
JJ
13932003-05-16 Jakub Jelinek <jakub@redhat.com>
1394
1395 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
1396 should be read-only.
1397 * configure: Rebuilt.
1398 * fficonfig.h.in: Rebuilt.
1399 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
1400 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
1401 * src/powerpc/linux64.S: Likewise.
1402 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
1403 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
1404 if -fpic/-fPIC/-mrelocatable.
1405 * src/powerpc/powerpc_closure.S: Likewise.
1406 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
1407 #write in .eh_frame flags.
1408 * src/sparc/v9.S: Likewise.
1409 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
1410 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
1411 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
1412
bd19c9f4
JS
14132003-05-07 Jeff Sturm <jsturm@one-point.com>
1414
1415 Fixes PR bootstrap/10656
1416 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
1417 support for .register pseudo-op.
1418 * src/sparc/v8.S: Use it.
1419 * fficonfig.h.in: Rebuilt.
1420 * configure: Rebuilt.
1421
e9b84181
JJ
14222003-04-18 Jakub Jelinek <jakub@redhat.com>
1423
1424 * include/ffi.h.in (POWERPC64): Define if 64-bit.
1425 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
1426 Make it the default on POWERPC64.
1427 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
1428 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
1429 * configure: Rebuilt.
1430 * src/powerpc/ffi.c (hidden): Define.
1431 (ffi_prep_args_SYSV): Renamed from
1432 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
1433 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
1434 ASM_NEEDS_REGISTERS64): New.
1435 (ffi_prep_args64): New function.
1436 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
1437 (ffi_call): Likewise.
1438 (ffi_prep_closure): Likewise.
1439 (flush_icache): Surround by #ifndef POWERPC64.
1440 (ffi_dblfl): New union type.
1441 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
1442 (ffi_closure_helper_LINUX64): New function.
1443 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
1444 __powerpc64__.
1445 * src/powerpc/sysv.S: Likewise.
1446 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
1447 * src/powerpc/linux64.S: New file.
1448 * src/powerpc/linux64_closure.S: New file.
1449 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
1450 src/powerpc/linux64_closure.S.
1451 (TARGET_SRC_POWERPC): Likewise.
1452
1453 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
1454 closure_test_fn3): Fix result printing on big-endian 64-bit
1455 machines.
1456 (main): Print tst2_arg instead of uninitialized tst2_result.
1457
1458 * src/ffitest.c (main): Hide what closure pointer really points to
1459 from the compiler.
1460
908a31e1
RE
14612003-04-16 Richard Earnshaw <rearnsha@arm.com>
1462
1463 * configure.in (arm-*-netbsdelf*): Add configuration.
1464 (configure): Regenerated.
1465
41a73c4c
LR
14662003-04-04 Loren J. Rittle <ljrittle@acm.org>
1467
1468 * include/Makefile.in: Regenerate.
1469
cd41c847
ZD
14702003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1471
1472 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
1473 bit mode.
1474 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
1475 Receive closure pointer through parameter, read args using
1476 __builtin_dwarf_cfa.
1477 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
1478
6db450f9
AS
14792003-03-12 Andreas Schwab <schwab@suse.de>
1480
1481 * configure.in: Avoid trailing /. in toolexeclibdir.
1482 * configure: Rebuilt.
1483
70144e9c
AT
14842003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
1485
c6900272 1486 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
70144e9c 1487
79e43f89
AT
14882003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
1489
1490 * libffi/src/powerpc/darwin_closure.S:
1491 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 1492 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
1493 Likewise.
1494 * libffi/src/powerpc/ffi_darwin.c:
1495 Update stackframe description for aix/darwin_closure.S.
c930d8a5 1496
0fcc9e55
JJ
14972003-02-06 Jakub Jelinek <jakub@redhat.com>
1498
1499 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1500 attribute.
1501
63b87c2e
CC
15022003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
1503 Andreas Schwab <schwab@suse.de>
1504
c6900272 1505 * configure.in: Adjust command to source config-ml.in to account
63b87c2e
CC
1506 for changes to the libffi_basedir definition.
1507 (libffi_basedir): Remove ${srcdir} from value and include trailing
1508 slash if nonempty.
c930d8a5 1509
c6900272 1510 * configure: Regenerate.
63b87c2e 1511
c33402e2
FS
15122003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1513
1514 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1515
fd2e49b2
AH
15162003-01-28 Andrew Haley <aph@redhat.com>
1517
1518 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1519 * src/x86/ffi64.c (ffi_prep_closure): New.
1520 (ffi_closure_UNIX64_inner): New.
1521 * src/x86/unix64.S (ffi_closure_UNIX64): New.
1522
0e292c01
AO
15232003-01-27 Alexandre Oliva <aoliva@redhat.com>
1524
1525 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1526 Remove USE_LIBDIR conditional.
1527 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1528 * Makefile.in, configure: Rebuilt.
1529
acabc220
DE
15302003-01027 David Edelsohn <edelsohn@gnu.org>
1531
1532 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1533 * Makefile.in: Regenerate.
1534
be0acd42
AH
15352003-01-22 Andrew Haley <aph@redhat.com>
1536
1537 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1538 unwind info.
1539
ed695c8e
AT
15402003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
1541
1542 * src/powerpc/darwin.S: Add unwind info.
1543 * src/powerpc/darwin_closure.S: Likewise.
1544
45ba15f4
AH
15452003-01-14 Andrew Haley <aph@redhat.com>
1546
1547 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1548 (ffi_prep_cif_machdep): Likewise.
1549 * src/x86/unix64.S: Add unwind info.
1550
4b5f402e
AJ
15512003-01-14 Andreas Jaeger <aj@suse.de>
1552
1553 * src/ffitest.c (main): Only use ffi_closures if those are
1554 supported.
1555
7b5102af
TT
15562003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
1557
1558 * libffi/src/ffitest.c
c6900272 1559 add closure testcases
7b5102af
TT
1560
15612003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
1562
1563 * libffi/src/powerpc/ffi.c
c6900272 1564 fix alignment bug for float (4 byte aligned iso 8 byte)
7b5102af 1565
5f7c78d8
GK
15662003-01-09 Geoffrey Keating <geoffk@apple.com>
1567
1568 * src/powerpc/ffi_darwin.c: Remove RCS version string.
1569 * src/powerpc/darwin.S: Remove RCS version string.
1570
c75c7793
JS
15712003-01-03 Jeff Sturm <jsturm@one-point.com>
1572
1573 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1574 * src/ffitest.c (main): Use static storage for closure.
1575 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1576 * src/sparc/v8.S (ffi_closure_v8): New.
1577 * src/sparc/v9.S (ffi_closure_v9): New.
1578
eb3c46a1
RM
15792002-11-10 Ranjit Mathew <rmathew@hotmail.com>
1580
1581 * include/ffi.h.in: Added FFI_STDCALL ffi_type
1582 enumeration for X86_WIN32.
1583 * src/x86/win32.S: Added ffi_call_STDCALL function
1584 definition.
1585 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1586 switch cases for recognising FFI_STDCALL and
1587 calling ffi_call_STDCALL if target is X86_WIN32.
1588 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1589 stdcall versions of the "my_strlen" and "many"
1590 test functions (for X86_WIN32).
1591 Added test cases to test stdcall invocation using
1592 these functions.
1593
4977bab6
ZW
15942002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
1595
1596 * src/sh/sysv.S: Add DWARF2 unwind info.
1597
67333e84
UW
15982002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
1599
1600 * src/s390/sysv.S (.eh_frame section): Make section read-only.
1601
bc3cf760
JW
16022002-11-26 Jim Wilson <wilson@redhat.com>
1603
1604 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1605
4977bab6
ZW
16062002-11-23 H.J. Lu <hjl@gnu.org>
1607
1608 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1609 Include ../config/accross.m4.
1610 * aclocal.m4; Rebuild.
1611 * configure: Likewise.
1612
18789f4e
UW
16132002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
1614
1615 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1616
6bee5372
DD
16172002-11-11 DJ Delorie <dj@redhat.com>
1618
1619 * configure.in: Look for common files in the right place.
1620
8177895b
UW
16212002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1622
1623 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1624 raw data as _Jv_word values, not ffi_raw.
1625 (ffi_java_ptrarray_to_raw): Likewise.
1626 (ffi_java_rvalue_to_raw): New function.
1627 (ffi_java_raw_call): Call it.
1628 (ffi_java_raw_to_rvalue): New function.
1629 (ffi_java_translate_args): Call it.
1630 * src/ffitest.c (closure_test_fn): Interpret return value
1631 as ffi_arg, not int.
1632 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1633 FFI_TYPE_POINTER case.
1634 (ffi_closure_helper_SYSV): Likewise. Also, assume return
1635 values extended to word size.
1636
af50f4c8
AJ
16372002-10-02 Andreas Jaeger <aj@suse.de>
1638
1639 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1640
5d297584
BT
16412002-10-01 Bo Thorsen <bo@smetana.suse.de>
1642
1643 * include/ffi.h.in: Fix i386 win32 compilation.
1644
c4f17c6f
UW
16452002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1646
1647 * configure.in: Add s390x-*-linux-* target.
1648 * configure: Regenerate.
1649 * include/ffi.h.in: Define S390X for s390x targets.
1650 (FFI_CLOSURES): Define for s390/s390x.
1651 (FFI_TRAMPOLINE_SIZE): Likewise.
1652 (FFI_NATIVE_RAW_API): Likewise.
1653 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1654 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 1655 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
1656 s390x targets. Add closure support.
1657 * src/s390/sysv.S: Likewise.
1658
d7b52625
RE
16592002-09-29 Richard Earnshaw <rearnsha@arm.com>
1660
1661 * src/arm/sysv.S: Fix typo.
1662
28165e22
RE
16632002-09-28 Richard Earnshaw <rearnsha@arm.com>
1664
1665 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1666 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1667 (ffi_call_SYSV): Handle soft-float.
1668
0b0f4163
BT
16692002-09-27 Bo Thorsen <bo@suse.de>
1670
1671 * include/ffi.h.in: Fix multilib x86-64 support.
1672
6c5d742e
KG
16732002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1674
1675 * Makefile.am (all-multi): Fix multilib parallel build.
1676
f4b2b0d6
KK
16772002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1678
1679 * configure.in (sh[34]*-*-linux*): Add brackets.
1680 * configure: Regenerate.
1681
ddebdfeb
KK
16822002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1683
1684 * Makefile.am: Add SH support.
1685 * Makefile.in: Regenerate.
1686 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1687 * configure: Regenerate.
1688 * include/ffi.h.in: Add SH support.
1689 * src/sh/ffi.c: New file.
1690 * src/sh/sysv.S: New file.
1691 * src/types.c: Add SH support.
1692
c94974ca
BT
16932002-07-16 Bo Thorsen <bo@suse.de>
1694
1695 * src/x86/ffi64.c: New file that adds x86-64 support.
1696 * src/x86/unix64.S: New file that handles argument setup for
1697 x86-64.
1698 * src/x86/sysv.S: Don't use this on x86-64.
1699 * src/x86/ffi.c: Don't use this on x86-64.
1700 Remove unused vars.
1701 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1702 for x86-64.
1703 * src/ffitest.c (struct6): New test that tests a special case in
1704 the x86-64 ABI.
1705 (struct7): Likewise.
1706 (struct8): Likewise.
1707 (struct9): Likewise.
1708 (closure_test_fn): Silence warning about this when it's not used.
1709 (main): Add the new tests.
1710 (main): Fix a couple of wrong casts and silence some compiler warnings.
1711 * include/ffi.h.in: Add x86-64 ABI definition.
1712 * fficonfig.h.in: Regenerate.
1713 * Makefile.am: Add x86-64 support.
1714 * configure.in: Likewise.
1715 * Makefile.in: Regenerate.
1716 * configure: Likewise.
1717
17182002-06-24 Bo Thorsen <bo@suse.de>
1719
1720 * src/types.c: Merge settings for similar architectures.
1721 Add x86-64 sizes and alignments.
1722
17232002-06-23 Bo Thorsen <bo@suse.de>
1724
1725 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1726 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1727 * src/mips/ffi.c (ffi_prep_args): Likewise.
1728 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1729
5be36a8f
L
17302002-07-18 H.J. Lu (hjl@gnu.org)
1731
1732 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1733 (libffi_la_SOURCES): Support MIPS_LINUX.
1734 (libffi_convenience_la_SOURCES): Likewise.
1735 * Makefile.in: Regenerated.
1736
1737 * configure.in (mips64*-*): Skip.
1738 (mips*-*-linux*): New.
1739 * configure: Regenerated.
1740
1741 * src/mips/ffi.c: Include <sgidefs.h>.
1742
ad5e163c
UW
17432002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1744
1745 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1746
ee4586c5
RS
17472002-05-27 Roger Sayle <roger@eyesopen.com>
1748
1749 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1750
b86aa7b0
BT
17512002-05-27 Bo Thorsen <bo@suse.de>
1752
1753 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1754 fix formatting.
1755
859f7aaf
AT
17562002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1757
1758 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1759 beginning of function (for older apple cc).
1760
6706f116
AO
17612002-05-08 Alexandre Oliva <aoliva@redhat.com>
1762
1763 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1764 script entry, and set LD to it when configuring multilibs.
1765 * configure: Rebuilt.
1766
fad655c8
JT
17672002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1768
1769 * configure.in (sparc64-*-netbsd*): Add target.
1770 (sparc-*-netbsdelf*): Likewise.
1771 * configure: Regenerate.
1772
189ab118
DM
17732002-04-28 David S. Miller <davem@redhat.com>
1774
1775 * configure.in, configure: Fix SPARC test in previous change.
1776
22bcf65c
GT
17772002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1778
1779 * Makefile.am: Add Linux for S/390 support.
1780 * Makefile.in: Regenerate.
1781 * configure.in: Add Linux for S/390 support.
1782 * configure: Regenerate.
1783 * include/ffi.h.in: Add Linux for S/390 support.
1784 * src/s390/ffi.c: New file from libffi CVS tree.
1785 * src/s390/sysv.S: New file from libffi CVS tree.
1786
5d84cf0b
JJ
17872002-04-28 Jakub Jelinek <jakub@redhat.com>
1788
1789 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1790 %r_disp32().
1791 * src/sparc/v8.S: Use it.
1792 * src/sparc/v9.S: Likewise.
1793 * fficonfig.h.in: Rebuilt.
1794 * configure: Rebuilt.
1795
cc382e5c
HB
17962002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1797
1798 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1799 correctly.
1800 * src/ia64/unix.S: Add unwind information. Fix comments.
1801 Save sp in a way that's compatible with unwind info.
1802 (ffi_call_unix): Correctly restore sp in all cases.
1803 * src/ia64/ffi.c: Add, fix comments.
1804
dc798645
JJ
18052002-04-08 Jakub Jelinek <jakub@redhat.com>
1806
1807 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1808
da00eaab
JT
18092002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1810
1811 * configure.in (alpha*-*-netbsd*): Add target.
1812 * configure: Regenerate.
1813
0c0b87ad
JS
18142002-04-04 Jeff Sturm <jsturm@one-point.com>
1815
1816 * src/sparc/v8.S: Add unwind info.
1817 * src/sparc/v9.S: Likewise.
1818
320d7e7a
KW
18192002-03-30 Krister Walfridsson <cato@df.lth.se>
1820
1821 * configure.in: Enable i*86-*-netbsdelf*.
1822 * configure: Rebuilt.
4977bab6 1823
c75e51ed
DB
18242002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1825
1826 PR other/2620
1827 * src/mips/n32.s: Delete
1828 * src/mips/o32.s: Delete
1829
5bb366e0
LR
18302002-03-21 Loren J. Rittle <ljrittle@acm.org>
1831
1832 * configure.in: Enable alpha*-*-freebsd*.
1833 * configure: Rebuilt.
1834
ce3b24a7
BM
18352002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1836
1837 * Makefile.am: libfficonvenience -> libffi_convenience.
1838 * Makefile.in: Rebuilt.
4977bab6 1839
1eb7ba30
BM
1840 * Makefile.am: Define ffitest_OBJECTS.
1841 * Makefile.in: Rebuilt.
ce3b24a7 1842
073ae293
AT
18432002-03-07 Andreas Tobler <toa@pop.agri.ch>
1844 David Edelsohn <edelsohn@gnu.org>
1845
1846 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1847 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1848 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1849 * Makefile.in: Regenerate.
1850 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1851 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1852 (flush_icache, flush_range): New functions.
1853 (ffi_closure_helper_DARWIN): New function.
1854 * src/powerpc/aix_closure.S: New file.
1855 * src/powerpc/darwin_closure.S: New file.
4977bab6 1856
02c521f4
JS
18572002-02-24 Jeff Sturm <jsturm@one-point.com>
1858
1859 * include/ffi.h.in: Add typedef for ffi_arg.
1860 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 1861
287dd527
AT
18622002-02-21 Andreas Tobler <toa@pop.agri.ch>
1863
1864 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1865 number of GPRs for floating-point arguments.
1866
e2f2e70a
AG
18672002-01-31 Anthony Green <green@redhat.com>
1868
1869 * configure: Rebuilt.
1870 * configure.in: Replace CHECK_SIZEOF and endian tests with
1871 cross-compiler friendly macros.
1872 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1873 macros.
1874
15b9b32f
DE
18752002-01-18 David Edelsohn <edelsohn@gnu.org>
1876
1877 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 1878 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 1879
2f4006f8
DE
18802002-01-17 David Edelsohn <edelsohn@gnu.org>
1881
1882 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1883 (TARGET_SRC_POWERPC_AIX): New.
1884 (POWERPC_AIX): New stanza.
1885 * Makefile.in: Regenerate.
1886 * configure.in: Add AIX case.
1887 * configure: Regenerate.
1888 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1889 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1890 size. Fix "long double" support.
1891 (ffi_call): Add FFI_AIX case.
1892 * src/powerpc/aix.S: New.
1893
3c017635
JH
18942001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1895
1896 Implement Darwin PowerPC ABI.
1897 * configure.in: Handle powerpc-*-darwin*.
1898 * Makefile.am: Set source files for POWERPC_DARWIN.
1899 * configure: Rebuilt.
1900 * Makefile.in: Rebuilt.
1901 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1902 POWERPC_DARWIN.
1903 * src/powerpc/darwin.S: New file.
1904 * src/powerpc/ffi_darwin.c: New file.
1905
cc712abf
JM
19062001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1907
1908 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1909
03a8de49
RO
19102001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1911
1912 * src/x86/sysv.S: Avoid gas-only .balign directive.
1913 Use C style comments.
1914
92a0e6c6
RO
19152001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1916
1917 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1918 Fixes PR bootstrap/3563.
1919
57482f58
RO
19202001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1921
1922 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1923
d7e2dd2f
RO
19242001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1925
1926 * configure.in: Recognize sparc*-sun-* host.
1927 * configure: Regenerate.
4977bab6 1928
be72207c
AH
19292001-06-06 Andrew Haley <aph@redhat.com>
1930
4075db8f 1931 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 1932
552cb45a
AH
19332001-06-03 Andrew Haley <aph@redhat.com>
1934
4075db8f
BT
1935 * src/alpha/osf.S: Add unwind info.
1936 * src/powerpc/sysv.S: Add unwind info.
1937 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 1938
7d45b968
JS
19392000-05-31 Jeff Sturm <jsturm@one-point.com>
1940
1941 * configure.in: Fix AC_ARG_ENABLE usage.
1942 * configure: Rebuilt.
1943
2a7f63c4
BM
19442001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1945
1946 * configure.in: Remove warning about beta code.
1947 * configure: Rebuilt.
1948
19492001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1950
03a55252
HB
1951 * src/ia64/unix.S: Restore stack pointer when returning from
1952 ffi_closure_UNIX.
1953 * src/ia64/ffi.c: Fix typo in comment.
1954
df5da1c4
JW
19552001-04-18 Jim Wilson <wilson@redhat.com>
1956
1957 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1958 to eliminate RAW DV.
1959
52c28977
BM
19602001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1961
1962 * Makefile.am: Make a libtool convenience library.
1963 * Makefile.in: Rebuilt.
1964
3b905056
BM
19652001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1966
1967 * configure.in: Use different syntax for subdirectory creation.
1968 * configure: Rebuilt.
1969
d6c4152a
JB
19702001-03-27 Jon Beniston <jon@beniston.com>
1971
1972 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1973 * configure: Rebuilt.
1974 * Makefile.am: Added X86_WIN32 target support.
1975 * Makefile.in: Rebuilt.
1976
1977 * include/ffi.h.in: Added X86_WIN32 target support.
1978
1979 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1980 * src/types.c: Added X86_WIN32 target support.
1981
1982 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1983 stuff removed and made to work with CygWin's gas.
1984
675cdab3
BM
19852001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1986
1987 * configure.in: Make target subdirectory in build dir.
1988 * Makefile.am: Override suffix based rules to specify correct output
1989 subdirectory.
1990 * Makefile.in: Rebuilt.
1991 * configure: Rebuilt.
1992
e5f8858a 19932001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
1994
1995 * src/powerpc/ppc_closure.S: New file.
1996 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1997 involving long long and register pairs.
1998 (ffi_prep_closure): New function.
1999 (flush_icache): Likewise.
2000 (ffi_closure_helper_SYSV): Likewise.
2001 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
2002 (FFI_TRAMPOLINE_SIZE): Likewise.
2003 (FFI_NATIVE_RAW_API): Likewise.
2004 * Makefile.in: Rebuilt.
2005 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
2006 (TARGET_SRC_POWERPC): Likewise.
2007
9450a929
TT
20082001-03-19 Tom Tromey <tromey@redhat.com>
2009
2010 * Makefile.in: Rebuilt.
2011 * Makefile.am (ffitest_LDFLAGS): New macro.
2012
4d2cf715
NC
20132001-03-02 Nick Clifton <nickc@redhat.com>
2014
2015 * include/ffi.h.in: Remove RCS ident string.
2016 * include/ffi_mips.h: Remove RCS ident string.
2017 * src/debug.c: Remove RCS ident string.
2018 * src/ffitest.c: Remove RCS ident string.
2019 * src/prep_cif.c: Remove RCS ident string.
2020 * src/types.c: Remove RCS ident string.
2021 * src/alpha/ffi.c: Remove RCS ident string.
2022 * src/alpha/osf.S: Remove RCS ident string.
2023 * src/arm/ffi.c: Remove RCS ident string.
2024 * src/arm/sysv.S: Remove RCS ident string.
2025 * src/mips/ffi.c: Remove RCS ident string.
2026 * src/mips/n32.S: Remove RCS ident string.
2027 * src/mips/o32.S: Remove RCS ident string.
2028 * src/sparc/ffi.c: Remove RCS ident string.
2029 * src/sparc/v8.S: Remove RCS ident string.
2030 * src/sparc/v9.S: Remove RCS ident string.
2031 * src/x86/ffi.c: Remove RCS ident string.
2032 * src/x86/sysv.S: Remove RCS ident string.
2033
7e5fd99f
JM
20342001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
2035
2036 * include/ffi.h.in: Change sourceware.cygnus.com references to
2037 gcc.gnu.org.
2038
3f67ba6e
RH
20392000-12-09 Richard Henderson <rth@redhat.com>
2040
2041 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
2042 (ffi_closure_osf_inner): Index rather than increment avalue
2043 and arg_types. Give ffi_closure_osf the raw return value type.
2044 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
2045 promotion.
2046
20472000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
2048
2049 * src/raw_api.c (ffi_translate_args): Fix typo.
2050 (ffi_prep_closure): Likewise.
2051
2052 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
2053 FFI_TRAMPOLINE_SIZE.
2054 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
2055 cif->bytes for new ffi_call_osf implementation.
2056 (ffi_prep_args): Absorb into ...
2057 (ffi_call): ... here. Do all stack allocation here and
2058 avoid a callback function.
2059 (ffi_prep_closure, ffi_closure_osf_inner): New.
2060 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
2061 (ffi_closure_osf): New.
2062
2f7bf5b7
AO
20632000-09-10 Alexandre Oliva <aoliva@redhat.com>
2064
ed1c1a1a
AO
2065 * config.guess, config.sub, install-sh: Removed.
2066 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
2067 * Makefile.in: Rebuilt.
2068
2f7bf5b7
AO
2069 * acinclude.m4: Include libtool macros from the top level.
2070 * aclocal.m4, configure: Rebuilt.
2071
e15a68e7
AO
20722000-08-22 Alexandre Oliva <aoliva@redhat.com>
2073
2074 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
2075 * configure: Rebuilt.
2076
7f8c11d5
SB
20772000-05-11 Scott Bambrough <scottb@netwinder.org>
2078
4977bab6
ZW
2079 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
2080 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
2081 possible.
2082
c5acf51f
TT
20832000-05-04 Tom Tromey <tromey@cygnus.com>
2084
2085 * configure: Rebuilt.
2086 * configure.in: Match `arm*-*-linux-*'.
2087 From Chris Dornan <cdornan@arm.com>.
2088
91bffbe9
JJ
20892000-04-28 Jakub Jelinek <jakub@redhat.com>
2090
2091 * Makefile.am (SUBDIRS): Define.
2092 (AM_MAKEFLAGS): Likewise.
2093 (Multilib support.): Add section.
2094 * Makefile.in: Rebuilt.
2095 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
2096 New variables. Set for gcc using -print-multi-lib. Export them
2097 to libtool.
2098 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
2099 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
2100 for -shared links.
2101 (extra_compiler_flags_value, extra_compiler_flags): Check these
2102 for extra compiler options which need to be passed down in
2103 compiler_flags.
91bffbe9 2104
bd66587e
AG
21052000-04-16 Anthony Green <green@redhat.com>
2106
2107 * configure: Rebuilt.
2108 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
2109
3791773c
JJ
21102000-04-14 Jakub Jelinek <jakub@redhat.com>
2111
4075db8f 2112 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
2113 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
2114 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
2115 Replace all void * sizeofs with sizeof(int).
2116 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
2117 different than DOUBLE.
2118 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
2119 (ffi_prep_args_v9): New function.
2120 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
2121 (ffi_V9_return_struct): New function.
2122 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
2123 32bit code (not yet cross-arch calls).
2124 * src/sparc/v8.S: Add struct return delay nop.
2125 Handle long long.
2126 * src/sparc/v9.S: New file.
2127 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
2128 is used on sparc64 only for structures larger than 32 bytes.
2129 Pass by reference for structures is done for structure arguments
2130 larger than 16 bytes.
2131 * src/ffitest.c (main): Use 64bit rint on sparc64.
2132 Run long long tests on sparc.
2133 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
2134 sparc64.
2135 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
2136 on sparc64.
2137 * configure.in (sparc-*-linux*): New supported target.
2138 (sparc64-*-linux*): Likewise.
2139 * configure: Rebuilt.
2140 * Makefile.am: Add v9.S to SPARC files.
2141 * Makefile.in: Likewise.
2142 (LINK): Surround $(CCLD) into double quotes, so that multilib
2143 compiles work correctly.
2144
db459595
APB
21452000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
2146
2147 * configure: Rebuilt.
2148 * configure.in: (i*86-*-solaris*): New libffi target. Patch
2149 proposed by Bryce McKinlay.
2150
c1f63902
TT
21512000-03-20 Tom Tromey <tromey@cygnus.com>
2152
2153 * Makefile.in: Hand edit for java_raw_api.lo.
2154
0f72dc9e
BM
21552000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
2156
2157 * config.guess, config.sub: Update from the gcc tree.
2158 Fix for PR libgcj/168.
2159
3c18f2d1
TT
21602000-03-03 Tom Tromey <tromey@cygnus.com>
2161
323eee8a
TT
2162 * Makefile.in: Fixed ia64 by hand.
2163
3c18f2d1
TT
2164 * configure: Rebuilt.
2165 * configure.in (--enable-multilib): New option.
2166 (libffi_basedir): New subst.
2167 (AC_OUTPUT): Added multilib code.
2168
a2b10a92
TT
21692000-03-02 Tom Tromey <tromey@cygnus.com>
2170
2171 * Makefile.in: Rebuilt.
2172 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
2173 directory name.
2174
dc5de370
HB
21752000-02-25 Hans Boehm <boehm@acm.org>
2176
2177 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
2178 files.
2179 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
2180 list.
2181 (ffi_prep_raw_closure): Use ffi_translate_args, not
2182 ffi_closure_translate.
2183 * src/java_raw_api.c: New file.
2184 * src/ffitest.c (closure_test_fn): New function.
2185 (main): Define `rint' as long long on IA64. Added new test when
2186 FFI_CLOSURES is defined.
2187 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
2188 (ffi_abi): Recognize IA64.
2189 (ffi_raw): Added `flt' field.
2190 Added "Java raw API" code.
2191 * configure.in: Recognize ia64.
2192 * Makefile.am (TARGET_SRC_IA64): New macro.
2193 (libffi_la_common_SOURCES): Added java_raw_api.c.
2194 (libffi_la_SOURCES): Define in IA64 case.
2195
d79229bd
TT
21962000-01-04 Tom Tromey <tromey@cygnus.com>
2197
2198 * Makefile.in: Rebuilt with newer automake.
2199
2c33b220
TT
22001999-12-31 Tom Tromey <tromey@cygnus.com>
2201
2202 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
2203
6ba9e3b0
TT
22041999-09-01 Tom Tromey <tromey@cygnus.com>
2205
2206 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
2207 undefs.
2208 * fficonfig.h.in: Rebuilt.
2209 * configure: Rebuilt.
2210 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
2211 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
2212 * acconfig.h: Don't #undef PACKAGE or VERSION.
2213
63e5e3e0
AG
22141999-08-09 Anthony Green <green@cygnus.com>
2215
2216 * include/ffi.h.in: Try to work around messy header problem
2217 with PACKAGE and VERSION.
2218
2219 * configure: Rebuilt.
2220 * configure.in: Change version to 2.00-beta.
2221
4075db8f 2222 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
2223 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
2224
2225 * src/x86/ffi.c (ffi_raw_call): Rename.
2226
22271999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
2228
2229 * src/x86/ffi.c (ffi_closure_SYSV): New function.
2230 (ffi_prep_incoming_args_SYSV): Ditto.
2231 (ffi_prep_closure): Ditto.
2232 (ffi_closure_raw_SYSV): Ditto.
2233 (ffi_prep_raw_closure): More ditto.
2234 (ffi_call_raw): Final ditto.
2235
2236 * include/ffi.h.in: Add definitions for closure and raw API.
2237
2238 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 2239 FFI_TYPE_UINT64.
63e5e3e0
AG
2240
2241 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
2242
2243 * src/raw_api.c: New file.
2244
2245 * include/ffi.h.in (ffi_raw): New type.
2246 (UINT_ARG, SINT_ARG): New defines.
2247 (ffi_closure, ffi_raw_closure): New types.
2248 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 2249
63e5e3e0
AG
2250 * configure.in: Add check for endianness and sizeof void*.
2251
2252 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
2253 instead of directly.
2254
2255 * configure: Rebuilt.
2256
2257Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
2258
2259 * configure.in: Add x86 and powerpc BeOS configurations.
2260 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
2261
22621999-05-09 Anthony Green <green@cygnus.com>
2263
2264 * configure.in: Add warning about this being beta code.
2265 Remove src/Makefile.am from the picture.
2266 * configure: Rebuilt.
2267
2268 * Makefile.am: Move logic from src/Makefile.am. Add changes
2269 to support libffi as a target library.
2270 * Makefile.in: Rebuilt.
2271
2272 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
2273 Upgraded to new autoconf, automake, libtool.
2274
2275 * README: Tweaks.
2276
2277 * LICENSE: Update copyright date.
2278
2279 * src/Makefile.am, src/Makefile.in: Removed.
2280
22811998-11-29 Anthony Green <green@cygnus.com>
2282
2283 * include/ChangeLog: Removed.
2284 * src/ChangeLog: Removed.
2285 * src/mips/ChangeLog: Removed.
2286 * src/sparc/ChangeLog: Remboved.
2287 * src/x86/ChangeLog: Removed.
2288
2289 * ChangeLog.v1: Created.