many_win32.c: Include <float.h>.
[gcc.git] / libffi / ChangeLog
1 2003-12-04 Hosaka Yuji <hos@tamanegi.org>
2
3 * testsuite/libffi.call/many_win32.c: Include <float.h>.
4 * testsuite/libffi.call/many_win32.c (main): Replace variable
5 int i with unsigned long ul.
6
7 * testsuite/libffi.call/cls_align_uint64.c: New test case.
8 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
9 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
10 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
11 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
12 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
13 * testsuite/libffi.call/cls_align_float.c: Likewise.
14 * testsuite/libffi.call/cls_align_double.c: Likewise.
15 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
16 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
17
18 2003-12-02 Hosaka Yuji <hos@tamanegi.org>
19
20 PR other/13221
21 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
22 Align arguments to 32 bits.
23
24 2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
25
26 PR other/13221
27 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
28 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
29 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
30 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
31 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
32 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
33
34 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
35
36 2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
37
38 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
39 * testsuite/libffi.special/ffitestcxx.h: Likewise.
40
41 2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
42
43 * Makefile.in: Rebuilt.
44 * configure: Likewise.
45 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
46 the right type.
47
48 2003-11-21 Andreas Jaeger <aj@suse.de>
49 Andreas Tobler <a.tobler@schweiz.ch>
50
51 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
52 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
53 * Makefile.in: Rebuilt.
54 * aclocal.m4: Likewise.
55 * configure: Likewise.
56 * fficonfig.h.in: Likewise.
57 * testsuite/lib/libffi-dg.exp: Add include dir.
58 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
59 * testsuite/libffi.special/ffitestcxx.h: Likewise.
60 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
61 for ffi_closure if available.
62 * testsuite/libffi.call/closure_fn1.c: Likewise.
63 * testsuite/libffi.call/closure_fn2.c: Likewise.
64 * testsuite/libffi.call/closure_fn3.c: Likewise.
65 * testsuite/libffi.call/closure_fn4.c: Likewise.
66 * testsuite/libffi.call/closure_fn5.c: Likewise.
67 * testsuite/libffi.call/cls_12byte.c: Likewise.
68 * testsuite/libffi.call/cls_16byte.c: Likewise.
69 * testsuite/libffi.call/cls_18byte.c: Likewise.
70 * testsuite/libffi.call/cls_19byte.c: Likewise.
71 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
72 * testsuite/libffi.call/cls_20byte.c: Likewise.
73 * testsuite/libffi.call/cls_20byte1.c: Likewise.
74 * testsuite/libffi.call/cls_24byte.c: Likewise.
75 * testsuite/libffi.call/cls_2byte.c: Likewise.
76 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
77 * testsuite/libffi.call/cls_3byte1.c: Likewise.
78 * testsuite/libffi.call/cls_3byte2.c: Likewise.
79 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
80 * testsuite/libffi.call/cls_4byte.c: Likewise.
81 * testsuite/libffi.call/cls_5byte.c: Likewise.
82 * testsuite/libffi.call/cls_64byte.c: Likewise.
83 * testsuite/libffi.call/cls_6byte.c: Likewise.
84 * testsuite/libffi.call/cls_7byte.c: Likewise.
85 * testsuite/libffi.call/cls_8byte.c: Likewise.
86 * testsuite/libffi.call/cls_9byte1.c: Likewise.
87 * testsuite/libffi.call/cls_9byte2.c: Likewise.
88 * testsuite/libffi.call/cls_double.c: Likewise.
89 * testsuite/libffi.call/cls_float.c: Likewise.
90 * testsuite/libffi.call/cls_schar.c: Likewise.
91 * testsuite/libffi.call/cls_sint.c: Likewise.
92 * testsuite/libffi.call/cls_sshort.c: Likewise.
93 * testsuite/libffi.call/cls_uchar.c: Likewise.
94 * testsuite/libffi.call/cls_uint.c: Likewise.
95 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
96 * testsuite/libffi.call/cls_ushort.c: Likewise.
97 * testsuite/libffi.call/nested_struct.c: Likewise.
98 * testsuite/libffi.call/nested_struct1.c: Likewise.
99 * testsuite/libffi.call/nested_struct2.c: Likewise.
100 * testsuite/libffi.call/nested_struct3.c: Likewise.
101 * testsuite/libffi.call/problem1.c: Likewise.
102 * testsuite/libffi.special/unwindtest.cc: Likewise.
103
104 2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
105
106 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
107
108 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
109
110 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
111 Add -lgcc_s to additional flags.
112
113 2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
114
115 * configure.in, include/Makefile.am: PR libgcj/11147, install
116 the ffitarget.h header file in a gcc versioned and target
117 dependent place.
118 * configure: Regenerated.
119 * Makefile.in, include/Makefile.in: Likewise.
120 * testsuite/Makefile.in: Likewise.
121
122 2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
123
124 * testsuite/libffi.call/closure_fn0.c: Print result and check
125 with dg-output to make debugging easier.
126 * testsuite/libffi.call/closure_fn1.c: Likewise.
127 * testsuite/libffi.call/closure_fn2.c: Likewise.
128 * testsuite/libffi.call/closure_fn3.c: Likewise.
129 * testsuite/libffi.call/closure_fn4.c: Likewise.
130 * testsuite/libffi.call/closure_fn5.c: Likewise.
131 * testsuite/libffi.call/cls_12byte.c: Likewise.
132 * testsuite/libffi.call/cls_16byte.c: Likewise.
133 * testsuite/libffi.call/cls_18byte.c: Likewise.
134 * testsuite/libffi.call/cls_19byte.c: Likewise.
135 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
136 * testsuite/libffi.call/cls_20byte.c: Likewise.
137 * testsuite/libffi.call/cls_20byte1.c: Likewise.
138 * testsuite/libffi.call/cls_24byte.c: Likewise.
139 * testsuite/libffi.call/cls_2byte.c: Likewise.
140 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
141 * testsuite/libffi.call/cls_3byte1.c: Likewise.
142 * testsuite/libffi.call/cls_3byte2.c: Likewise.
143 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
144 * testsuite/libffi.call/cls_4byte.c: Likewise.
145 * testsuite/libffi.call/cls_5byte.c: Likewise.
146 * testsuite/libffi.call/cls_64byte.c: Likewise.
147 * testsuite/libffi.call/cls_6byte.c: Likewise.
148 * testsuite/libffi.call/cls_7byte.c: Likewise.
149 * testsuite/libffi.call/cls_8byte.c: Likewise.
150 * testsuite/libffi.call/cls_9byte1.c: Likewise.
151 * testsuite/libffi.call/cls_9byte2.c: Likewise.
152 * testsuite/libffi.call/cls_double.c: Likewise.
153 * testsuite/libffi.call/cls_float.c: Likewise.
154 * testsuite/libffi.call/cls_schar.c: Likewise.
155 * testsuite/libffi.call/cls_sint.c: Likewise.
156 * testsuite/libffi.call/cls_sshort.c: Likewise.
157 * testsuite/libffi.call/cls_uchar.c: Likewise.
158 * testsuite/libffi.call/cls_uint.c: Likewise.
159 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
160 * testsuite/libffi.call/cls_ushort.c: Likewise.
161 * testsuite/libffi.call/problem1.c: Likewise.
162
163 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
164 static.
165
166 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
167
168 * testsuite/libffi.call/cls_9byte2.c: New test case.
169 * testsuite/libffi.call/cls_9byte1.c: Likewise.
170 * testsuite/libffi.call/cls_64byte.c: Likewise.
171 * testsuite/libffi.call/cls_20byte1.c: Likewise.
172 * testsuite/libffi.call/cls_19byte.c: Likewise.
173 * testsuite/libffi.call/cls_18byte.c: Likewise.
174 * testsuite/libffi.call/closure_fn4.c: Likewise.
175 * testsuite/libffi.call/closure_fn5.c: Likewise.
176 * testsuite/libffi.call/cls_schar.c: Likewise.
177 * testsuite/libffi.call/cls_sint.c: Likewise.
178 * testsuite/libffi.call/cls_sshort.c: Likewise.
179 * testsuite/libffi.call/nested_struct2.c: Likewise.
180 * testsuite/libffi.call/nested_struct3.c: Likewise.
181
182 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
183
184 * testsuite/libffi.call/cls_double.c: Do a check on the result.
185 * testsuite/libffi.call/cls_uchar.c: Likewise.
186 * testsuite/libffi.call/cls_uint.c: Likewise.
187 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
188 * testsuite/libffi.call/cls_ushort.c: Likewise.
189 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
190
191 2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
192
193 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
194 the initialization.
195
196 2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
197
198 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
199 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
200
201 2003-10-22 David Daney <ddaney@avtrex.com>
202
203 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
204 __attribute__((__mode__(__SI__))) and friends.
205
206 2003-10-22 Andreas Schwab <schwab@suse.de>
207
208 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
209
210 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
211
212 * configure.in: AC_LINK_FILES(ffitarget.h).
213 * configure: Regenerate.
214 * Makefile.in: Likewise.
215 * include/Makefile.in: Likewise.
216 * testsuite/Makefile.in: Likewise.
217 * fficonfig.h.in: Likewise.
218
219 2003-10-21 Paolo Bonzini <bonzini@gnu.org>
220 Richard Henderson <rth@redhat.com>
221
222 Avoid that ffi.h includes fficonfig.h.
223
224 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
225 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
226 (TARGET_SRC_MIPS_SGI): Removed.
227 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
228 (MIPS_SGI): Removed.
229 (CLEANFILES): Removed.
230 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
231 targets.
232 * acconfig.h: Removed.
233 * configure.in: Compute sizeofs only for double and long double.
234 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
235 into AC_DEFINE instead of using acconfig.h. Create
236 include/ffitarget.h instead of include/fficonfig.h. Rename
237 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
238 AC_DEFINE EH_FRAME_FLAGS.
239 * include/Makefile.am (DISTCLEANFILES): New automake macro.
240 (hack_DATA): Add ffitarget.h.
241 * include/ffi.h.in: Remove all system specific definitions.
242 Declare raw API even if it is not installed, why bother?
243 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
244 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
245 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
246 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
247 * include/ffi_common.h (bool): Do not define.
248 (ffi_assert): Accept failed assertion.
249 (ffi_type_test): Return void and accept file/line.
250 (FFI_ASSERT): Pass stringized failed assertion.
251 (FFI_ASSERT_AT): New macro.
252 (FFI_ASSERT_VALID_TYPE): New macro.
253 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
254 UINT64, SINT64): Define here with gcc's __attribute__ macro
255 instead of in ffi.h
256 (FLOAT32, ALIGN): Define here instead of in ffi.h
257 * include/ffi-mips.h: Removed. Its content moved to
258 src/mips/ffitarget.h after separating assembly and C sections.
259 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
260 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
261 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
262 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
263 SIZEOF_ARG -> FFI_SIZEOF_ARG.
264 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
265 * src/debug.c (ffi_assert): Accept stringized failed assertion.
266 (ffi_type_test): Rewritten.
267 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
268 FFI_ASSERT_VALID_TYPE.
269 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
270 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
271 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
272 src/s390/ffitarget.h, src/sh/ffitarget.h,
273 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
274 src/x86/ffitarget.h: New files.
275 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
276 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
277 src/powerpc/aix.S, src/powerpc/darwin.S,
278 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
279 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
280 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
281 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
282 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
283 include fficonfig.h
284
285 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
286
287 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
288 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
289
290 2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
291
292 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
293 Used when FFI_DEBUG = 1.
294
295 2003-10-14 Alan Modra <amodra@bigpond.net.au>
296
297 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
298 and align.
299
300 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
301
302 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
303 FFI_MIPS_O32 for O32 ABI.
304
305 2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
306
307 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
308 SPARC64. Cleanup whitespaces.
309
310 2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
311
312 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
313 strongarm, xscale. Cleanup whitespaces.
314 * testsuite/libffi.call/closure_fn1.c: Likewise.
315 * testsuite/libffi.call/closure_fn2.c: Likewise.
316 * testsuite/libffi.call/closure_fn3.c: Likewise.
317 * testsuite/libffi.call/cls_12byte.c: Likewise.
318 * testsuite/libffi.call/cls_16byte.c: Likewise.
319 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
320 * testsuite/libffi.call/cls_20byte.c: Likewise.
321 * testsuite/libffi.call/cls_24byte.c: Likewise.
322 * testsuite/libffi.call/cls_2byte.c: Likewise.
323 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
324 * testsuite/libffi.call/cls_3byte1.c: Likewise.
325 * testsuite/libffi.call/cls_3byte2.c: Likewise.
326 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
327 * testsuite/libffi.call/cls_4byte.c: Likewise.
328 * testsuite/libffi.call/cls_5byte.c: Likewise.
329 * testsuite/libffi.call/cls_6byte.c: Likewise.
330 * testsuite/libffi.call/cls_7byte.c: Likewise.
331 * testsuite/libffi.call/cls_8byte.c: Likewise.
332 * testsuite/libffi.call/cls_double.c: Likewise.
333 * testsuite/libffi.call/cls_float.c: Likewise.
334 * testsuite/libffi.call/cls_uchar.c: Likewise.
335 * testsuite/libffi.call/cls_uint.c: Likewise.
336 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
337 * testsuite/libffi.call/cls_ushort.c: Likewise.
338 * testsuite/libffi.call/nested_struct.c: Likewise.
339 * testsuite/libffi.call/nested_struct1.c: Likewise.
340 * testsuite/libffi.call/problem1.c: Likewise.
341 * testsuite/libffi.special/unwindtest.cc: Likewise.
342 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
343
344 2003-09-18 David Edelsohn <edelsohn@gnu.org>
345
346 * src/powerpc/aix.S: Cleanup whitespaces.
347 * src/powerpc/aix_closure.S: Likewise.
348
349 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
350
351 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
352 * src/powerpc/darwin_closure.S: Likewise.
353 * src/powerpc/ffi_darwin.c: Likewise.
354
355 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
356 David Edelsohn <edelsohn@gnu.org>
357
358 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
359 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
360 parameter stack.
361 * src/powerpc/darwin_closure.S: Likewise.
362 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
363 according to the Darwin/AIX ABI.
364 (ffi_prep_cif_machdep): Likewise.
365 (ffi_closure_helper_DARWIN): Likewise.
366 Remove the outgoing parameter stack logic. Simplify the evaluation
367 of the different CASE types.
368 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
369 statement in the trampoline code.
370
371 2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
372
373 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
374 for the register size.
375 (ffi_closure_helper_SYSV): Handle the structure return value
376 address correctly.
377 (ffi_closure_helper_SYSV): Return the appropriate type when
378 the registers are used for the structure return value.
379 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
380 the 64-bit return value. Update copyright years.
381
382 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
383
384 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
385 srcdir for ffi_mips.h.
386
387 2003-09-12 Alan Modra <amodra@bigpond.net.au>
388
389 * src/prep_cif.c (initialize_aggregate): Include tail padding in
390 structure size.
391 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
392 placement of float result.
393 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
394 cast of "resp" for big-endian 64 bit machines.
395
396 2003-09-11 Alan Modra <amodra@bigpond.net.au>
397
398 * src/types.c (double, longdouble): Merge identical SH and ARM
399 typedefs, and add POWERPC64.
400 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
401 struct split over gpr and rest.
402 (ffi_prep_cif_machdep): Correct intarg_count for structures.
403 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
404
405 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
406
407 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
408 passing correctly.
409
410 2003-09-09 Alan Modra <amodra@bigpond.net.au>
411
412 * configure: Regenerate.
413
414 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
415
416 * Makefile.am: Remove build rules for ffitest.
417 * Makefile.in: Rebuilt.
418
419 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
420
421 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
422 about implicit declaration of abort().
423
424 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
425
426 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
427 * Makefile.in: Rebuilt.
428 * configure.in: Add dejagnu test framework.
429 * configure: Rebuilt.
430
431 * testsuite/Makefile.am: New file.
432 * testsuite/Makefile.in: Built
433 * testsuite/lib/libffi-dg.exp: New file.
434 * testsuite/config/default.exp: Likewise.
435 * testsuite/libffi.call/call.exp: Likewise.
436 * testsuite/libffi.call/ffitest.h: Likewise.
437 * testsuite/libffi.call/closure_fn0.c: Likewise.
438 * testsuite/libffi.call/closure_fn1.c: Likewise.
439 * testsuite/libffi.call/closure_fn2.c: Likewise.
440 * testsuite/libffi.call/closure_fn3.c: Likewise.
441 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
442 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
443 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
444 * testsuite/libffi.call/cls_2byte.c: Likewise.
445 * testsuite/libffi.call/cls_3byte1.c: Likewise.
446 * testsuite/libffi.call/cls_3byte2.c: Likewise.
447 * testsuite/libffi.call/cls_4byte.c: Likewise.
448 * testsuite/libffi.call/cls_5byte.c: Likewise.
449 * testsuite/libffi.call/cls_6byte.c: Likewise.
450 * testsuite/libffi.call/cls_7byte.c: Likewise.
451 * testsuite/libffi.call/cls_8byte.c: Likewise.
452 * testsuite/libffi.call/cls_12byte.c: Likewise.
453 * testsuite/libffi.call/cls_16byte.c: Likewise.
454 * testsuite/libffi.call/cls_20byte.c: Likewise.
455 * testsuite/libffi.call/cls_24byte.c: Likewise.
456 * testsuite/libffi.call/cls_double.c: Likewise.
457 * testsuite/libffi.call/cls_float.c: Likewise.
458 * testsuite/libffi.call/cls_uchar.c: Likewise.
459 * testsuite/libffi.call/cls_uint.c: Likewise.
460 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
461 * testsuite/libffi.call/cls_ushort.c: Likewise.
462 * testsuite/libffi.call/float.c: Likewise.
463 * testsuite/libffi.call/float1.c: Likewise.
464 * testsuite/libffi.call/float2.c: Likewise.
465 * testsuite/libffi.call/many.c: Likewise.
466 * testsuite/libffi.call/many_win32.c: Likewise.
467 * testsuite/libffi.call/nested_struct.c: Likewise.
468 * testsuite/libffi.call/nested_struct1.c: Likewise.
469 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
470 * testsuite/libffi.call/problem1.c: Likewise.
471 * testsuite/libffi.call/promotion.c: Likewise.
472 * testsuite/libffi.call/return_ll.c: Likewise.
473 * testsuite/libffi.call/return_sc.c: Likewise.
474 * testsuite/libffi.call/return_uc.c: Likewise.
475 * testsuite/libffi.call/strlen.c: Likewise.
476 * testsuite/libffi.call/strlen_win32.c: Likewise.
477 * testsuite/libffi.call/struct1.c: Likewise.
478 * testsuite/libffi.call/struct2.c: Likewise.
479 * testsuite/libffi.call/struct3.c: Likewise.
480 * testsuite/libffi.call/struct4.c: Likewise.
481 * testsuite/libffi.call/struct5.c: Likewise.
482 * testsuite/libffi.call/struct6.c: Likewise.
483 * testsuite/libffi.call/struct7.c: Likewise.
484 * testsuite/libffi.call/struct8.c: Likewise.
485 * testsuite/libffi.call/struct9.c: Likewise.
486 * testsuite/libffi.special/special.exp: New file.
487 * testsuite/libffi.special/ffitestcxx.h: Likewise.
488 * testsuite/libffi.special/unwindtest.cc: Likewise.
489
490
491 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
492
493 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
494 copyright years.
495
496 2003-08-02 Alan Modra <amodra@bigpond.net.au>
497
498 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
499 structure passing.
500 (ffi_closure_helper_LINUX64): Likewise.
501 * src/powerpc/linux64.S: Remove code writing to parm save area.
502 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
503 address in lr from ffi_closure_helper_LINUX64 call to calculate
504 table address. Optimize function tail.
505
506 2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
507
508 * src/sparc/ffi.c: Handle all floating point registers.
509 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
510
511 2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
512
513 * README: Note that libffi is not part of GCC. Update the project
514 URL and status.
515
516 2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
517
518 * src/powerpc/ppc_closure.S: Include ffi.h.
519
520 2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
521
522 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
523 Use C style comments.
524
525 2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
526
527 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
528 * Makefile.in: Regenerate.
529 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
530 * configure: Regenerate.
531 * include/ffi.h.in: Add SHmedia support.
532 * src/sh64/ffi.c: New file.
533 * src/sh64/sysv.S: New file.
534
535 2003-05-16 Jakub Jelinek <jakub@redhat.com>
536
537 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
538 should be read-only.
539 * configure: Rebuilt.
540 * fficonfig.h.in: Rebuilt.
541 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
542 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
543 * src/powerpc/linux64.S: Likewise.
544 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
545 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
546 if -fpic/-fPIC/-mrelocatable.
547 * src/powerpc/powerpc_closure.S: Likewise.
548 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
549 #write in .eh_frame flags.
550 * src/sparc/v9.S: Likewise.
551 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
552 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
553 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
554
555 2003-05-07 Jeff Sturm <jsturm@one-point.com>
556
557 Fixes PR bootstrap/10656
558 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
559 support for .register pseudo-op.
560 * src/sparc/v8.S: Use it.
561 * fficonfig.h.in: Rebuilt.
562 * configure: Rebuilt.
563
564 2003-04-18 Jakub Jelinek <jakub@redhat.com>
565
566 * include/ffi.h.in (POWERPC64): Define if 64-bit.
567 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
568 Make it the default on POWERPC64.
569 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
570 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
571 * configure: Rebuilt.
572 * src/powerpc/ffi.c (hidden): Define.
573 (ffi_prep_args_SYSV): Renamed from
574 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
575 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
576 ASM_NEEDS_REGISTERS64): New.
577 (ffi_prep_args64): New function.
578 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
579 (ffi_call): Likewise.
580 (ffi_prep_closure): Likewise.
581 (flush_icache): Surround by #ifndef POWERPC64.
582 (ffi_dblfl): New union type.
583 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
584 (ffi_closure_helper_LINUX64): New function.
585 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
586 __powerpc64__.
587 * src/powerpc/sysv.S: Likewise.
588 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
589 * src/powerpc/linux64.S: New file.
590 * src/powerpc/linux64_closure.S: New file.
591 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
592 src/powerpc/linux64_closure.S.
593 (TARGET_SRC_POWERPC): Likewise.
594
595 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
596 closure_test_fn3): Fix result printing on big-endian 64-bit
597 machines.
598 (main): Print tst2_arg instead of uninitialized tst2_result.
599
600 * src/ffitest.c (main): Hide what closure pointer really points to
601 from the compiler.
602
603 2003-04-16 Richard Earnshaw <rearnsha@arm.com>
604
605 * configure.in (arm-*-netbsdelf*): Add configuration.
606 (configure): Regenerated.
607
608 2003-04-04 Loren J. Rittle <ljrittle@acm.org>
609
610 * include/Makefile.in: Regenerate.
611
612 2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
613
614 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
615 bit mode.
616 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
617 Receive closure pointer through parameter, read args using
618 __builtin_dwarf_cfa.
619 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
620
621 2003-03-12 Andreas Schwab <schwab@suse.de>
622
623 * configure.in: Avoid trailing /. in toolexeclibdir.
624 * configure: Rebuilt.
625
626 2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
627
628 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
629
630 2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
631
632 * libffi/src/powerpc/darwin_closure.S:
633 Fix alignement bug, allocate 8 bytes for the result.
634 * libffi/src/powerpc/aix_closure.S:
635 Likewise.
636 * libffi/src/powerpc/ffi_darwin.c:
637 Update stackframe description for aix/darwin_closure.S.
638
639 2003-02-06 Jakub Jelinek <jakub@redhat.com>
640
641 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
642 attribute.
643
644 2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
645 Andreas Schwab <schwab@suse.de>
646
647 * configure.in: Adjust command to source config-ml.in to account
648 for changes to the libffi_basedir definition.
649 (libffi_basedir): Remove ${srcdir} from value and include trailing
650 slash if nonempty.
651
652 * configure: Regenerate.
653
654 2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
655
656 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
657
658 2003-01-28 Andrew Haley <aph@redhat.com>
659
660 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
661 * src/x86/ffi64.c (ffi_prep_closure): New.
662 (ffi_closure_UNIX64_inner): New.
663 * src/x86/unix64.S (ffi_closure_UNIX64): New.
664
665 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
666
667 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
668 Remove USE_LIBDIR conditional.
669 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
670 * Makefile.in, configure: Rebuilt.
671
672 2003-01027 David Edelsohn <edelsohn@gnu.org>
673
674 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
675 * Makefile.in: Regenerate.
676
677 2003-01-22 Andrew Haley <aph@redhat.com>
678
679 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
680 unwind info.
681
682 2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
683
684 * src/powerpc/darwin.S: Add unwind info.
685 * src/powerpc/darwin_closure.S: Likewise.
686
687 2003-01-14 Andrew Haley <aph@redhat.com>
688
689 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
690 (ffi_prep_cif_machdep): Likewise.
691 * src/x86/unix64.S: Add unwind info.
692
693 2003-01-14 Andreas Jaeger <aj@suse.de>
694
695 * src/ffitest.c (main): Only use ffi_closures if those are
696 supported.
697
698 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
699
700 * libffi/src/ffitest.c
701 add closure testcases
702
703 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
704
705 * libffi/src/powerpc/ffi.c
706 fix alignment bug for float (4 byte aligned iso 8 byte)
707
708 2003-01-09 Geoffrey Keating <geoffk@apple.com>
709
710 * src/powerpc/ffi_darwin.c: Remove RCS version string.
711 * src/powerpc/darwin.S: Remove RCS version string.
712
713 2003-01-03 Jeff Sturm <jsturm@one-point.com>
714
715 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
716 * src/ffitest.c (main): Use static storage for closure.
717 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
718 * src/sparc/v8.S (ffi_closure_v8): New.
719 * src/sparc/v9.S (ffi_closure_v9): New.
720
721 2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
722
723 * include/ffi.h.in: Added FFI_STDCALL ffi_type
724 enumeration for X86_WIN32.
725 * src/x86/win32.S: Added ffi_call_STDCALL function
726 definition.
727 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
728 switch cases for recognising FFI_STDCALL and
729 calling ffi_call_STDCALL if target is X86_WIN32.
730 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
731 stdcall versions of the "my_strlen" and "many"
732 test functions (for X86_WIN32).
733 Added test cases to test stdcall invocation using
734 these functions.
735
736 2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
737
738 * src/sh/sysv.S: Add DWARF2 unwind info.
739
740 2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
741
742 * src/s390/sysv.S (.eh_frame section): Make section read-only.
743
744 2002-11-26 Jim Wilson <wilson@redhat.com>
745
746 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
747
748 2002-11-23 H.J. Lu <hjl@gnu.org>
749
750 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
751 Include ../config/accross.m4.
752 * aclocal.m4; Rebuild.
753 * configure: Likewise.
754
755 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
756
757 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
758
759 2002-11-11 DJ Delorie <dj@redhat.com>
760
761 * configure.in: Look for common files in the right place.
762
763 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
764
765 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
766 raw data as _Jv_word values, not ffi_raw.
767 (ffi_java_ptrarray_to_raw): Likewise.
768 (ffi_java_rvalue_to_raw): New function.
769 (ffi_java_raw_call): Call it.
770 (ffi_java_raw_to_rvalue): New function.
771 (ffi_java_translate_args): Call it.
772 * src/ffitest.c (closure_test_fn): Interpret return value
773 as ffi_arg, not int.
774 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
775 FFI_TYPE_POINTER case.
776 (ffi_closure_helper_SYSV): Likewise. Also, assume return
777 values extended to word size.
778
779 2002-10-02 Andreas Jaeger <aj@suse.de>
780
781 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
782
783 2002-10-01 Bo Thorsen <bo@smetana.suse.de>
784
785 * include/ffi.h.in: Fix i386 win32 compilation.
786
787 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
788
789 * configure.in: Add s390x-*-linux-* target.
790 * configure: Regenerate.
791 * include/ffi.h.in: Define S390X for s390x targets.
792 (FFI_CLOSURES): Define for s390/s390x.
793 (FFI_TRAMPOLINE_SIZE): Likewise.
794 (FFI_NATIVE_RAW_API): Likewise.
795 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
796 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
797 * src/s390/ffi.c: Major rework of existing code. Add support for
798 s390x targets. Add closure support.
799 * src/s390/sysv.S: Likewise.
800
801 2002-09-29 Richard Earnshaw <rearnsha@arm.com>
802
803 * src/arm/sysv.S: Fix typo.
804
805 2002-09-28 Richard Earnshaw <rearnsha@arm.com>
806
807 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
808 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
809 (ffi_call_SYSV): Handle soft-float.
810
811 2002-09-27 Bo Thorsen <bo@suse.de>
812
813 * include/ffi.h.in: Fix multilib x86-64 support.
814
815 2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
816
817 * Makefile.am (all-multi): Fix multilib parallel build.
818
819 2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
820
821 * configure.in (sh[34]*-*-linux*): Add brackets.
822 * configure: Regenerate.
823
824 2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
825
826 * Makefile.am: Add SH support.
827 * Makefile.in: Regenerate.
828 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
829 * configure: Regenerate.
830 * include/ffi.h.in: Add SH support.
831 * src/sh/ffi.c: New file.
832 * src/sh/sysv.S: New file.
833 * src/types.c: Add SH support.
834
835 2002-07-16 Bo Thorsen <bo@suse.de>
836
837 * src/x86/ffi64.c: New file that adds x86-64 support.
838 * src/x86/unix64.S: New file that handles argument setup for
839 x86-64.
840 * src/x86/sysv.S: Don't use this on x86-64.
841 * src/x86/ffi.c: Don't use this on x86-64.
842 Remove unused vars.
843 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
844 for x86-64.
845 * src/ffitest.c (struct6): New test that tests a special case in
846 the x86-64 ABI.
847 (struct7): Likewise.
848 (struct8): Likewise.
849 (struct9): Likewise.
850 (closure_test_fn): Silence warning about this when it's not used.
851 (main): Add the new tests.
852 (main): Fix a couple of wrong casts and silence some compiler warnings.
853 * include/ffi.h.in: Add x86-64 ABI definition.
854 * fficonfig.h.in: Regenerate.
855 * Makefile.am: Add x86-64 support.
856 * configure.in: Likewise.
857 * Makefile.in: Regenerate.
858 * configure: Likewise.
859
860 2002-06-24 Bo Thorsen <bo@suse.de>
861
862 * src/types.c: Merge settings for similar architectures.
863 Add x86-64 sizes and alignments.
864
865 2002-06-23 Bo Thorsen <bo@suse.de>
866
867 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
868 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
869 * src/mips/ffi.c (ffi_prep_args): Likewise.
870 * src/m68k/ffi.c (ffi_prep_args): Likewise.
871
872 2002-07-18 H.J. Lu (hjl@gnu.org)
873
874 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
875 (libffi_la_SOURCES): Support MIPS_LINUX.
876 (libffi_convenience_la_SOURCES): Likewise.
877 * Makefile.in: Regenerated.
878
879 * configure.in (mips64*-*): Skip.
880 (mips*-*-linux*): New.
881 * configure: Regenerated.
882
883 * src/mips/ffi.c: Include <sgidefs.h>.
884
885 2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
886
887 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
888
889 2002-05-27 Roger Sayle <roger@eyesopen.com>
890
891 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
892
893 2002-05-27 Bo Thorsen <bo@suse.de>
894
895 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
896 fix formatting.
897
898 2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
899
900 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
901 beginning of function (for older apple cc).
902
903 2002-05-08 Alexandre Oliva <aoliva@redhat.com>
904
905 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
906 script entry, and set LD to it when configuring multilibs.
907 * configure: Rebuilt.
908
909 2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
910
911 * configure.in (sparc64-*-netbsd*): Add target.
912 (sparc-*-netbsdelf*): Likewise.
913 * configure: Regenerate.
914
915 2002-04-28 David S. Miller <davem@redhat.com>
916
917 * configure.in, configure: Fix SPARC test in previous change.
918
919 2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
920
921 * Makefile.am: Add Linux for S/390 support.
922 * Makefile.in: Regenerate.
923 * configure.in: Add Linux for S/390 support.
924 * configure: Regenerate.
925 * include/ffi.h.in: Add Linux for S/390 support.
926 * src/s390/ffi.c: New file from libffi CVS tree.
927 * src/s390/sysv.S: New file from libffi CVS tree.
928
929 2002-04-28 Jakub Jelinek <jakub@redhat.com>
930
931 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
932 %r_disp32().
933 * src/sparc/v8.S: Use it.
934 * src/sparc/v9.S: Likewise.
935 * fficonfig.h.in: Rebuilt.
936 * configure: Rebuilt.
937
938 2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
939
940 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
941 correctly.
942 * src/ia64/unix.S: Add unwind information. Fix comments.
943 Save sp in a way that's compatible with unwind info.
944 (ffi_call_unix): Correctly restore sp in all cases.
945 * src/ia64/ffi.c: Add, fix comments.
946
947 2002-04-08 Jakub Jelinek <jakub@redhat.com>
948
949 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
950
951 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
952
953 * configure.in (alpha*-*-netbsd*): Add target.
954 * configure: Regenerate.
955
956 2002-04-04 Jeff Sturm <jsturm@one-point.com>
957
958 * src/sparc/v8.S: Add unwind info.
959 * src/sparc/v9.S: Likewise.
960
961 2002-03-30 Krister Walfridsson <cato@df.lth.se>
962
963 * configure.in: Enable i*86-*-netbsdelf*.
964 * configure: Rebuilt.
965
966 2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
967
968 PR other/2620
969 * src/mips/n32.s: Delete
970 * src/mips/o32.s: Delete
971
972 2002-03-21 Loren J. Rittle <ljrittle@acm.org>
973
974 * configure.in: Enable alpha*-*-freebsd*.
975 * configure: Rebuilt.
976
977 2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
978
979 * Makefile.am: libfficonvenience -> libffi_convenience.
980 * Makefile.in: Rebuilt.
981
982 * Makefile.am: Define ffitest_OBJECTS.
983 * Makefile.in: Rebuilt.
984
985 2002-03-07 Andreas Tobler <toa@pop.agri.ch>
986 David Edelsohn <edelsohn@gnu.org>
987
988 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
989 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
990 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
991 * Makefile.in: Regenerate.
992 * include/ffi.h.in: Add AIX and Darwin closure definitions.
993 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
994 (flush_icache, flush_range): New functions.
995 (ffi_closure_helper_DARWIN): New function.
996 * src/powerpc/aix_closure.S: New file.
997 * src/powerpc/darwin_closure.S: New file.
998
999 2002-02-24 Jeff Sturm <jsturm@one-point.com>
1000
1001 * include/ffi.h.in: Add typedef for ffi_arg.
1002 * src/ffitest.c (main): Declare rint with ffi_arg.
1003
1004 2002-02-21 Andreas Tobler <toa@pop.agri.ch>
1005
1006 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1007 number of GPRs for floating-point arguments.
1008
1009 2002-01-31 Anthony Green <green@redhat.com>
1010
1011 * configure: Rebuilt.
1012 * configure.in: Replace CHECK_SIZEOF and endian tests with
1013 cross-compiler friendly macros.
1014 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1015 macros.
1016
1017 2002-01-18 David Edelsohn <edelsohn@gnu.org>
1018
1019 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1020 * src/powerpc/aix.S (ffi_call_DARWIN): New.
1021
1022 2002-01-17 David Edelsohn <edelsohn@gnu.org>
1023
1024 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1025 (TARGET_SRC_POWERPC_AIX): New.
1026 (POWERPC_AIX): New stanza.
1027 * Makefile.in: Regenerate.
1028 * configure.in: Add AIX case.
1029 * configure: Regenerate.
1030 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1031 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1032 size. Fix "long double" support.
1033 (ffi_call): Add FFI_AIX case.
1034 * src/powerpc/aix.S: New.
1035
1036 2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1037
1038 Implement Darwin PowerPC ABI.
1039 * configure.in: Handle powerpc-*-darwin*.
1040 * Makefile.am: Set source files for POWERPC_DARWIN.
1041 * configure: Rebuilt.
1042 * Makefile.in: Rebuilt.
1043 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1044 POWERPC_DARWIN.
1045 * src/powerpc/darwin.S: New file.
1046 * src/powerpc/ffi_darwin.c: New file.
1047
1048 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1049
1050 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1051
1052 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1053
1054 * src/x86/sysv.S: Avoid gas-only .balign directive.
1055 Use C style comments.
1056
1057 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1058
1059 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1060 Fixes PR bootstrap/3563.
1061
1062 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1063
1064 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1065
1066 2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1067
1068 * configure.in: Recognize sparc*-sun-* host.
1069 * configure: Regenerate.
1070
1071 2001-06-06 Andrew Haley <aph@redhat.com>
1072
1073 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1074
1075 2001-06-03 Andrew Haley <aph@redhat.com>
1076
1077 * src/alpha/osf.S: Add unwind info.
1078 * src/powerpc/sysv.S: Add unwind info.
1079 * src/powerpc/ppc_closure.S: Likewise.
1080
1081 2000-05-31 Jeff Sturm <jsturm@one-point.com>
1082
1083 * configure.in: Fix AC_ARG_ENABLE usage.
1084 * configure: Rebuilt.
1085
1086 2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1087
1088 * configure.in: Remove warning about beta code.
1089 * configure: Rebuilt.
1090
1091 2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1092
1093 * src/ia64/unix.S: Restore stack pointer when returning from
1094 ffi_closure_UNIX.
1095 * src/ia64/ffi.c: Fix typo in comment.
1096
1097 2001-04-18 Jim Wilson <wilson@redhat.com>
1098
1099 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1100 to eliminate RAW DV.
1101
1102 2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1103
1104 * Makefile.am: Make a libtool convenience library.
1105 * Makefile.in: Rebuilt.
1106
1107 2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1108
1109 * configure.in: Use different syntax for subdirectory creation.
1110 * configure: Rebuilt.
1111
1112 2001-03-27 Jon Beniston <jon@beniston.com>
1113
1114 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1115 * configure: Rebuilt.
1116 * Makefile.am: Added X86_WIN32 target support.
1117 * Makefile.in: Rebuilt.
1118
1119 * include/ffi.h.in: Added X86_WIN32 target support.
1120
1121 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1122 * src/types.c: Added X86_WIN32 target support.
1123
1124 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1125 stuff removed and made to work with CygWin's gas.
1126
1127 2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1128
1129 * configure.in: Make target subdirectory in build dir.
1130 * Makefile.am: Override suffix based rules to specify correct output
1131 subdirectory.
1132 * Makefile.in: Rebuilt.
1133 * configure: Rebuilt.
1134
1135 2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
1136
1137 * src/powerpc/ppc_closure.S: New file.
1138 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1139 involving long long and register pairs.
1140 (ffi_prep_closure): New function.
1141 (flush_icache): Likewise.
1142 (ffi_closure_helper_SYSV): Likewise.
1143 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1144 (FFI_TRAMPOLINE_SIZE): Likewise.
1145 (FFI_NATIVE_RAW_API): Likewise.
1146 * Makefile.in: Rebuilt.
1147 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1148 (TARGET_SRC_POWERPC): Likewise.
1149
1150 2001-03-19 Tom Tromey <tromey@redhat.com>
1151
1152 * Makefile.in: Rebuilt.
1153 * Makefile.am (ffitest_LDFLAGS): New macro.
1154
1155 2001-03-02 Nick Clifton <nickc@redhat.com>
1156
1157 * include/ffi.h.in: Remove RCS ident string.
1158 * include/ffi_mips.h: Remove RCS ident string.
1159 * src/debug.c: Remove RCS ident string.
1160 * src/ffitest.c: Remove RCS ident string.
1161 * src/prep_cif.c: Remove RCS ident string.
1162 * src/types.c: Remove RCS ident string.
1163 * src/alpha/ffi.c: Remove RCS ident string.
1164 * src/alpha/osf.S: Remove RCS ident string.
1165 * src/arm/ffi.c: Remove RCS ident string.
1166 * src/arm/sysv.S: Remove RCS ident string.
1167 * src/mips/ffi.c: Remove RCS ident string.
1168 * src/mips/n32.S: Remove RCS ident string.
1169 * src/mips/o32.S: Remove RCS ident string.
1170 * src/sparc/ffi.c: Remove RCS ident string.
1171 * src/sparc/v8.S: Remove RCS ident string.
1172 * src/sparc/v9.S: Remove RCS ident string.
1173 * src/x86/ffi.c: Remove RCS ident string.
1174 * src/x86/sysv.S: Remove RCS ident string.
1175
1176 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1177
1178 * include/ffi.h.in: Change sourceware.cygnus.com references to
1179 gcc.gnu.org.
1180
1181 2000-12-09 Richard Henderson <rth@redhat.com>
1182
1183 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1184 (ffi_closure_osf_inner): Index rather than increment avalue
1185 and arg_types. Give ffi_closure_osf the raw return value type.
1186 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1187 promotion.
1188
1189 2000-12-07 Richard Henderson <rth@redhat.com>
1190
1191 * src/raw_api.c (ffi_translate_args): Fix typo.
1192 (ffi_prep_closure): Likewise.
1193
1194 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1195 FFI_TRAMPOLINE_SIZE.
1196 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1197 cif->bytes for new ffi_call_osf implementation.
1198 (ffi_prep_args): Absorb into ...
1199 (ffi_call): ... here. Do all stack allocation here and
1200 avoid a callback function.
1201 (ffi_prep_closure, ffi_closure_osf_inner): New.
1202 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1203 (ffi_closure_osf): New.
1204
1205 2000-09-10 Alexandre Oliva <aoliva@redhat.com>
1206
1207 * config.guess, config.sub, install-sh: Removed.
1208 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1209 * Makefile.in: Rebuilt.
1210
1211 * acinclude.m4: Include libtool macros from the top level.
1212 * aclocal.m4, configure: Rebuilt.
1213
1214 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
1215
1216 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1217 * configure: Rebuilt.
1218
1219 2000-05-11 Scott Bambrough <scottb@netwinder.org>
1220
1221 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1222 memory correctly. Use conditional instructions, not branches where
1223 possible.
1224
1225 2000-05-04 Tom Tromey <tromey@cygnus.com>
1226
1227 * configure: Rebuilt.
1228 * configure.in: Match `arm*-*-linux-*'.
1229 From Chris Dornan <cdornan@arm.com>.
1230
1231 2000-04-28 Jakub Jelinek <jakub@redhat.com>
1232
1233 * Makefile.am (SUBDIRS): Define.
1234 (AM_MAKEFLAGS): Likewise.
1235 (Multilib support.): Add section.
1236 * Makefile.in: Rebuilt.
1237 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
1238 New variables. Set for gcc using -print-multi-lib. Export them
1239 to libtool.
1240 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1241 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1242 for -shared links.
1243 (extra_compiler_flags_value, extra_compiler_flags): Check these
1244 for extra compiler options which need to be passed down in
1245 compiler_flags.
1246
1247 2000-04-16 Anthony Green <green@redhat.com>
1248
1249 * configure: Rebuilt.
1250 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1251
1252 2000-04-14 Jakub Jelinek <jakub@redhat.com>
1253
1254 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
1255 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1256 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1257 Replace all void * sizeofs with sizeof(int).
1258 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1259 different than DOUBLE.
1260 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1261 (ffi_prep_args_v9): New function.
1262 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1263 (ffi_V9_return_struct): New function.
1264 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1265 32bit code (not yet cross-arch calls).
1266 * src/sparc/v8.S: Add struct return delay nop.
1267 Handle long long.
1268 * src/sparc/v9.S: New file.
1269 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1270 is used on sparc64 only for structures larger than 32 bytes.
1271 Pass by reference for structures is done for structure arguments
1272 larger than 16 bytes.
1273 * src/ffitest.c (main): Use 64bit rint on sparc64.
1274 Run long long tests on sparc.
1275 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1276 sparc64.
1277 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1278 on sparc64.
1279 * configure.in (sparc-*-linux*): New supported target.
1280 (sparc64-*-linux*): Likewise.
1281 * configure: Rebuilt.
1282 * Makefile.am: Add v9.S to SPARC files.
1283 * Makefile.in: Likewise.
1284 (LINK): Surround $(CCLD) into double quotes, so that multilib
1285 compiles work correctly.
1286
1287 2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1288
1289 * configure: Rebuilt.
1290 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1291 proposed by Bryce McKinlay.
1292
1293 2000-03-20 Tom Tromey <tromey@cygnus.com>
1294
1295 * Makefile.in: Hand edit for java_raw_api.lo.
1296
1297 2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1298
1299 * config.guess, config.sub: Update from the gcc tree.
1300 Fix for PR libgcj/168.
1301
1302 2000-03-03 Tom Tromey <tromey@cygnus.com>
1303
1304 * Makefile.in: Fixed ia64 by hand.
1305
1306 * configure: Rebuilt.
1307 * configure.in (--enable-multilib): New option.
1308 (libffi_basedir): New subst.
1309 (AC_OUTPUT): Added multilib code.
1310
1311 2000-03-02 Tom Tromey <tromey@cygnus.com>
1312
1313 * Makefile.in: Rebuilt.
1314 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1315 directory name.
1316
1317 2000-02-25 Hans Boehm <boehm@acm.org>
1318
1319 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1320 files.
1321 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1322 list.
1323 (ffi_prep_raw_closure): Use ffi_translate_args, not
1324 ffi_closure_translate.
1325 * src/java_raw_api.c: New file.
1326 * src/ffitest.c (closure_test_fn): New function.
1327 (main): Define `rint' as long long on IA64. Added new test when
1328 FFI_CLOSURES is defined.
1329 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1330 (ffi_abi): Recognize IA64.
1331 (ffi_raw): Added `flt' field.
1332 Added "Java raw API" code.
1333 * configure.in: Recognize ia64.
1334 * Makefile.am (TARGET_SRC_IA64): New macro.
1335 (libffi_la_common_SOURCES): Added java_raw_api.c.
1336 (libffi_la_SOURCES): Define in IA64 case.
1337
1338 2000-01-04 Tom Tromey <tromey@cygnus.com>
1339
1340 * Makefile.in: Rebuilt with newer automake.
1341
1342 1999-12-31 Tom Tromey <tromey@cygnus.com>
1343
1344 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1345
1346 1999-09-01 Tom Tromey <tromey@cygnus.com>
1347
1348 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1349 undefs.
1350 * fficonfig.h.in: Rebuilt.
1351 * configure: Rebuilt.
1352 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1353 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1354 * acconfig.h: Don't #undef PACKAGE or VERSION.
1355
1356 1999-08-09 Anthony Green <green@cygnus.com>
1357
1358 * include/ffi.h.in: Try to work around messy header problem
1359 with PACKAGE and VERSION.
1360
1361 * configure: Rebuilt.
1362 * configure.in: Change version to 2.00-beta.
1363
1364 * fficonfig.h.in: Rebuilt.
1365 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1366
1367 * src/x86/ffi.c (ffi_raw_call): Rename.
1368
1369 1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1370
1371 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1372 (ffi_prep_incoming_args_SYSV): Ditto.
1373 (ffi_prep_closure): Ditto.
1374 (ffi_closure_raw_SYSV): Ditto.
1375 (ffi_prep_raw_closure): More ditto.
1376 (ffi_call_raw): Final ditto.
1377
1378 * include/ffi.h.in: Add definitions for closure and raw API.
1379
1380 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
1381 FFI_TYPE_UINT64.
1382
1383 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1384
1385 * src/raw_api.c: New file.
1386
1387 * include/ffi.h.in (ffi_raw): New type.
1388 (UINT_ARG, SINT_ARG): New defines.
1389 (ffi_closure, ffi_raw_closure): New types.
1390 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
1391
1392 * configure.in: Add check for endianness and sizeof void*.
1393
1394 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1395 instead of directly.
1396
1397 * configure: Rebuilt.
1398
1399 Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1400
1401 * configure.in: Add x86 and powerpc BeOS configurations.
1402 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1403
1404 1999-05-09 Anthony Green <green@cygnus.com>
1405
1406 * configure.in: Add warning about this being beta code.
1407 Remove src/Makefile.am from the picture.
1408 * configure: Rebuilt.
1409
1410 * Makefile.am: Move logic from src/Makefile.am. Add changes
1411 to support libffi as a target library.
1412 * Makefile.in: Rebuilt.
1413
1414 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1415 Upgraded to new autoconf, automake, libtool.
1416
1417 * README: Tweaks.
1418
1419 * LICENSE: Update copyright date.
1420
1421 * src/Makefile.am, src/Makefile.in: Removed.
1422
1423 1998-11-29 Anthony Green <green@cygnus.com>
1424
1425 * include/ChangeLog: Removed.
1426 * src/ChangeLog: Removed.
1427 * src/mips/ChangeLog: Removed.
1428 * src/sparc/ChangeLog: Remboved.
1429 * src/x86/ChangeLog: Removed.
1430
1431 * ChangeLog.v1: Created.