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