]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
2004-04-23 Paolo Bonzini <bonzini@gnu.org>
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
43935228 12004-03-20 Matthias Klose <doko@debian.org>
2
3 * src/pa/linux.S: Fix typo.
4
f35c338f 52004-03-19 Matthias Klose <doko@debian.org>
6
7 * Makefile.am: Update
8 * Makefile.in: Regenerate.
9 * src/pa/ffi.h.in: Remove.
10 * src/pa/ffitarget.h: New file.
11
122004-02-10 Randolph Chung <tausq@debian.org>
13
14 * Makefile.am: Add PA support.
15 * Makefile.in: Regenerate.
16 * include/Makefile.in: Regenerate.
17 * configure.ac: Add PA target.
18 * configure: Regenerate.
19 * src/pa/ffi.c: New file.
20 * src/pa/ffi.h.in: Add PA support.
21 * src/pa/linux.S: New file.
22 * prep_cif.c: Add PA support.
23
021bf237 242004-03-16 Hosaka Yuji <hos@tamanegi.org>
25
26 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
27 double.
28 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
29 with ecif->cif->flags.
30 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
31 with cif->flags.
32 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
33 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
34 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
35 sc_retstruct2b): Add for 1 or 2-bytes struct case.
36
4a900809 372004-03-15 Kelley Cook <kcook@gcc.gnu.org>
38
39 * configure.in: Rename file to ...
40 * configure.ac: ... this.
41 * fficonfig.h.in: Regenerate.
42 * Makefile.in: Regenerate.
43 * include/Makefile.in: Regenerate.
44 * testsuite/Makefile.in: Regenerate.
45
d128584a 462004-03-12 Matt Austern <austern@apple.com>
47
48 * src/powerpc/darwin.S: Fix EH information so it corresponds to
49 changes in EH format resulting from addition of linkonce support.
50 * src/powerpc/darwin_closure.S: Likewise.
021bf237 51
b375837d 522004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
53 Paolo Bonzini <bonzini@gnu.org>
54
55 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
56 Remove VPATH. Remove rules for object files. Remove multilib support.
57 (AM_CCASFLAGS): Add.
58 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
59 (AC_PREREQ): Bump version to 2.59.
60 (AC_INIT): Fill with version info and bug address.
61 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
62 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
63 De-precious CC so that the right flags are passed down to multilibs.
64 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
65 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
66 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
67 * configure: Rebuilt.
68 * aclocal.m4: Likewise.
69 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
70 * fficonfig.h.in: Likewise.
71
52cee448 722004-03-11 Andreas Schwab <schwab@suse.de>
73
74 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
75 arguments from fp registers only for the first 8 parameter slots.
76 Don't convert a float parameter when passed in memory.
77
ac09b42b 782004-03-09 Hans-Peter Nilsson <hp@axis.com>
79
80 * configure: Regenerate for config/accross.m4 correction.
81
497c7020 822004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
83
84 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
85 ecif->cif->bytes to bytes.
86 (ffi_prep_cif_machdep): Add braces around nested if statement.
87
0ad895fb 882004-02-09 Alan Modra <amodra@bigpond.net.au>
89
ad98ab60 90 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
91
0ad895fb 92 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
93 (ffi_closure_helper_LINUX64): Fix typo.
94 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
95 for powerpc64-*-*.
96 * testsuite/libffi.call/float.c: Likewise.
97 * testsuite/libffi.call/float2.c: Likewise.
98
de9c7178 992004-02-08 Alan Modra <amodra@bigpond.net.au>
100
101 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
102 long double function return and long double arg handling.
103 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
104 Use "end_pfr" instead of "nf". Correct long double handling.
105 Localise "temp".
106 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
107 return value.
108 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
109 space for long double return value. Adjust stack frame and offsets.
110 Load f2 long double return.
111
3474a085 1122004-02-07 Alan Modra <amodra@bigpond.net.au>
113
114 * src/types.c: Use 16 byte long double for POWERPC64.
115
071ff5d6 1162004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
117
118 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
119 when the structure return address is passed in %o0.
120 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
121 (ffi_v9_layout_struct): Align the field following a nested structure
122 on a word boundary. Use memmove instead of memcpy.
123 (ffi_call): Update call to ffi_V9_return_struct.
124 (ffi_prep_closure): Define 'ctx' only for V8.
125 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
126 and ffi_closure_sparc_inner_v9.
127 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
128 Always skip the structure return address. For structures and long
129 doubles, copy the argument directly.
130 (ffi_closure_sparc_inner_v9): Skip the structure return address only
131 if required. Shift the maximum floating-point slot accordingly. For
132 big structures, copy the argument directly; otherwise, left-justify the
133 argument and call ffi_v9_layout_struct to lay out the structure on
134 the stack.
135 * src/sparc/v8.S: Undef STACKFRAME before defining it.
136 (ffi_closure_v8): Pass the structure return address. Update call to
137 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
138 Skip the 'unimp' insn when returning long doubles and structures.
139 * src/sparc/v9.S: Undef STACKFRAME before defining it.
140 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
141 FFI_TYPE_INT handling. Load structures both in integers and
142 floating-point registers on return.
143 * README: Update status of the SPARC port.
144
24ee5f14 1452004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
146
147 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
148 as of type ffi_arg.
149 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
150
1e0ee4d8 1512004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
152
153 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
154 value as of type ffi_arg, not unsigned int.
155
c886ae3f 1562004-01-21 Michael Ritzert <ritzert@t-online.de>
157
158 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
159 of the LHS.
160
fcd85db3 1612004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
162
163 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
164 Solaris.
165
dcf910e2 1662004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
167
168 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
169 to void *.
170
3d3042b8 1712003-12-10 Richard Henderson <rth@redhat.com>
172
173 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
174 size_t instead of int.
175
dc36d4d1 1762003-12-04 Hosaka Yuji <hos@tamanegi.org>
177
178 * testsuite/libffi.call/many_win32.c: Include <float.h>.
179 * testsuite/libffi.call/many_win32.c (main): Replace variable
180 int i with unsigned long ul.
181
182 * testsuite/libffi.call/cls_align_uint64.c: New test case.
183 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
184 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
185 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
186 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
187 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
188 * testsuite/libffi.call/cls_align_float.c: Likewise.
189 * testsuite/libffi.call/cls_align_double.c: Likewise.
190 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
191 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
192
f90351a5 1932003-12-02 Hosaka Yuji <hos@tamanegi.org>
194
195 PR other/13221
196 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
197 Align arguments to 32 bits.
198
1c4a2a48 1992003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
200
201 PR other/13221
202 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
203 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
204 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
205 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
206 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
207 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
208
209 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
210
8c899267 2112003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
212
213 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
214 * testsuite/libffi.special/ffitestcxx.h: Likewise.
215
857794c9 2162003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
217
218 * Makefile.in: Rebuilt.
219 * configure: Likewise.
220 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
221 the right type.
222
e7f352cc 2232003-11-21 Andreas Jaeger <aj@suse.de>
224 Andreas Tobler <a.tobler@schweiz.ch>
225
226 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
227 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
228 * Makefile.in: Rebuilt.
229 * aclocal.m4: Likewise.
230 * configure: Likewise.
231 * fficonfig.h.in: Likewise.
232 * testsuite/lib/libffi-dg.exp: Add include dir.
233 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
234 * testsuite/libffi.special/ffitestcxx.h: Likewise.
235 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
236 for ffi_closure if available.
237 * testsuite/libffi.call/closure_fn1.c: Likewise.
238 * testsuite/libffi.call/closure_fn2.c: Likewise.
239 * testsuite/libffi.call/closure_fn3.c: Likewise.
240 * testsuite/libffi.call/closure_fn4.c: Likewise.
241 * testsuite/libffi.call/closure_fn5.c: Likewise.
242 * testsuite/libffi.call/cls_12byte.c: Likewise.
243 * testsuite/libffi.call/cls_16byte.c: Likewise.
244 * testsuite/libffi.call/cls_18byte.c: Likewise.
245 * testsuite/libffi.call/cls_19byte.c: Likewise.
246 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
247 * testsuite/libffi.call/cls_20byte.c: Likewise.
248 * testsuite/libffi.call/cls_20byte1.c: Likewise.
249 * testsuite/libffi.call/cls_24byte.c: Likewise.
250 * testsuite/libffi.call/cls_2byte.c: Likewise.
251 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
252 * testsuite/libffi.call/cls_3byte1.c: Likewise.
253 * testsuite/libffi.call/cls_3byte2.c: Likewise.
254 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
255 * testsuite/libffi.call/cls_4byte.c: Likewise.
256 * testsuite/libffi.call/cls_5byte.c: Likewise.
257 * testsuite/libffi.call/cls_64byte.c: Likewise.
258 * testsuite/libffi.call/cls_6byte.c: Likewise.
259 * testsuite/libffi.call/cls_7byte.c: Likewise.
260 * testsuite/libffi.call/cls_8byte.c: Likewise.
261 * testsuite/libffi.call/cls_9byte1.c: Likewise.
262 * testsuite/libffi.call/cls_9byte2.c: Likewise.
263 * testsuite/libffi.call/cls_double.c: Likewise.
264 * testsuite/libffi.call/cls_float.c: Likewise.
265 * testsuite/libffi.call/cls_schar.c: Likewise.
266 * testsuite/libffi.call/cls_sint.c: Likewise.
267 * testsuite/libffi.call/cls_sshort.c: Likewise.
268 * testsuite/libffi.call/cls_uchar.c: Likewise.
269 * testsuite/libffi.call/cls_uint.c: Likewise.
270 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
271 * testsuite/libffi.call/cls_ushort.c: Likewise.
272 * testsuite/libffi.call/nested_struct.c: Likewise.
273 * testsuite/libffi.call/nested_struct1.c: Likewise.
274 * testsuite/libffi.call/nested_struct2.c: Likewise.
275 * testsuite/libffi.call/nested_struct3.c: Likewise.
276 * testsuite/libffi.call/problem1.c: Likewise.
277 * testsuite/libffi.special/unwindtest.cc: Likewise.
278
71e96ac5 2792003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
280
281 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
282
fd0a337b 2832003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
284
285 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
286 Add -lgcc_s to additional flags.
287
c2dfd8f6 2882003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
289
290 * configure.in, include/Makefile.am: PR libgcj/11147, install
291 the ffitarget.h header file in a gcc versioned and target
292 dependent place.
293 * configure: Regenerated.
294 * Makefile.in, include/Makefile.in: Likewise.
295 * testsuite/Makefile.in: Likewise.
296
17c9ab63 2972003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
298
299 * testsuite/libffi.call/closure_fn0.c: Print result and check
300 with dg-output to make debugging easier.
301 * testsuite/libffi.call/closure_fn1.c: Likewise.
302 * testsuite/libffi.call/closure_fn2.c: Likewise.
303 * testsuite/libffi.call/closure_fn3.c: Likewise.
304 * testsuite/libffi.call/closure_fn4.c: Likewise.
305 * testsuite/libffi.call/closure_fn5.c: Likewise.
306 * testsuite/libffi.call/cls_12byte.c: Likewise.
307 * testsuite/libffi.call/cls_16byte.c: Likewise.
308 * testsuite/libffi.call/cls_18byte.c: Likewise.
309 * testsuite/libffi.call/cls_19byte.c: Likewise.
310 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
311 * testsuite/libffi.call/cls_20byte.c: Likewise.
312 * testsuite/libffi.call/cls_20byte1.c: Likewise.
313 * testsuite/libffi.call/cls_24byte.c: Likewise.
314 * testsuite/libffi.call/cls_2byte.c: Likewise.
315 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
316 * testsuite/libffi.call/cls_3byte1.c: Likewise.
317 * testsuite/libffi.call/cls_3byte2.c: Likewise.
318 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
319 * testsuite/libffi.call/cls_4byte.c: Likewise.
320 * testsuite/libffi.call/cls_5byte.c: Likewise.
321 * testsuite/libffi.call/cls_64byte.c: Likewise.
322 * testsuite/libffi.call/cls_6byte.c: Likewise.
323 * testsuite/libffi.call/cls_7byte.c: Likewise.
324 * testsuite/libffi.call/cls_8byte.c: Likewise.
325 * testsuite/libffi.call/cls_9byte1.c: Likewise.
326 * testsuite/libffi.call/cls_9byte2.c: Likewise.
327 * testsuite/libffi.call/cls_double.c: Likewise.
328 * testsuite/libffi.call/cls_float.c: Likewise.
329 * testsuite/libffi.call/cls_schar.c: Likewise.
330 * testsuite/libffi.call/cls_sint.c: Likewise.
331 * testsuite/libffi.call/cls_sshort.c: Likewise.
332 * testsuite/libffi.call/cls_uchar.c: Likewise.
333 * testsuite/libffi.call/cls_uint.c: Likewise.
334 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
335 * testsuite/libffi.call/cls_ushort.c: Likewise.
336 * testsuite/libffi.call/problem1.c: Likewise.
337
338 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
339 static.
340
a0b53ce0 3412003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
342
343 * testsuite/libffi.call/cls_9byte2.c: New test case.
344 * testsuite/libffi.call/cls_9byte1.c: Likewise.
345 * testsuite/libffi.call/cls_64byte.c: Likewise.
346 * testsuite/libffi.call/cls_20byte1.c: Likewise.
347 * testsuite/libffi.call/cls_19byte.c: Likewise.
348 * testsuite/libffi.call/cls_18byte.c: Likewise.
349 * testsuite/libffi.call/closure_fn4.c: Likewise.
350 * testsuite/libffi.call/closure_fn5.c: Likewise.
351 * testsuite/libffi.call/cls_schar.c: Likewise.
352 * testsuite/libffi.call/cls_sint.c: Likewise.
353 * testsuite/libffi.call/cls_sshort.c: Likewise.
354 * testsuite/libffi.call/nested_struct2.c: Likewise.
355 * testsuite/libffi.call/nested_struct3.c: Likewise.
356
ed0ed2e9 3572003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
358
359 * testsuite/libffi.call/cls_double.c: Do a check on the result.
360 * testsuite/libffi.call/cls_uchar.c: Likewise.
361 * testsuite/libffi.call/cls_uint.c: Likewise.
362 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
363 * testsuite/libffi.call/cls_ushort.c: Likewise.
364 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
365
61641cc0 3662003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
367
368 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
369 the initialization.
370
6a759884 3712003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
372
61641cc0 373 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
6a759884 374 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
375
4f388831 3762003-10-22 David Daney <ddaney@avtrex.com>
377
378 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
379 __attribute__((__mode__(__SI__))) and friends.
380
b4891aa6 3812003-10-22 Andreas Schwab <schwab@suse.de>
382
383 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
384
3d37e05c 3852003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
386
387 * configure.in: AC_LINK_FILES(ffitarget.h).
388 * configure: Regenerate.
389 * Makefile.in: Likewise.
390 * include/Makefile.in: Likewise.
391 * testsuite/Makefile.in: Likewise.
392 * fficonfig.h.in: Likewise.
393
3942003-10-21 Paolo Bonzini <bonzini@gnu.org>
395 Richard Henderson <rth@redhat.com>
396
397 Avoid that ffi.h includes fficonfig.h.
398
399 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
400 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
401 (TARGET_SRC_MIPS_SGI): Removed.
402 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
403 (MIPS_SGI): Removed.
404 (CLEANFILES): Removed.
405 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
406 targets.
407 * acconfig.h: Removed.
408 * configure.in: Compute sizeofs only for double and long double.
409 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
410 into AC_DEFINE instead of using acconfig.h. Create
411 include/ffitarget.h instead of include/fficonfig.h. Rename
412 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
413 AC_DEFINE EH_FRAME_FLAGS.
414 * include/Makefile.am (DISTCLEANFILES): New automake macro.
415 (hack_DATA): Add ffitarget.h.
416 * include/ffi.h.in: Remove all system specific definitions.
417 Declare raw API even if it is not installed, why bother?
418 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
419 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
420 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
421 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
422 * include/ffi_common.h (bool): Do not define.
423 (ffi_assert): Accept failed assertion.
424 (ffi_type_test): Return void and accept file/line.
425 (FFI_ASSERT): Pass stringized failed assertion.
426 (FFI_ASSERT_AT): New macro.
427 (FFI_ASSERT_VALID_TYPE): New macro.
428 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
429 UINT64, SINT64): Define here with gcc's __attribute__ macro
430 instead of in ffi.h
431 (FLOAT32, ALIGN): Define here instead of in ffi.h
432 * include/ffi-mips.h: Removed. Its content moved to
433 src/mips/ffitarget.h after separating assembly and C sections.
434 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
435 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
436 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
437 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
438 SIZEOF_ARG -> FFI_SIZEOF_ARG.
439 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
440 * src/debug.c (ffi_assert): Accept stringized failed assertion.
441 (ffi_type_test): Rewritten.
442 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
443 FFI_ASSERT_VALID_TYPE.
444 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
445 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
446 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
447 src/s390/ffitarget.h, src/sh/ffitarget.h,
448 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
449 src/x86/ffitarget.h: New files.
450 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
451 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
452 src/powerpc/aix.S, src/powerpc/darwin.S,
453 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
454 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
455 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
456 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
457 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
458 include fficonfig.h
459
2a5f9ffc 4602003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
461
462 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
463 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
464
51c5f96c 4652003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
466
467 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
468 Used when FFI_DEBUG = 1.
469
ee46e78f 4702003-10-14 Alan Modra <amodra@bigpond.net.au>
471
472 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
473 and align.
474
a3abe7fe 4752003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
476
477 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
478 FFI_MIPS_O32 for O32 ABI.
479
1ee4561e 4802003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
481
482 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
483 SPARC64. Cleanup whitespaces.
484
93421fe6 4852003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
486
487 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
488 strongarm, xscale. Cleanup whitespaces.
489 * testsuite/libffi.call/closure_fn1.c: Likewise.
490 * testsuite/libffi.call/closure_fn2.c: Likewise.
491 * testsuite/libffi.call/closure_fn3.c: Likewise.
492 * testsuite/libffi.call/cls_12byte.c: Likewise.
493 * testsuite/libffi.call/cls_16byte.c: Likewise.
494 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
495 * testsuite/libffi.call/cls_20byte.c: Likewise.
496 * testsuite/libffi.call/cls_24byte.c: Likewise.
497 * testsuite/libffi.call/cls_2byte.c: Likewise.
498 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
499 * testsuite/libffi.call/cls_3byte1.c: Likewise.
500 * testsuite/libffi.call/cls_3byte2.c: Likewise.
501 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
502 * testsuite/libffi.call/cls_4byte.c: Likewise.
503 * testsuite/libffi.call/cls_5byte.c: Likewise.
504 * testsuite/libffi.call/cls_6byte.c: Likewise.
505 * testsuite/libffi.call/cls_7byte.c: Likewise.
506 * testsuite/libffi.call/cls_8byte.c: Likewise.
507 * testsuite/libffi.call/cls_double.c: Likewise.
508 * testsuite/libffi.call/cls_float.c: Likewise.
509 * testsuite/libffi.call/cls_uchar.c: Likewise.
510 * testsuite/libffi.call/cls_uint.c: Likewise.
511 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
512 * testsuite/libffi.call/cls_ushort.c: Likewise.
513 * testsuite/libffi.call/nested_struct.c: Likewise.
514 * testsuite/libffi.call/nested_struct1.c: Likewise.
515 * testsuite/libffi.call/problem1.c: Likewise.
516 * testsuite/libffi.special/unwindtest.cc: Likewise.
517 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
518
8a94dd75 5192003-09-18 David Edelsohn <edelsohn@gnu.org>
520
521 * src/powerpc/aix.S: Cleanup whitespaces.
522 * src/powerpc/aix_closure.S: Likewise.
523
bd1f3533 5242003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
525
526 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
527 * src/powerpc/darwin_closure.S: Likewise.
528 * src/powerpc/ffi_darwin.c: Likewise.
529
7a142533 5302003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
531 David Edelsohn <edelsohn@gnu.org>
532
533 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
534 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
535 parameter stack.
536 * src/powerpc/darwin_closure.S: Likewise.
537 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
538 according to the Darwin/AIX ABI.
539 (ffi_prep_cif_machdep): Likewise.
540 (ffi_closure_helper_DARWIN): Likewise.
541 Remove the outgoing parameter stack logic. Simplify the evaluation
542 of the different CASE types.
543 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
544 statement in the trampoline code.
545
d80727ae 5462003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
547
548 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
549 for the register size.
550 (ffi_closure_helper_SYSV): Handle the structure return value
551 address correctly.
552 (ffi_closure_helper_SYSV): Return the appropriate type when
553 the registers are used for the structure return value.
554 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
555 the 64-bit return value. Update copyright years.
556
47fab6c3 5572003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
558
559 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
560 srcdir for ffi_mips.h.
561
f397026a 5622003-09-12 Alan Modra <amodra@bigpond.net.au>
563
564 * src/prep_cif.c (initialize_aggregate): Include tail padding in
565 structure size.
566 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
567 placement of float result.
568 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
569 cast of "resp" for big-endian 64 bit machines.
570
341b7dcf 5712003-09-11 Alan Modra <amodra@bigpond.net.au>
572
573 * src/types.c (double, longdouble): Merge identical SH and ARM
574 typedefs, and add POWERPC64.
575 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
576 struct split over gpr and rest.
577 (ffi_prep_cif_machdep): Correct intarg_count for structures.
578 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
579
06855f3a 5802003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
581
582 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
583 passing correctly.
c886ae3f 584
9165b0af 5852003-09-09 Alan Modra <amodra@bigpond.net.au>
586
587 * configure: Regenerate.
588
98d58335 5892003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
590
591 * Makefile.am: Remove build rules for ffitest.
592 * Makefile.in: Rebuilt.
c886ae3f 593
98d58335 5942003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
0262ee1f 595
596 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
597 about implicit declaration of abort().
598
3743c332 5992003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
600
601 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
602 * Makefile.in: Rebuilt.
603 * configure.in: Add dejagnu test framework.
604 * configure: Rebuilt.
605
606 * testsuite/Makefile.am: New file.
607 * testsuite/Makefile.in: Built
c886ae3f 608 * testsuite/lib/libffi-dg.exp: New file.
3743c332 609 * testsuite/config/default.exp: Likewise.
610 * testsuite/libffi.call/call.exp: Likewise.
611 * testsuite/libffi.call/ffitest.h: Likewise.
612 * testsuite/libffi.call/closure_fn0.c: Likewise.
613 * testsuite/libffi.call/closure_fn1.c: Likewise.
614 * testsuite/libffi.call/closure_fn2.c: Likewise.
615 * testsuite/libffi.call/closure_fn3.c: Likewise.
616 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
617 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
618 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
619 * testsuite/libffi.call/cls_2byte.c: Likewise.
620 * testsuite/libffi.call/cls_3byte1.c: Likewise.
621 * testsuite/libffi.call/cls_3byte2.c: Likewise.
622 * testsuite/libffi.call/cls_4byte.c: Likewise.
623 * testsuite/libffi.call/cls_5byte.c: Likewise.
624 * testsuite/libffi.call/cls_6byte.c: Likewise.
625 * testsuite/libffi.call/cls_7byte.c: Likewise.
626 * testsuite/libffi.call/cls_8byte.c: Likewise.
627 * testsuite/libffi.call/cls_12byte.c: Likewise.
628 * testsuite/libffi.call/cls_16byte.c: Likewise.
629 * testsuite/libffi.call/cls_20byte.c: Likewise.
630 * testsuite/libffi.call/cls_24byte.c: Likewise.
631 * testsuite/libffi.call/cls_double.c: Likewise.
632 * testsuite/libffi.call/cls_float.c: Likewise.
633 * testsuite/libffi.call/cls_uchar.c: Likewise.
634 * testsuite/libffi.call/cls_uint.c: Likewise.
635 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
636 * testsuite/libffi.call/cls_ushort.c: Likewise.
637 * testsuite/libffi.call/float.c: Likewise.
638 * testsuite/libffi.call/float1.c: Likewise.
639 * testsuite/libffi.call/float2.c: Likewise.
640 * testsuite/libffi.call/many.c: Likewise.
641 * testsuite/libffi.call/many_win32.c: Likewise.
642 * testsuite/libffi.call/nested_struct.c: Likewise.
643 * testsuite/libffi.call/nested_struct1.c: Likewise.
644 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
645 * testsuite/libffi.call/problem1.c: Likewise.
646 * testsuite/libffi.call/promotion.c: Likewise.
647 * testsuite/libffi.call/return_ll.c: Likewise.
648 * testsuite/libffi.call/return_sc.c: Likewise.
649 * testsuite/libffi.call/return_uc.c: Likewise.
650 * testsuite/libffi.call/strlen.c: Likewise.
651 * testsuite/libffi.call/strlen_win32.c: Likewise.
652 * testsuite/libffi.call/struct1.c: Likewise.
653 * testsuite/libffi.call/struct2.c: Likewise.
654 * testsuite/libffi.call/struct3.c: Likewise.
655 * testsuite/libffi.call/struct4.c: Likewise.
656 * testsuite/libffi.call/struct5.c: Likewise.
657 * testsuite/libffi.call/struct6.c: Likewise.
658 * testsuite/libffi.call/struct7.c: Likewise.
659 * testsuite/libffi.call/struct8.c: Likewise.
c886ae3f 660 * testsuite/libffi.call/struct9.c: Likewise.
3743c332 661 * testsuite/libffi.special/special.exp: New file.
662 * testsuite/libffi.special/ffitestcxx.h: Likewise.
663 * testsuite/libffi.special/unwindtest.cc: Likewise.
664
c886ae3f 665
3a845f75 6662003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
667
668 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
669 copyright years.
670
4637dfa6 6712003-08-02 Alan Modra <amodra@bigpond.net.au>
672
673 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
674 structure passing.
675 (ffi_closure_helper_LINUX64): Likewise.
676 * src/powerpc/linux64.S: Remove code writing to parm save area.
677 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
678 address in lr from ffi_closure_helper_LINUX64 call to calculate
679 table address. Optimize function tail.
680
8bcdc7f0 6812003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
682
683 * src/sparc/ffi.c: Handle all floating point registers.
684 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
685
3d6cc549 6862003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
687
688 * README: Note that libffi is not part of GCC. Update the project
689 URL and status.
690
9b770b5a 6912003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
692
693 * src/powerpc/ppc_closure.S: Include ffi.h.
694
d46ab9f3 6952003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
696
697 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
698 Use C style comments.
699
81f536a3 7002003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
701
702 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
703 * Makefile.in: Regenerate.
704 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
705 * configure: Regenerate.
706 * include/ffi.h.in: Add SHmedia support.
707 * src/sh64/ffi.c: New file.
708 * src/sh64/sysv.S: New file.
709
1da888ec 7102003-05-16 Jakub Jelinek <jakub@redhat.com>
711
712 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
713 should be read-only.
714 * configure: Rebuilt.
715 * fficonfig.h.in: Rebuilt.
716 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
717 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
718 * src/powerpc/linux64.S: Likewise.
719 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
720 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
721 if -fpic/-fPIC/-mrelocatable.
722 * src/powerpc/powerpc_closure.S: Likewise.
723 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
724 #write in .eh_frame flags.
725 * src/sparc/v9.S: Likewise.
726 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
727 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
728 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
729
f3bd7a2c 7302003-05-07 Jeff Sturm <jsturm@one-point.com>
731
732 Fixes PR bootstrap/10656
733 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
734 support for .register pseudo-op.
735 * src/sparc/v8.S: Use it.
736 * fficonfig.h.in: Rebuilt.
737 * configure: Rebuilt.
738
3647950d 7392003-04-18 Jakub Jelinek <jakub@redhat.com>
740
741 * include/ffi.h.in (POWERPC64): Define if 64-bit.
742 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
743 Make it the default on POWERPC64.
744 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
745 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
746 * configure: Rebuilt.
747 * src/powerpc/ffi.c (hidden): Define.
748 (ffi_prep_args_SYSV): Renamed from
749 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
750 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
751 ASM_NEEDS_REGISTERS64): New.
752 (ffi_prep_args64): New function.
753 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
754 (ffi_call): Likewise.
755 (ffi_prep_closure): Likewise.
756 (flush_icache): Surround by #ifndef POWERPC64.
757 (ffi_dblfl): New union type.
758 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
759 (ffi_closure_helper_LINUX64): New function.
760 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
761 __powerpc64__.
762 * src/powerpc/sysv.S: Likewise.
763 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
764 * src/powerpc/linux64.S: New file.
765 * src/powerpc/linux64_closure.S: New file.
766 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
767 src/powerpc/linux64_closure.S.
768 (TARGET_SRC_POWERPC): Likewise.
769
770 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
771 closure_test_fn3): Fix result printing on big-endian 64-bit
772 machines.
773 (main): Print tst2_arg instead of uninitialized tst2_result.
774
775 * src/ffitest.c (main): Hide what closure pointer really points to
776 from the compiler.
777
1636e920 7782003-04-16 Richard Earnshaw <rearnsha@arm.com>
779
780 * configure.in (arm-*-netbsdelf*): Add configuration.
781 (configure): Regenerated.
782
e663564a 7832003-04-04 Loren J. Rittle <ljrittle@acm.org>
784
785 * include/Makefile.in: Regenerate.
786
02f5d4c9 7872003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
788
789 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
790 bit mode.
791 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
792 Receive closure pointer through parameter, read args using
793 __builtin_dwarf_cfa.
794 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
795
b8e27232 7962003-03-12 Andreas Schwab <schwab@suse.de>
797
798 * configure.in: Avoid trailing /. in toolexeclibdir.
799 * configure: Rebuilt.
800
5fee68c6 8012003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
802
803 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
804
ecadab3f 8052003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
806
807 * libffi/src/powerpc/darwin_closure.S:
808 Fix alignement bug, allocate 8 bytes for the result.
c886ae3f 809 * libffi/src/powerpc/aix_closure.S:
ecadab3f 810 Likewise.
811 * libffi/src/powerpc/ffi_darwin.c:
812 Update stackframe description for aix/darwin_closure.S.
c886ae3f 813
a0294641 8142003-02-06 Jakub Jelinek <jakub@redhat.com>
815
816 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
817 attribute.
818
624476ed 8192003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
820 Andreas Schwab <schwab@suse.de>
821
822 * configure.in: Adjust command to source config-ml.in to account
823 for changes to the libffi_basedir definition.
824 (libffi_basedir): Remove ${srcdir} from value and include trailing
825 slash if nonempty.
c886ae3f 826
624476ed 827 * configure: Regenerate.
828
1143cc9b 8292003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
830
831 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
832
967ae8fb 8332003-01-28 Andrew Haley <aph@redhat.com>
834
835 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
836 * src/x86/ffi64.c (ffi_prep_closure): New.
837 (ffi_closure_UNIX64_inner): New.
838 * src/x86/unix64.S (ffi_closure_UNIX64): New.
839
c8d4fa8c 8402003-01-27 Alexandre Oliva <aoliva@redhat.com>
841
842 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
843 Remove USE_LIBDIR conditional.
844 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
845 * Makefile.in, configure: Rebuilt.
846
2dd7852c 8472003-01027 David Edelsohn <edelsohn@gnu.org>
848
849 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
850 * Makefile.in: Regenerate.
851
008eadcd 8522003-01-22 Andrew Haley <aph@redhat.com>
853
854 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
855 unwind info.
856
cb440058 8572003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
858
859 * src/powerpc/darwin.S: Add unwind info.
860 * src/powerpc/darwin_closure.S: Likewise.
861
149417bc 8622003-01-14 Andrew Haley <aph@redhat.com>
863
864 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
865 (ffi_prep_cif_machdep): Likewise.
866 * src/x86/unix64.S: Add unwind info.
867
d4dcd973 8682003-01-14 Andreas Jaeger <aj@suse.de>
869
870 * src/ffitest.c (main): Only use ffi_closures if those are
871 supported.
872
a7898d0c 8732003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
874
875 * libffi/src/ffitest.c
876 add closure testcases
877
8782003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
879
880 * libffi/src/powerpc/ffi.c
881 fix alignment bug for float (4 byte aligned iso 8 byte)
882
4e844289 8832003-01-09 Geoffrey Keating <geoffk@apple.com>
884
885 * src/powerpc/ffi_darwin.c: Remove RCS version string.
886 * src/powerpc/darwin.S: Remove RCS version string.
887
0ef3e9c5 8882003-01-03 Jeff Sturm <jsturm@one-point.com>
889
890 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
891 * src/ffitest.c (main): Use static storage for closure.
892 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
893 * src/sparc/v8.S (ffi_closure_v8): New.
894 * src/sparc/v9.S (ffi_closure_v9): New.
895
acdc3fc3 8962002-11-10 Ranjit Mathew <rmathew@hotmail.com>
897
898 * include/ffi.h.in: Added FFI_STDCALL ffi_type
899 enumeration for X86_WIN32.
900 * src/x86/win32.S: Added ffi_call_STDCALL function
901 definition.
902 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
903 switch cases for recognising FFI_STDCALL and
904 calling ffi_call_STDCALL if target is X86_WIN32.
905 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
906 stdcall versions of the "my_strlen" and "many"
907 test functions (for X86_WIN32).
908 Added test cases to test stdcall invocation using
909 these functions.
910
805e22b2 9112002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
912
913 * src/sh/sysv.S: Add DWARF2 unwind info.
914
6d219176 9152002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
916
917 * src/s390/sysv.S (.eh_frame section): Make section read-only.
918
4827afc9 9192002-11-26 Jim Wilson <wilson@redhat.com>
920
921 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
922
805e22b2 9232002-11-23 H.J. Lu <hjl@gnu.org>
924
925 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
926 Include ../config/accross.m4.
927 * aclocal.m4; Rebuild.
928 * configure: Likewise.
929
e3a04290 9302002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
931
932 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
933
be36f77d 9342002-11-11 DJ Delorie <dj@redhat.com>
935
936 * configure.in: Look for common files in the right place.
937
dd985e54 9382002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
939
940 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
941 raw data as _Jv_word values, not ffi_raw.
942 (ffi_java_ptrarray_to_raw): Likewise.
943 (ffi_java_rvalue_to_raw): New function.
944 (ffi_java_raw_call): Call it.
945 (ffi_java_raw_to_rvalue): New function.
946 (ffi_java_translate_args): Call it.
947 * src/ffitest.c (closure_test_fn): Interpret return value
948 as ffi_arg, not int.
949 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
950 FFI_TYPE_POINTER case.
951 (ffi_closure_helper_SYSV): Likewise. Also, assume return
952 values extended to word size.
953
4a18e5fa 9542002-10-02 Andreas Jaeger <aj@suse.de>
955
956 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
957
3d8ac088 9582002-10-01 Bo Thorsen <bo@smetana.suse.de>
959
960 * include/ffi.h.in: Fix i386 win32 compilation.
961
e0aaecf3 9622002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
963
964 * configure.in: Add s390x-*-linux-* target.
965 * configure: Regenerate.
966 * include/ffi.h.in: Define S390X for s390x targets.
967 (FFI_CLOSURES): Define for s390/s390x.
968 (FFI_TRAMPOLINE_SIZE): Likewise.
969 (FFI_NATIVE_RAW_API): Likewise.
970 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
971 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
805e22b2 972 * src/s390/ffi.c: Major rework of existing code. Add support for
e0aaecf3 973 s390x targets. Add closure support.
974 * src/s390/sysv.S: Likewise.
975
c3e9c301 9762002-09-29 Richard Earnshaw <rearnsha@arm.com>
977
978 * src/arm/sysv.S: Fix typo.
979
d13886be 9802002-09-28 Richard Earnshaw <rearnsha@arm.com>
981
982 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
983 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
984 (ffi_call_SYSV): Handle soft-float.
985
aaff811e 9862002-09-27 Bo Thorsen <bo@suse.de>
987
988 * include/ffi.h.in: Fix multilib x86-64 support.
989
5f7912d8 9902002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
991
992 * Makefile.am (all-multi): Fix multilib parallel build.
993
ccda5e55 9942002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
995
996 * configure.in (sh[34]*-*-linux*): Add brackets.
997 * configure: Regenerate.
998
b1e5d71d 9992002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1000
1001 * Makefile.am: Add SH support.
1002 * Makefile.in: Regenerate.
1003 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1004 * configure: Regenerate.
1005 * include/ffi.h.in: Add SH support.
1006 * src/sh/ffi.c: New file.
1007 * src/sh/sysv.S: New file.
1008 * src/types.c: Add SH support.
1009
42c71854 10102002-07-16 Bo Thorsen <bo@suse.de>
1011
1012 * src/x86/ffi64.c: New file that adds x86-64 support.
1013 * src/x86/unix64.S: New file that handles argument setup for
1014 x86-64.
1015 * src/x86/sysv.S: Don't use this on x86-64.
1016 * src/x86/ffi.c: Don't use this on x86-64.
1017 Remove unused vars.
1018 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1019 for x86-64.
1020 * src/ffitest.c (struct6): New test that tests a special case in
1021 the x86-64 ABI.
1022 (struct7): Likewise.
1023 (struct8): Likewise.
1024 (struct9): Likewise.
1025 (closure_test_fn): Silence warning about this when it's not used.
1026 (main): Add the new tests.
1027 (main): Fix a couple of wrong casts and silence some compiler warnings.
1028 * include/ffi.h.in: Add x86-64 ABI definition.
1029 * fficonfig.h.in: Regenerate.
1030 * Makefile.am: Add x86-64 support.
1031 * configure.in: Likewise.
1032 * Makefile.in: Regenerate.
1033 * configure: Likewise.
1034
10352002-06-24 Bo Thorsen <bo@suse.de>
1036
1037 * src/types.c: Merge settings for similar architectures.
1038 Add x86-64 sizes and alignments.
1039
10402002-06-23 Bo Thorsen <bo@suse.de>
1041
1042 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1043 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1044 * src/mips/ffi.c (ffi_prep_args): Likewise.
1045 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1046
72726889 10472002-07-18 H.J. Lu (hjl@gnu.org)
1048
1049 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1050 (libffi_la_SOURCES): Support MIPS_LINUX.
1051 (libffi_convenience_la_SOURCES): Likewise.
1052 * Makefile.in: Regenerated.
1053
1054 * configure.in (mips64*-*): Skip.
1055 (mips*-*-linux*): New.
1056 * configure: Regenerated.
1057
1058 * src/mips/ffi.c: Include <sgidefs.h>.
1059
e17e640b 10602002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1061
1062 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1063
b5d69d52 10642002-05-27 Roger Sayle <roger@eyesopen.com>
1065
1066 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1067
eadca1d5 10682002-05-27 Bo Thorsen <bo@suse.de>
1069
1070 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1071 fix formatting.
1072
2abdadc9 10732002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1074
1075 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1076 beginning of function (for older apple cc).
1077
0b045cf7 10782002-05-08 Alexandre Oliva <aoliva@redhat.com>
1079
1080 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1081 script entry, and set LD to it when configuring multilibs.
1082 * configure: Rebuilt.
1083
7f0e056d 10842002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1085
1086 * configure.in (sparc64-*-netbsd*): Add target.
1087 (sparc-*-netbsdelf*): Likewise.
1088 * configure: Regenerate.
1089
b19313f4 10902002-04-28 David S. Miller <davem@redhat.com>
1091
1092 * configure.in, configure: Fix SPARC test in previous change.
1093
ea1f83c5 10942002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1095
1096 * Makefile.am: Add Linux for S/390 support.
1097 * Makefile.in: Regenerate.
1098 * configure.in: Add Linux for S/390 support.
1099 * configure: Regenerate.
1100 * include/ffi.h.in: Add Linux for S/390 support.
1101 * src/s390/ffi.c: New file from libffi CVS tree.
1102 * src/s390/sysv.S: New file from libffi CVS tree.
1103
b40c762b 11042002-04-28 Jakub Jelinek <jakub@redhat.com>
1105
1106 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1107 %r_disp32().
1108 * src/sparc/v8.S: Use it.
1109 * src/sparc/v9.S: Likewise.
1110 * fficonfig.h.in: Rebuilt.
1111 * configure: Rebuilt.
1112
00f87a50 11132002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1114
1115 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1116 correctly.
1117 * src/ia64/unix.S: Add unwind information. Fix comments.
1118 Save sp in a way that's compatible with unwind info.
1119 (ffi_call_unix): Correctly restore sp in all cases.
1120 * src/ia64/ffi.c: Add, fix comments.
1121
a622ae9d 11222002-04-08 Jakub Jelinek <jakub@redhat.com>
1123
1124 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1125
c1d86bcd 11262002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1127
1128 * configure.in (alpha*-*-netbsd*): Add target.
1129 * configure: Regenerate.
1130
3faa4340 11312002-04-04 Jeff Sturm <jsturm@one-point.com>
1132
1133 * src/sparc/v8.S: Add unwind info.
1134 * src/sparc/v9.S: Likewise.
1135
ec66e65b 11362002-03-30 Krister Walfridsson <cato@df.lth.se>
1137
1138 * configure.in: Enable i*86-*-netbsdelf*.
1139 * configure: Rebuilt.
805e22b2 1140
9ee9948b 11412002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1142
1143 PR other/2620
1144 * src/mips/n32.s: Delete
1145 * src/mips/o32.s: Delete
1146
6c74b4f2 11472002-03-21 Loren J. Rittle <ljrittle@acm.org>
1148
1149 * configure.in: Enable alpha*-*-freebsd*.
1150 * configure: Rebuilt.
1151
9d0a2dd5 11522002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1153
1154 * Makefile.am: libfficonvenience -> libffi_convenience.
1155 * Makefile.in: Rebuilt.
805e22b2 1156
ee7750c2 1157 * Makefile.am: Define ffitest_OBJECTS.
1158 * Makefile.in: Rebuilt.
9d0a2dd5 1159
f6a16bd8 11602002-03-07 Andreas Tobler <toa@pop.agri.ch>
1161 David Edelsohn <edelsohn@gnu.org>
1162
1163 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1164 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1165 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1166 * Makefile.in: Regenerate.
1167 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1168 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1169 (flush_icache, flush_range): New functions.
1170 (ffi_closure_helper_DARWIN): New function.
1171 * src/powerpc/aix_closure.S: New file.
1172 * src/powerpc/darwin_closure.S: New file.
805e22b2 1173
fed8d18d 11742002-02-24 Jeff Sturm <jsturm@one-point.com>
1175
1176 * include/ffi.h.in: Add typedef for ffi_arg.
1177 * src/ffitest.c (main): Declare rint with ffi_arg.
805e22b2 1178
ddac7e16 11792002-02-21 Andreas Tobler <toa@pop.agri.ch>
1180
1181 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1182 number of GPRs for floating-point arguments.
1183
ed35b400 11842002-01-31 Anthony Green <green@redhat.com>
1185
1186 * configure: Rebuilt.
1187 * configure.in: Replace CHECK_SIZEOF and endian tests with
1188 cross-compiler friendly macros.
1189 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1190 macros.
1191
bf270768 11922002-01-18 David Edelsohn <edelsohn@gnu.org>
1193
1194 * src/powerpc/darwin.S (_ffi_call_AIX): New.
dc155f85 1195 * src/powerpc/aix.S (ffi_call_DARWIN): New.
bf270768 1196
faae36ce 11972002-01-17 David Edelsohn <edelsohn@gnu.org>
1198
1199 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1200 (TARGET_SRC_POWERPC_AIX): New.
1201 (POWERPC_AIX): New stanza.
1202 * Makefile.in: Regenerate.
1203 * configure.in: Add AIX case.
1204 * configure: Regenerate.
1205 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1206 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1207 size. Fix "long double" support.
1208 (ffi_call): Add FFI_AIX case.
1209 * src/powerpc/aix.S: New.
1210
b81d6fe1 12112001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1212
1213 Implement Darwin PowerPC ABI.
1214 * configure.in: Handle powerpc-*-darwin*.
1215 * Makefile.am: Set source files for POWERPC_DARWIN.
1216 * configure: Rebuilt.
1217 * Makefile.in: Rebuilt.
1218 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1219 POWERPC_DARWIN.
1220 * src/powerpc/darwin.S: New file.
1221 * src/powerpc/ffi_darwin.c: New file.
1222
9bccb7a3 12232001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1224
1225 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1226
ac1f371e 12272001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1228
1229 * src/x86/sysv.S: Avoid gas-only .balign directive.
1230 Use C style comments.
1231
e1e36390 12322001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1233
1234 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1235 Fixes PR bootstrap/3563.
1236
deb29e7a 12372001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1238
1239 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1240
8008de24 12412001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1242
1243 * configure.in: Recognize sparc*-sun-* host.
1244 * configure: Regenerate.
805e22b2 1245
5fc46419 12462001-06-06 Andrew Haley <aph@redhat.com>
1247
968b0d1e 1248 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5fc46419 1249
49ff2ded 12502001-06-03 Andrew Haley <aph@redhat.com>
1251
968b0d1e 1252 * src/alpha/osf.S: Add unwind info.
1253 * src/powerpc/sysv.S: Add unwind info.
1254 * src/powerpc/ppc_closure.S: Likewise.
49ff2ded 1255
070883fe 12562000-05-31 Jeff Sturm <jsturm@one-point.com>
1257
1258 * configure.in: Fix AC_ARG_ENABLE usage.
1259 * configure: Rebuilt.
1260
09da9506 12612001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1262
1263 * configure.in: Remove warning about beta code.
1264 * configure: Rebuilt.
1265
12662001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1267
6c1b002f 1268 * src/ia64/unix.S: Restore stack pointer when returning from
1269 ffi_closure_UNIX.
1270 * src/ia64/ffi.c: Fix typo in comment.
1271
c4312026 12722001-04-18 Jim Wilson <wilson@redhat.com>
1273
1274 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1275 to eliminate RAW DV.
1276
db6ca0af 12772001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1278
1279 * Makefile.am: Make a libtool convenience library.
1280 * Makefile.in: Rebuilt.
1281
9461b350 12822001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1283
1284 * configure.in: Use different syntax for subdirectory creation.
1285 * configure: Rebuilt.
1286
a4cc90ca 12872001-03-27 Jon Beniston <jon@beniston.com>
1288
1289 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1290 * configure: Rebuilt.
1291 * Makefile.am: Added X86_WIN32 target support.
1292 * Makefile.in: Rebuilt.
1293
1294 * include/ffi.h.in: Added X86_WIN32 target support.
1295
1296 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1297 * src/types.c: Added X86_WIN32 target support.
1298
1299 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1300 stuff removed and made to work with CygWin's gas.
1301
21f4579d 13022001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1303
1304 * configure.in: Make target subdirectory in build dir.
1305 * Makefile.am: Override suffix based rules to specify correct output
1306 subdirectory.
1307 * Makefile.in: Rebuilt.
1308 * configure: Rebuilt.
1309
29183c57 13102001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
384eea1f 1311
1312 * src/powerpc/ppc_closure.S: New file.
1313 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1314 involving long long and register pairs.
1315 (ffi_prep_closure): New function.
1316 (flush_icache): Likewise.
1317 (ffi_closure_helper_SYSV): Likewise.
1318 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1319 (FFI_TRAMPOLINE_SIZE): Likewise.
1320 (FFI_NATIVE_RAW_API): Likewise.
1321 * Makefile.in: Rebuilt.
1322 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1323 (TARGET_SRC_POWERPC): Likewise.
1324
49604b5b 13252001-03-19 Tom Tromey <tromey@redhat.com>
1326
1327 * Makefile.in: Rebuilt.
1328 * Makefile.am (ffitest_LDFLAGS): New macro.
1329
c8fdcc07 13302001-03-02 Nick Clifton <nickc@redhat.com>
1331
1332 * include/ffi.h.in: Remove RCS ident string.
1333 * include/ffi_mips.h: Remove RCS ident string.
1334 * src/debug.c: Remove RCS ident string.
1335 * src/ffitest.c: Remove RCS ident string.
1336 * src/prep_cif.c: Remove RCS ident string.
1337 * src/types.c: Remove RCS ident string.
1338 * src/alpha/ffi.c: Remove RCS ident string.
1339 * src/alpha/osf.S: Remove RCS ident string.
1340 * src/arm/ffi.c: Remove RCS ident string.
1341 * src/arm/sysv.S: Remove RCS ident string.
1342 * src/mips/ffi.c: Remove RCS ident string.
1343 * src/mips/n32.S: Remove RCS ident string.
1344 * src/mips/o32.S: Remove RCS ident string.
1345 * src/sparc/ffi.c: Remove RCS ident string.
1346 * src/sparc/v8.S: Remove RCS ident string.
1347 * src/sparc/v9.S: Remove RCS ident string.
1348 * src/x86/ffi.c: Remove RCS ident string.
1349 * src/x86/sysv.S: Remove RCS ident string.
1350
8cb0f8ea 13512001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1352
1353 * include/ffi.h.in: Change sourceware.cygnus.com references to
1354 gcc.gnu.org.
1355
18f704a9 13562000-12-09 Richard Henderson <rth@redhat.com>
1357
1358 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1359 (ffi_closure_osf_inner): Index rather than increment avalue
1360 and arg_types. Give ffi_closure_osf the raw return value type.
1361 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1362 promotion.
1363
13642000-12-07 Richard Henderson <rth@redhat.com>
fdf04128 1365
1366 * src/raw_api.c (ffi_translate_args): Fix typo.
1367 (ffi_prep_closure): Likewise.
1368
1369 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1370 FFI_TRAMPOLINE_SIZE.
1371 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1372 cif->bytes for new ffi_call_osf implementation.
1373 (ffi_prep_args): Absorb into ...
1374 (ffi_call): ... here. Do all stack allocation here and
1375 avoid a callback function.
1376 (ffi_prep_closure, ffi_closure_osf_inner): New.
1377 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1378 (ffi_closure_osf): New.
1379
652f285b 13802000-09-10 Alexandre Oliva <aoliva@redhat.com>
1381
4bfa769b 1382 * config.guess, config.sub, install-sh: Removed.
1383 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1384 * Makefile.in: Rebuilt.
1385
652f285b 1386 * acinclude.m4: Include libtool macros from the top level.
1387 * aclocal.m4, configure: Rebuilt.
1388
6f52caf7 13892000-08-22 Alexandre Oliva <aoliva@redhat.com>
1390
1391 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1392 * configure: Rebuilt.
1393
d03e800c 13942000-05-11 Scott Bambrough <scottb@netwinder.org>
1395
805e22b2 1396 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1397 memory correctly. Use conditional instructions, not branches where
d03e800c 1398 possible.
1399
f3e32e0b 14002000-05-04 Tom Tromey <tromey@cygnus.com>
1401
1402 * configure: Rebuilt.
1403 * configure.in: Match `arm*-*-linux-*'.
1404 From Chris Dornan <cdornan@arm.com>.
1405
b23e0d76 14062000-04-28 Jakub Jelinek <jakub@redhat.com>
1407
1408 * Makefile.am (SUBDIRS): Define.
1409 (AM_MAKEFLAGS): Likewise.
1410 (Multilib support.): Add section.
1411 * Makefile.in: Rebuilt.
1412 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
968b0d1e 1413 New variables. Set for gcc using -print-multi-lib. Export them
1414 to libtool.
1415 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1416 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1417 for -shared links.
1418 (extra_compiler_flags_value, extra_compiler_flags): Check these
1419 for extra compiler options which need to be passed down in
1420 compiler_flags.
b23e0d76 1421
2c9b297c 14222000-04-16 Anthony Green <green@redhat.com>
1423
1424 * configure: Rebuilt.
1425 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1426
d7a35c6c 14272000-04-14 Jakub Jelinek <jakub@redhat.com>
1428
968b0d1e 1429 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
d7a35c6c 1430 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1431 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1432 Replace all void * sizeofs with sizeof(int).
1433 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1434 different than DOUBLE.
1435 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1436 (ffi_prep_args_v9): New function.
1437 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1438 (ffi_V9_return_struct): New function.
1439 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1440 32bit code (not yet cross-arch calls).
1441 * src/sparc/v8.S: Add struct return delay nop.
1442 Handle long long.
1443 * src/sparc/v9.S: New file.
1444 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1445 is used on sparc64 only for structures larger than 32 bytes.
1446 Pass by reference for structures is done for structure arguments
1447 larger than 16 bytes.
1448 * src/ffitest.c (main): Use 64bit rint on sparc64.
1449 Run long long tests on sparc.
1450 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1451 sparc64.
1452 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1453 on sparc64.
1454 * configure.in (sparc-*-linux*): New supported target.
1455 (sparc64-*-linux*): Likewise.
1456 * configure: Rebuilt.
1457 * Makefile.am: Add v9.S to SPARC files.
1458 * Makefile.in: Likewise.
1459 (LINK): Surround $(CCLD) into double quotes, so that multilib
1460 compiles work correctly.
1461
800d12c7 14622000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1463
1464 * configure: Rebuilt.
1465 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1466 proposed by Bryce McKinlay.
1467
c44e8808 14682000-03-20 Tom Tromey <tromey@cygnus.com>
1469
1470 * Makefile.in: Hand edit for java_raw_api.lo.
1471
f764cb60 14722000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1473
1474 * config.guess, config.sub: Update from the gcc tree.
1475 Fix for PR libgcj/168.
1476
3b43a26e 14772000-03-03 Tom Tromey <tromey@cygnus.com>
1478
96215ab3 1479 * Makefile.in: Fixed ia64 by hand.
1480
3b43a26e 1481 * configure: Rebuilt.
1482 * configure.in (--enable-multilib): New option.
1483 (libffi_basedir): New subst.
1484 (AC_OUTPUT): Added multilib code.
1485
03ae52bb 14862000-03-02 Tom Tromey <tromey@cygnus.com>
1487
1488 * Makefile.in: Rebuilt.
1489 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1490 directory name.
1491
28c07da5 14922000-02-25 Hans Boehm <boehm@acm.org>
1493
1494 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1495 files.
1496 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1497 list.
1498 (ffi_prep_raw_closure): Use ffi_translate_args, not
1499 ffi_closure_translate.
1500 * src/java_raw_api.c: New file.
1501 * src/ffitest.c (closure_test_fn): New function.
1502 (main): Define `rint' as long long on IA64. Added new test when
1503 FFI_CLOSURES is defined.
1504 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1505 (ffi_abi): Recognize IA64.
1506 (ffi_raw): Added `flt' field.
1507 Added "Java raw API" code.
1508 * configure.in: Recognize ia64.
1509 * Makefile.am (TARGET_SRC_IA64): New macro.
1510 (libffi_la_common_SOURCES): Added java_raw_api.c.
1511 (libffi_la_SOURCES): Define in IA64 case.
1512
0bcdf5c5 15132000-01-04 Tom Tromey <tromey@cygnus.com>
1514
1515 * Makefile.in: Rebuilt with newer automake.
1516
e9de8c8b 15171999-12-31 Tom Tromey <tromey@cygnus.com>
1518
1519 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1520
20e58c02 15211999-09-01 Tom Tromey <tromey@cygnus.com>
1522
1523 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1524 undefs.
1525 * fficonfig.h.in: Rebuilt.
1526 * configure: Rebuilt.
1527 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1528 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1529 * acconfig.h: Don't #undef PACKAGE or VERSION.
1530
47c5fab6 15311999-08-09 Anthony Green <green@cygnus.com>
1532
1533 * include/ffi.h.in: Try to work around messy header problem
1534 with PACKAGE and VERSION.
1535
1536 * configure: Rebuilt.
1537 * configure.in: Change version to 2.00-beta.
1538
968b0d1e 1539 * fficonfig.h.in: Rebuilt.
47c5fab6 1540 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1541
1542 * src/x86/ffi.c (ffi_raw_call): Rename.
1543
15441999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1545
1546 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1547 (ffi_prep_incoming_args_SYSV): Ditto.
1548 (ffi_prep_closure): Ditto.
1549 (ffi_closure_raw_SYSV): Ditto.
1550 (ffi_prep_raw_closure): More ditto.
1551 (ffi_call_raw): Final ditto.
1552
1553 * include/ffi.h.in: Add definitions for closure and raw API.
1554
1555 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
805e22b2 1556 FFI_TYPE_UINT64.
47c5fab6 1557
1558 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1559
1560 * src/raw_api.c: New file.
1561
1562 * include/ffi.h.in (ffi_raw): New type.
1563 (UINT_ARG, SINT_ARG): New defines.
1564 (ffi_closure, ffi_raw_closure): New types.
1565 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
805e22b2 1566
47c5fab6 1567 * configure.in: Add check for endianness and sizeof void*.
1568
1569 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1570 instead of directly.
1571
1572 * configure: Rebuilt.
1573
1574Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1575
1576 * configure.in: Add x86 and powerpc BeOS configurations.
1577 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1578
15791999-05-09 Anthony Green <green@cygnus.com>
1580
1581 * configure.in: Add warning about this being beta code.
1582 Remove src/Makefile.am from the picture.
1583 * configure: Rebuilt.
1584
1585 * Makefile.am: Move logic from src/Makefile.am. Add changes
1586 to support libffi as a target library.
1587 * Makefile.in: Rebuilt.
1588
1589 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1590 Upgraded to new autoconf, automake, libtool.
1591
1592 * README: Tweaks.
1593
1594 * LICENSE: Update copyright date.
1595
1596 * src/Makefile.am, src/Makefile.in: Removed.
1597
15981998-11-29 Anthony Green <green@cygnus.com>
1599
1600 * include/ChangeLog: Removed.
1601 * src/ChangeLog: Removed.
1602 * src/mips/ChangeLog: Removed.
1603 * src/sparc/ChangeLog: Remboved.
1604 * src/x86/ChangeLog: Removed.
1605
1606 * ChangeLog.v1: Created.