]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead.
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
e6a0022b
GK
12004-06-30 Geoffrey Keating <geoffk@apple.com>
2
3 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
4 character on Darwin, use '\n\t' instead.
5
5a2d52ca
MK
62004-06-26 Matthias Klose <doko@debian.org>
7
8 * libtool-version: Fix typo in revision/age.
9
401844ef
MK
102004-06-17 Matthias Klose <doko@debian.org>
11
12 * libtool-version: New.
13 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
14 * Makefile.in: Regenerate.
15
94632047 162004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
17
18 * Makefile.am: Remove useless multilib rules.
19 * Makefile.in: Regenerate.
20 * aclocal.m4: Regenerate with automake 1.8.5.
21 * configure.ac: Remove useless multilib configury.
22 * configure: Regenerate.
23
94632047 242004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
25
26 * .cvsignore: New file.
27
37c849e4
JJ
282004-06-10 Jakub Jelinek <jakub@redhat.com>
29
30 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
31 fp_done.
32 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
33 changed from 8.
34
cb623172
SM
352004-06-06 Sean McNeil <sean@mcneil.com>
36
37 * configure.ac: Add x86_64-*-freebsd* support.
38 * configure: Regenerate.
39
c9b93377
JB
402004-04-26 Joe Buck <jbuck@welsh-buck.org>
41
42 Bug 15093
43 * configure.ac: Test for existence of mmap and sys/mman.h before
44 checking blacklist. Fix suggested by Jim Wilson.
45 * configure: Regenerate.
46
cf90fd1b
MA
472004-04-26 Matt Austern <austern@apple.com>
48
49 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
50 FDE location.
51 * src/powerpc/darwin_closure.S: Likewise.
52
67781b44
AT
532004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
54
55 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
56 error. Reported by Thomas Heller <theller@python.net>.
57 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
58 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
59
14b078a8
MK
602004-03-20 Matthias Klose <doko@debian.org>
61
62 * src/pa/linux.S: Fix typo.
63
d65a810f
MK
642004-03-19 Matthias Klose <doko@debian.org>
65
67781b44 66 * Makefile.am: Update.
d65a810f
MK
67 * Makefile.in: Regenerate.
68 * src/pa/ffi.h.in: Remove.
69 * src/pa/ffitarget.h: New file.
70
712004-02-10 Randolph Chung <tausq@debian.org>
72
73 * Makefile.am: Add PA support.
74 * Makefile.in: Regenerate.
75 * include/Makefile.in: Regenerate.
76 * configure.ac: Add PA target.
77 * configure: Regenerate.
78 * src/pa/ffi.c: New file.
79 * src/pa/ffi.h.in: Add PA support.
80 * src/pa/linux.S: New file.
81 * prep_cif.c: Add PA support.
82
09cababc
HY
832004-03-16 Hosaka Yuji <hos@tamanegi.org>
84
85 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
86 double.
87 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
88 with ecif->cif->flags.
89 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
90 with cif->flags.
91 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
92 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
93 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
94 sc_retstruct2b): Add for 1 or 2-bytes struct case.
95
0e8d0c5f
KC
962004-03-15 Kelley Cook <kcook@gcc.gnu.org>
97
98 * configure.in: Rename file to ...
99 * configure.ac: ... this.
100 * fficonfig.h.in: Regenerate.
101 * Makefile.in: Regenerate.
102 * include/Makefile.in: Regenerate.
103 * testsuite/Makefile.in: Regenerate.
104
b8d50739
MA
1052004-03-12 Matt Austern <austern@apple.com>
106
107 * src/powerpc/darwin.S: Fix EH information so it corresponds to
108 changes in EH format resulting from addition of linkonce support.
109 * src/powerpc/darwin_closure.S: Likewise.
09cababc 110
3ed8e5b6
AT
1112004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
112 Paolo Bonzini <bonzini@gnu.org>
113
114 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
115 Remove VPATH. Remove rules for object files. Remove multilib support.
116 (AM_CCASFLAGS): Add.
117 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
118 (AC_PREREQ): Bump version to 2.59.
119 (AC_INIT): Fill with version info and bug address.
120 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
121 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
122 De-precious CC so that the right flags are passed down to multilibs.
123 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
124 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
125 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
126 * configure: Rebuilt.
127 * aclocal.m4: Likewise.
128 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
129 * fficonfig.h.in: Likewise.
130
254ea477
AS
1312004-03-11 Andreas Schwab <schwab@suse.de>
132
133 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
134 arguments from fp registers only for the first 8 parameter slots.
135 Don't convert a float parameter when passed in memory.
136
3beb1315
HPN
1372004-03-09 Hans-Peter Nilsson <hp@axis.com>
138
139 * configure: Regenerate for config/accross.m4 correction.
140
fecf735c
MK
1412004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
142
143 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
144 ecif->cif->bytes to bytes.
145 (ffi_prep_cif_machdep): Add braces around nested if statement.
146
4243752c
AM
1472004-02-09 Alan Modra <amodra@bigpond.net.au>
148
12001e0f
AM
149 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
150
4243752c
AM
151 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
152 (ffi_closure_helper_LINUX64): Fix typo.
153 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
154 for powerpc64-*-*.
155 * testsuite/libffi.call/float.c: Likewise.
156 * testsuite/libffi.call/float2.c: Likewise.
157
bf310028
AM
1582004-02-08 Alan Modra <amodra@bigpond.net.au>
159
160 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
161 long double function return and long double arg handling.
162 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
163 Use "end_pfr" instead of "nf". Correct long double handling.
164 Localise "temp".
165 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
166 return value.
167 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
168 space for long double return value. Adjust stack frame and offsets.
169 Load f2 long double return.
170
dd5f9ea2
AM
1712004-02-07 Alan Modra <amodra@bigpond.net.au>
172
173 * src/types.c: Use 16 byte long double for POWERPC64.
174
0ce78f01
EB
1752004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
176
177 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
178 when the structure return address is passed in %o0.
179 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
180 (ffi_v9_layout_struct): Align the field following a nested structure
181 on a word boundary. Use memmove instead of memcpy.
182 (ffi_call): Update call to ffi_V9_return_struct.
183 (ffi_prep_closure): Define 'ctx' only for V8.
184 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
185 and ffi_closure_sparc_inner_v9.
186 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
187 Always skip the structure return address. For structures and long
188 doubles, copy the argument directly.
189 (ffi_closure_sparc_inner_v9): Skip the structure return address only
190 if required. Shift the maximum floating-point slot accordingly. For
191 big structures, copy the argument directly; otherwise, left-justify the
192 argument and call ffi_v9_layout_struct to lay out the structure on
193 the stack.
194 * src/sparc/v8.S: Undef STACKFRAME before defining it.
195 (ffi_closure_v8): Pass the structure return address. Update call to
196 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
197 Skip the 'unimp' insn when returning long doubles and structures.
198 * src/sparc/v9.S: Undef STACKFRAME before defining it.
199 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
200 FFI_TYPE_INT handling. Load structures both in integers and
201 floating-point registers on return.
202 * README: Update status of the SPARC port.
203
7fcc1d9b
AT
2042004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
205
206 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
207 as of type ffi_arg.
208 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
209
6ed0ecaf
UW
2102004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
211
212 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
213 value as of type ffi_arg, not unsigned int.
214
c930d8a5
MR
2152004-01-21 Michael Ritzert <ritzert@t-online.de>
216
217 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
218 of the LHS.
219
7b2e3e60
AT
2202004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
221
222 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
223 Solaris.
224
2e89756b
RO
2252004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
226
227 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
228 to void *.
229
628b26f8
RH
2302003-12-10 Richard Henderson <rth@redhat.com>
231
232 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
233 size_t instead of int.
234
0ee646d6
HY
2352003-12-04 Hosaka Yuji <hos@tamanegi.org>
236
237 * testsuite/libffi.call/many_win32.c: Include <float.h>.
238 * testsuite/libffi.call/many_win32.c (main): Replace variable
239 int i with unsigned long ul.
240
241 * testsuite/libffi.call/cls_align_uint64.c: New test case.
242 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
243 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
244 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
245 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
246 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
247 * testsuite/libffi.call/cls_align_float.c: Likewise.
248 * testsuite/libffi.call/cls_align_double.c: Likewise.
249 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
250 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
251
2c4ed456
HY
2522003-12-02 Hosaka Yuji <hos@tamanegi.org>
253
254 PR other/13221
255 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
256 Align arguments to 32 bits.
257
d18c3386
AT
2582003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
259
260 PR other/13221
261 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
262 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
263 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
264 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
265 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
266 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
267
268 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
269
88096b2a
KG
2702003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
271
272 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
273 * testsuite/libffi.special/ffitestcxx.h: Likewise.
274
3eee102e
AT
2752003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
276
277 * Makefile.in: Rebuilt.
278 * configure: Likewise.
279 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
280 the right type.
281
5196736e
AJ
2822003-11-21 Andreas Jaeger <aj@suse.de>
283 Andreas Tobler <a.tobler@schweiz.ch>
284
285 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
286 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
287 * Makefile.in: Rebuilt.
288 * aclocal.m4: Likewise.
289 * configure: Likewise.
290 * fficonfig.h.in: Likewise.
291 * testsuite/lib/libffi-dg.exp: Add include dir.
292 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
293 * testsuite/libffi.special/ffitestcxx.h: Likewise.
294 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
295 for ffi_closure if available.
296 * testsuite/libffi.call/closure_fn1.c: Likewise.
297 * testsuite/libffi.call/closure_fn2.c: Likewise.
298 * testsuite/libffi.call/closure_fn3.c: Likewise.
299 * testsuite/libffi.call/closure_fn4.c: Likewise.
300 * testsuite/libffi.call/closure_fn5.c: Likewise.
301 * testsuite/libffi.call/cls_12byte.c: Likewise.
302 * testsuite/libffi.call/cls_16byte.c: Likewise.
303 * testsuite/libffi.call/cls_18byte.c: Likewise.
304 * testsuite/libffi.call/cls_19byte.c: Likewise.
305 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
306 * testsuite/libffi.call/cls_20byte.c: Likewise.
307 * testsuite/libffi.call/cls_20byte1.c: Likewise.
308 * testsuite/libffi.call/cls_24byte.c: Likewise.
309 * testsuite/libffi.call/cls_2byte.c: Likewise.
310 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
311 * testsuite/libffi.call/cls_3byte1.c: Likewise.
312 * testsuite/libffi.call/cls_3byte2.c: Likewise.
313 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
314 * testsuite/libffi.call/cls_4byte.c: Likewise.
315 * testsuite/libffi.call/cls_5byte.c: Likewise.
316 * testsuite/libffi.call/cls_64byte.c: Likewise.
317 * testsuite/libffi.call/cls_6byte.c: Likewise.
318 * testsuite/libffi.call/cls_7byte.c: Likewise.
319 * testsuite/libffi.call/cls_8byte.c: Likewise.
320 * testsuite/libffi.call/cls_9byte1.c: Likewise.
321 * testsuite/libffi.call/cls_9byte2.c: Likewise.
322 * testsuite/libffi.call/cls_double.c: Likewise.
323 * testsuite/libffi.call/cls_float.c: Likewise.
324 * testsuite/libffi.call/cls_schar.c: Likewise.
325 * testsuite/libffi.call/cls_sint.c: Likewise.
326 * testsuite/libffi.call/cls_sshort.c: Likewise.
327 * testsuite/libffi.call/cls_uchar.c: Likewise.
328 * testsuite/libffi.call/cls_uint.c: Likewise.
329 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
330 * testsuite/libffi.call/cls_ushort.c: Likewise.
331 * testsuite/libffi.call/nested_struct.c: Likewise.
332 * testsuite/libffi.call/nested_struct1.c: Likewise.
333 * testsuite/libffi.call/nested_struct2.c: Likewise.
334 * testsuite/libffi.call/nested_struct3.c: Likewise.
335 * testsuite/libffi.call/problem1.c: Likewise.
336 * testsuite/libffi.special/unwindtest.cc: Likewise.
337
9e6c3ecb
AT
3382003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
339
340 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
341
70d8f2a1
AT
3422003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
343
344 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
345 Add -lgcc_s to additional flags.
346
ea81d2a3
AT
3472003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
348
349 * configure.in, include/Makefile.am: PR libgcj/11147, install
350 the ffitarget.h header file in a gcc versioned and target
351 dependent place.
352 * configure: Regenerated.
353 * Makefile.in, include/Makefile.in: Likewise.
354 * testsuite/Makefile.in: Likewise.
355
647af4a9
AT
3562003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
357
358 * testsuite/libffi.call/closure_fn0.c: Print result and check
359 with dg-output to make debugging easier.
360 * testsuite/libffi.call/closure_fn1.c: Likewise.
361 * testsuite/libffi.call/closure_fn2.c: Likewise.
362 * testsuite/libffi.call/closure_fn3.c: Likewise.
363 * testsuite/libffi.call/closure_fn4.c: Likewise.
364 * testsuite/libffi.call/closure_fn5.c: Likewise.
365 * testsuite/libffi.call/cls_12byte.c: Likewise.
366 * testsuite/libffi.call/cls_16byte.c: Likewise.
367 * testsuite/libffi.call/cls_18byte.c: Likewise.
368 * testsuite/libffi.call/cls_19byte.c: Likewise.
369 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
370 * testsuite/libffi.call/cls_20byte.c: Likewise.
371 * testsuite/libffi.call/cls_20byte1.c: Likewise.
372 * testsuite/libffi.call/cls_24byte.c: Likewise.
373 * testsuite/libffi.call/cls_2byte.c: Likewise.
374 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
375 * testsuite/libffi.call/cls_3byte1.c: Likewise.
376 * testsuite/libffi.call/cls_3byte2.c: Likewise.
377 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
378 * testsuite/libffi.call/cls_4byte.c: Likewise.
379 * testsuite/libffi.call/cls_5byte.c: Likewise.
380 * testsuite/libffi.call/cls_64byte.c: Likewise.
381 * testsuite/libffi.call/cls_6byte.c: Likewise.
382 * testsuite/libffi.call/cls_7byte.c: Likewise.
383 * testsuite/libffi.call/cls_8byte.c: Likewise.
384 * testsuite/libffi.call/cls_9byte1.c: Likewise.
385 * testsuite/libffi.call/cls_9byte2.c: Likewise.
386 * testsuite/libffi.call/cls_double.c: Likewise.
387 * testsuite/libffi.call/cls_float.c: Likewise.
388 * testsuite/libffi.call/cls_schar.c: Likewise.
389 * testsuite/libffi.call/cls_sint.c: Likewise.
390 * testsuite/libffi.call/cls_sshort.c: Likewise.
391 * testsuite/libffi.call/cls_uchar.c: Likewise.
392 * testsuite/libffi.call/cls_uint.c: Likewise.
393 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
394 * testsuite/libffi.call/cls_ushort.c: Likewise.
395 * testsuite/libffi.call/problem1.c: Likewise.
396
397 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
398 static.
399
ac47cc13
AT
4002003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
401
402 * testsuite/libffi.call/cls_9byte2.c: New test case.
403 * testsuite/libffi.call/cls_9byte1.c: Likewise.
404 * testsuite/libffi.call/cls_64byte.c: Likewise.
405 * testsuite/libffi.call/cls_20byte1.c: Likewise.
406 * testsuite/libffi.call/cls_19byte.c: Likewise.
407 * testsuite/libffi.call/cls_18byte.c: Likewise.
408 * testsuite/libffi.call/closure_fn4.c: Likewise.
409 * testsuite/libffi.call/closure_fn5.c: Likewise.
410 * testsuite/libffi.call/cls_schar.c: Likewise.
411 * testsuite/libffi.call/cls_sint.c: Likewise.
412 * testsuite/libffi.call/cls_sshort.c: Likewise.
413 * testsuite/libffi.call/nested_struct2.c: Likewise.
414 * testsuite/libffi.call/nested_struct3.c: Likewise.
415
f145ed6b
AT
4162003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
417
418 * testsuite/libffi.call/cls_double.c: Do a check on the result.
419 * testsuite/libffi.call/cls_uchar.c: Likewise.
420 * testsuite/libffi.call/cls_uint.c: Likewise.
421 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
422 * testsuite/libffi.call/cls_ushort.c: Likewise.
423 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
424
2b04d015
AT
4252003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
426
427 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
428 the initialization.
429
57f542b3
AT
4302003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
431
2b04d015 432 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
433 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
434
e61acf72
DD
4352003-10-22 David Daney <ddaney@avtrex.com>
436
437 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
438 __attribute__((__mode__(__SI__))) and friends.
439
2461c08b
AS
4402003-10-22 Andreas Schwab <schwab@suse.de>
441
442 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
443
1450eb7a
AT
4442003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
445
446 * configure.in: AC_LINK_FILES(ffitarget.h).
447 * configure: Regenerate.
448 * Makefile.in: Likewise.
449 * include/Makefile.in: Likewise.
450 * testsuite/Makefile.in: Likewise.
451 * fficonfig.h.in: Likewise.
452
4532003-10-21 Paolo Bonzini <bonzini@gnu.org>
454 Richard Henderson <rth@redhat.com>
455
456 Avoid that ffi.h includes fficonfig.h.
457
458 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
459 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
460 (TARGET_SRC_MIPS_SGI): Removed.
461 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
462 (MIPS_SGI): Removed.
463 (CLEANFILES): Removed.
464 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
465 targets.
466 * acconfig.h: Removed.
467 * configure.in: Compute sizeofs only for double and long double.
468 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
469 into AC_DEFINE instead of using acconfig.h. Create
470 include/ffitarget.h instead of include/fficonfig.h. Rename
471 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
472 AC_DEFINE EH_FRAME_FLAGS.
473 * include/Makefile.am (DISTCLEANFILES): New automake macro.
474 (hack_DATA): Add ffitarget.h.
475 * include/ffi.h.in: Remove all system specific definitions.
476 Declare raw API even if it is not installed, why bother?
477 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
478 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
479 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
480 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
481 * include/ffi_common.h (bool): Do not define.
482 (ffi_assert): Accept failed assertion.
483 (ffi_type_test): Return void and accept file/line.
484 (FFI_ASSERT): Pass stringized failed assertion.
485 (FFI_ASSERT_AT): New macro.
486 (FFI_ASSERT_VALID_TYPE): New macro.
487 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
488 UINT64, SINT64): Define here with gcc's __attribute__ macro
489 instead of in ffi.h
490 (FLOAT32, ALIGN): Define here instead of in ffi.h
491 * include/ffi-mips.h: Removed. Its content moved to
492 src/mips/ffitarget.h after separating assembly and C sections.
493 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
494 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
495 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
496 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
497 SIZEOF_ARG -> FFI_SIZEOF_ARG.
498 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
499 * src/debug.c (ffi_assert): Accept stringized failed assertion.
500 (ffi_type_test): Rewritten.
501 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
502 FFI_ASSERT_VALID_TYPE.
503 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
504 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
505 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
506 src/s390/ffitarget.h, src/sh/ffitarget.h,
507 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
508 src/x86/ffitarget.h: New files.
509 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
510 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
511 src/powerpc/aix.S, src/powerpc/darwin.S,
512 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
513 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
514 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
515 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
516 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
517 include fficonfig.h
518
27d54b2a
RO
5192003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
520
521 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
522 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
523
0df6970d
AT
5242003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
525
526 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
527 Used when FFI_DEBUG = 1.
528
2612ffce
AM
5292003-10-14 Alan Modra <amodra@bigpond.net.au>
530
531 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
532 and align.
533
d54f7354
RO
5342003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
535
536 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
537 FFI_MIPS_O32 for O32 ABI.
538
7a54c850
AT
5392003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
540
541 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
542 SPARC64. Cleanup whitespaces.
543
9e3bfa9b
AT
5442003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
545
546 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
547 strongarm, xscale. Cleanup whitespaces.
548 * testsuite/libffi.call/closure_fn1.c: Likewise.
549 * testsuite/libffi.call/closure_fn2.c: Likewise.
550 * testsuite/libffi.call/closure_fn3.c: Likewise.
551 * testsuite/libffi.call/cls_12byte.c: Likewise.
552 * testsuite/libffi.call/cls_16byte.c: Likewise.
553 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
554 * testsuite/libffi.call/cls_20byte.c: Likewise.
555 * testsuite/libffi.call/cls_24byte.c: Likewise.
556 * testsuite/libffi.call/cls_2byte.c: Likewise.
557 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
558 * testsuite/libffi.call/cls_3byte1.c: Likewise.
559 * testsuite/libffi.call/cls_3byte2.c: Likewise.
560 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
561 * testsuite/libffi.call/cls_4byte.c: Likewise.
562 * testsuite/libffi.call/cls_5byte.c: Likewise.
563 * testsuite/libffi.call/cls_6byte.c: Likewise.
564 * testsuite/libffi.call/cls_7byte.c: Likewise.
565 * testsuite/libffi.call/cls_8byte.c: Likewise.
566 * testsuite/libffi.call/cls_double.c: Likewise.
567 * testsuite/libffi.call/cls_float.c: Likewise.
568 * testsuite/libffi.call/cls_uchar.c: Likewise.
569 * testsuite/libffi.call/cls_uint.c: Likewise.
570 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
571 * testsuite/libffi.call/cls_ushort.c: Likewise.
572 * testsuite/libffi.call/nested_struct.c: Likewise.
573 * testsuite/libffi.call/nested_struct1.c: Likewise.
574 * testsuite/libffi.call/problem1.c: Likewise.
575 * testsuite/libffi.special/unwindtest.cc: Likewise.
576 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
577
3e86b595
DE
5782003-09-18 David Edelsohn <edelsohn@gnu.org>
579
580 * src/powerpc/aix.S: Cleanup whitespaces.
581 * src/powerpc/aix_closure.S: Likewise.
582
8d8369f8
AT
5832003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
584
585 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
586 * src/powerpc/darwin_closure.S: Likewise.
587 * src/powerpc/ffi_darwin.c: Likewise.
588
69b182fd
AT
5892003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
590 David Edelsohn <edelsohn@gnu.org>
591
592 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
593 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
594 parameter stack.
595 * src/powerpc/darwin_closure.S: Likewise.
596 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
597 according to the Darwin/AIX ABI.
598 (ffi_prep_cif_machdep): Likewise.
599 (ffi_closure_helper_DARWIN): Likewise.
600 Remove the outgoing parameter stack logic. Simplify the evaluation
601 of the different CASE types.
602 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
603 statement in the trampoline code.
604
df805cdc
KK
6052003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
606
607 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
608 for the register size.
609 (ffi_closure_helper_SYSV): Handle the structure return value
610 address correctly.
611 (ffi_closure_helper_SYSV): Return the appropriate type when
612 the registers are used for the structure return value.
613 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
614 the 64-bit return value. Update copyright years.
615
eb26c76c
RO
6162003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
617
618 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
619 srcdir for ffi_mips.h.
620
6350c02c
AM
6212003-09-12 Alan Modra <amodra@bigpond.net.au>
622
623 * src/prep_cif.c (initialize_aggregate): Include tail padding in
624 structure size.
625 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
626 placement of float result.
627 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
628 cast of "resp" for big-endian 64 bit machines.
629
5af1c806
AM
6302003-09-11 Alan Modra <amodra@bigpond.net.au>
631
632 * src/types.c (double, longdouble): Merge identical SH and ARM
633 typedefs, and add POWERPC64.
634 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
635 struct split over gpr and rest.
636 (ffi_prep_cif_machdep): Correct intarg_count for structures.
637 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
638
086a4bd7
AT
6392003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
640
641 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
642 passing correctly.
c930d8a5 643
e517f636
AM
6442003-09-09 Alan Modra <amodra@bigpond.net.au>
645
646 * configure: Regenerate.
647
6f20d627
AT
6482003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
649
650 * Makefile.am: Remove build rules for ffitest.
651 * Makefile.in: Rebuilt.
c930d8a5 652
6f20d627 6532003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
654
655 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
656 about implicit declaration of abort().
657
bbf3057b
AT
6582003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
659
660 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
661 * Makefile.in: Rebuilt.
662 * configure.in: Add dejagnu test framework.
663 * configure: Rebuilt.
664
665 * testsuite/Makefile.am: New file.
666 * testsuite/Makefile.in: Built
c930d8a5 667 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
668 * testsuite/config/default.exp: Likewise.
669 * testsuite/libffi.call/call.exp: Likewise.
670 * testsuite/libffi.call/ffitest.h: Likewise.
671 * testsuite/libffi.call/closure_fn0.c: Likewise.
672 * testsuite/libffi.call/closure_fn1.c: Likewise.
673 * testsuite/libffi.call/closure_fn2.c: Likewise.
674 * testsuite/libffi.call/closure_fn3.c: Likewise.
675 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
676 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
677 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
678 * testsuite/libffi.call/cls_2byte.c: Likewise.
679 * testsuite/libffi.call/cls_3byte1.c: Likewise.
680 * testsuite/libffi.call/cls_3byte2.c: Likewise.
681 * testsuite/libffi.call/cls_4byte.c: Likewise.
682 * testsuite/libffi.call/cls_5byte.c: Likewise.
683 * testsuite/libffi.call/cls_6byte.c: Likewise.
684 * testsuite/libffi.call/cls_7byte.c: Likewise.
685 * testsuite/libffi.call/cls_8byte.c: Likewise.
686 * testsuite/libffi.call/cls_12byte.c: Likewise.
687 * testsuite/libffi.call/cls_16byte.c: Likewise.
688 * testsuite/libffi.call/cls_20byte.c: Likewise.
689 * testsuite/libffi.call/cls_24byte.c: Likewise.
690 * testsuite/libffi.call/cls_double.c: Likewise.
691 * testsuite/libffi.call/cls_float.c: Likewise.
692 * testsuite/libffi.call/cls_uchar.c: Likewise.
693 * testsuite/libffi.call/cls_uint.c: Likewise.
694 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
695 * testsuite/libffi.call/cls_ushort.c: Likewise.
696 * testsuite/libffi.call/float.c: Likewise.
697 * testsuite/libffi.call/float1.c: Likewise.
698 * testsuite/libffi.call/float2.c: Likewise.
699 * testsuite/libffi.call/many.c: Likewise.
700 * testsuite/libffi.call/many_win32.c: Likewise.
701 * testsuite/libffi.call/nested_struct.c: Likewise.
702 * testsuite/libffi.call/nested_struct1.c: Likewise.
703 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
704 * testsuite/libffi.call/problem1.c: Likewise.
705 * testsuite/libffi.call/promotion.c: Likewise.
706 * testsuite/libffi.call/return_ll.c: Likewise.
707 * testsuite/libffi.call/return_sc.c: Likewise.
708 * testsuite/libffi.call/return_uc.c: Likewise.
709 * testsuite/libffi.call/strlen.c: Likewise.
710 * testsuite/libffi.call/strlen_win32.c: Likewise.
711 * testsuite/libffi.call/struct1.c: Likewise.
712 * testsuite/libffi.call/struct2.c: Likewise.
713 * testsuite/libffi.call/struct3.c: Likewise.
714 * testsuite/libffi.call/struct4.c: Likewise.
715 * testsuite/libffi.call/struct5.c: Likewise.
716 * testsuite/libffi.call/struct6.c: Likewise.
717 * testsuite/libffi.call/struct7.c: Likewise.
718 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 719 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
720 * testsuite/libffi.special/special.exp: New file.
721 * testsuite/libffi.special/ffitestcxx.h: Likewise.
722 * testsuite/libffi.special/unwindtest.cc: Likewise.
723
c930d8a5 724
996b4f8f
KK
7252003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
726
727 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
728 copyright years.
729
b00badcd
AM
7302003-08-02 Alan Modra <amodra@bigpond.net.au>
731
732 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
733 structure passing.
734 (ffi_closure_helper_LINUX64): Likewise.
735 * src/powerpc/linux64.S: Remove code writing to parm save area.
736 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
737 address in lr from ffi_closure_helper_LINUX64 call to calculate
738 table address. Optimize function tail.
739
c1516eae
AT
7402003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
741
742 * src/sparc/ffi.c: Handle all floating point registers.
743 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
744
fc0e6222
GP
7452003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
746
747 * README: Note that libffi is not part of GCC. Update the project
748 URL and status.
749
a1569df8
FS
7502003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
751
752 * src/powerpc/ppc_closure.S: Include ffi.h.
753
12e816bf
RO
7542003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
755
756 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
757 Use C style comments.
758
e860ed6d
KK
7592003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
760
761 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
762 * Makefile.in: Regenerate.
763 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
764 * configure: Regenerate.
765 * include/ffi.h.in: Add SHmedia support.
766 * src/sh64/ffi.c: New file.
767 * src/sh64/sysv.S: New file.
768
a733b15e
JJ
7692003-05-16 Jakub Jelinek <jakub@redhat.com>
770
771 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
772 should be read-only.
773 * configure: Rebuilt.
774 * fficonfig.h.in: Rebuilt.
775 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
776 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
777 * src/powerpc/linux64.S: Likewise.
778 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
779 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
780 if -fpic/-fPIC/-mrelocatable.
781 * src/powerpc/powerpc_closure.S: Likewise.
782 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
783 #write in .eh_frame flags.
784 * src/sparc/v9.S: Likewise.
785 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
786 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
787 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
788
bd19c9f4
JS
7892003-05-07 Jeff Sturm <jsturm@one-point.com>
790
791 Fixes PR bootstrap/10656
792 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
793 support for .register pseudo-op.
794 * src/sparc/v8.S: Use it.
795 * fficonfig.h.in: Rebuilt.
796 * configure: Rebuilt.
797
e9b84181
JJ
7982003-04-18 Jakub Jelinek <jakub@redhat.com>
799
800 * include/ffi.h.in (POWERPC64): Define if 64-bit.
801 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
802 Make it the default on POWERPC64.
803 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
804 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
805 * configure: Rebuilt.
806 * src/powerpc/ffi.c (hidden): Define.
807 (ffi_prep_args_SYSV): Renamed from
808 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
809 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
810 ASM_NEEDS_REGISTERS64): New.
811 (ffi_prep_args64): New function.
812 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
813 (ffi_call): Likewise.
814 (ffi_prep_closure): Likewise.
815 (flush_icache): Surround by #ifndef POWERPC64.
816 (ffi_dblfl): New union type.
817 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
818 (ffi_closure_helper_LINUX64): New function.
819 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
820 __powerpc64__.
821 * src/powerpc/sysv.S: Likewise.
822 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
823 * src/powerpc/linux64.S: New file.
824 * src/powerpc/linux64_closure.S: New file.
825 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
826 src/powerpc/linux64_closure.S.
827 (TARGET_SRC_POWERPC): Likewise.
828
829 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
830 closure_test_fn3): Fix result printing on big-endian 64-bit
831 machines.
832 (main): Print tst2_arg instead of uninitialized tst2_result.
833
834 * src/ffitest.c (main): Hide what closure pointer really points to
835 from the compiler.
836
908a31e1
RE
8372003-04-16 Richard Earnshaw <rearnsha@arm.com>
838
839 * configure.in (arm-*-netbsdelf*): Add configuration.
840 (configure): Regenerated.
841
41a73c4c
LR
8422003-04-04 Loren J. Rittle <ljrittle@acm.org>
843
844 * include/Makefile.in: Regenerate.
845
cd41c847
ZD
8462003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
847
848 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
849 bit mode.
850 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
851 Receive closure pointer through parameter, read args using
852 __builtin_dwarf_cfa.
853 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
854
6db450f9
AS
8552003-03-12 Andreas Schwab <schwab@suse.de>
856
857 * configure.in: Avoid trailing /. in toolexeclibdir.
858 * configure: Rebuilt.
859
70144e9c
AT
8602003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
861
862 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
863
79e43f89
AT
8642003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
865
866 * libffi/src/powerpc/darwin_closure.S:
867 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 868 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
869 Likewise.
870 * libffi/src/powerpc/ffi_darwin.c:
871 Update stackframe description for aix/darwin_closure.S.
c930d8a5 872
0fcc9e55
JJ
8732003-02-06 Jakub Jelinek <jakub@redhat.com>
874
875 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
876 attribute.
877
63b87c2e
CC
8782003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
879 Andreas Schwab <schwab@suse.de>
880
881 * configure.in: Adjust command to source config-ml.in to account
882 for changes to the libffi_basedir definition.
883 (libffi_basedir): Remove ${srcdir} from value and include trailing
884 slash if nonempty.
c930d8a5 885
63b87c2e
CC
886 * configure: Regenerate.
887
c33402e2
FS
8882003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
889
890 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
891
fd2e49b2
AH
8922003-01-28 Andrew Haley <aph@redhat.com>
893
894 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
895 * src/x86/ffi64.c (ffi_prep_closure): New.
896 (ffi_closure_UNIX64_inner): New.
897 * src/x86/unix64.S (ffi_closure_UNIX64): New.
898
0e292c01
AO
8992003-01-27 Alexandre Oliva <aoliva@redhat.com>
900
901 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
902 Remove USE_LIBDIR conditional.
903 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
904 * Makefile.in, configure: Rebuilt.
905
acabc220
DE
9062003-01027 David Edelsohn <edelsohn@gnu.org>
907
908 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
909 * Makefile.in: Regenerate.
910
be0acd42
AH
9112003-01-22 Andrew Haley <aph@redhat.com>
912
913 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
914 unwind info.
915
ed695c8e
AT
9162003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
917
918 * src/powerpc/darwin.S: Add unwind info.
919 * src/powerpc/darwin_closure.S: Likewise.
920
45ba15f4
AH
9212003-01-14 Andrew Haley <aph@redhat.com>
922
923 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
924 (ffi_prep_cif_machdep): Likewise.
925 * src/x86/unix64.S: Add unwind info.
926
4b5f402e
AJ
9272003-01-14 Andreas Jaeger <aj@suse.de>
928
929 * src/ffitest.c (main): Only use ffi_closures if those are
930 supported.
931
7b5102af
TT
9322003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
933
934 * libffi/src/ffitest.c
935 add closure testcases
936
9372003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
938
939 * libffi/src/powerpc/ffi.c
940 fix alignment bug for float (4 byte aligned iso 8 byte)
941
5f7c78d8
GK
9422003-01-09 Geoffrey Keating <geoffk@apple.com>
943
944 * src/powerpc/ffi_darwin.c: Remove RCS version string.
945 * src/powerpc/darwin.S: Remove RCS version string.
946
c75c7793
JS
9472003-01-03 Jeff Sturm <jsturm@one-point.com>
948
949 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
950 * src/ffitest.c (main): Use static storage for closure.
951 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
952 * src/sparc/v8.S (ffi_closure_v8): New.
953 * src/sparc/v9.S (ffi_closure_v9): New.
954
eb3c46a1
RM
9552002-11-10 Ranjit Mathew <rmathew@hotmail.com>
956
957 * include/ffi.h.in: Added FFI_STDCALL ffi_type
958 enumeration for X86_WIN32.
959 * src/x86/win32.S: Added ffi_call_STDCALL function
960 definition.
961 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
962 switch cases for recognising FFI_STDCALL and
963 calling ffi_call_STDCALL if target is X86_WIN32.
964 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
965 stdcall versions of the "my_strlen" and "many"
966 test functions (for X86_WIN32).
967 Added test cases to test stdcall invocation using
968 these functions.
969
4977bab6
ZW
9702002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
971
972 * src/sh/sysv.S: Add DWARF2 unwind info.
973
67333e84
UW
9742002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
975
976 * src/s390/sysv.S (.eh_frame section): Make section read-only.
977
bc3cf760
JW
9782002-11-26 Jim Wilson <wilson@redhat.com>
979
980 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
981
4977bab6
ZW
9822002-11-23 H.J. Lu <hjl@gnu.org>
983
984 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
985 Include ../config/accross.m4.
986 * aclocal.m4; Rebuild.
987 * configure: Likewise.
988
18789f4e
UW
9892002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
990
991 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
992
6bee5372
DD
9932002-11-11 DJ Delorie <dj@redhat.com>
994
995 * configure.in: Look for common files in the right place.
996
8177895b
UW
9972002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
998
999 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1000 raw data as _Jv_word values, not ffi_raw.
1001 (ffi_java_ptrarray_to_raw): Likewise.
1002 (ffi_java_rvalue_to_raw): New function.
1003 (ffi_java_raw_call): Call it.
1004 (ffi_java_raw_to_rvalue): New function.
1005 (ffi_java_translate_args): Call it.
1006 * src/ffitest.c (closure_test_fn): Interpret return value
1007 as ffi_arg, not int.
1008 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1009 FFI_TYPE_POINTER case.
1010 (ffi_closure_helper_SYSV): Likewise. Also, assume return
1011 values extended to word size.
1012
af50f4c8
AJ
10132002-10-02 Andreas Jaeger <aj@suse.de>
1014
1015 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1016
5d297584
BT
10172002-10-01 Bo Thorsen <bo@smetana.suse.de>
1018
1019 * include/ffi.h.in: Fix i386 win32 compilation.
1020
c4f17c6f
UW
10212002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1022
1023 * configure.in: Add s390x-*-linux-* target.
1024 * configure: Regenerate.
1025 * include/ffi.h.in: Define S390X for s390x targets.
1026 (FFI_CLOSURES): Define for s390/s390x.
1027 (FFI_TRAMPOLINE_SIZE): Likewise.
1028 (FFI_NATIVE_RAW_API): Likewise.
1029 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1030 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 1031 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
1032 s390x targets. Add closure support.
1033 * src/s390/sysv.S: Likewise.
1034
d7b52625
RE
10352002-09-29 Richard Earnshaw <rearnsha@arm.com>
1036
1037 * src/arm/sysv.S: Fix typo.
1038
28165e22
RE
10392002-09-28 Richard Earnshaw <rearnsha@arm.com>
1040
1041 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1042 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1043 (ffi_call_SYSV): Handle soft-float.
1044
0b0f4163
BT
10452002-09-27 Bo Thorsen <bo@suse.de>
1046
1047 * include/ffi.h.in: Fix multilib x86-64 support.
1048
6c5d742e
KG
10492002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1050
1051 * Makefile.am (all-multi): Fix multilib parallel build.
1052
f4b2b0d6
KK
10532002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1054
1055 * configure.in (sh[34]*-*-linux*): Add brackets.
1056 * configure: Regenerate.
1057
ddebdfeb
KK
10582002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1059
1060 * Makefile.am: Add SH support.
1061 * Makefile.in: Regenerate.
1062 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1063 * configure: Regenerate.
1064 * include/ffi.h.in: Add SH support.
1065 * src/sh/ffi.c: New file.
1066 * src/sh/sysv.S: New file.
1067 * src/types.c: Add SH support.
1068
c94974ca
BT
10692002-07-16 Bo Thorsen <bo@suse.de>
1070
1071 * src/x86/ffi64.c: New file that adds x86-64 support.
1072 * src/x86/unix64.S: New file that handles argument setup for
1073 x86-64.
1074 * src/x86/sysv.S: Don't use this on x86-64.
1075 * src/x86/ffi.c: Don't use this on x86-64.
1076 Remove unused vars.
1077 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1078 for x86-64.
1079 * src/ffitest.c (struct6): New test that tests a special case in
1080 the x86-64 ABI.
1081 (struct7): Likewise.
1082 (struct8): Likewise.
1083 (struct9): Likewise.
1084 (closure_test_fn): Silence warning about this when it's not used.
1085 (main): Add the new tests.
1086 (main): Fix a couple of wrong casts and silence some compiler warnings.
1087 * include/ffi.h.in: Add x86-64 ABI definition.
1088 * fficonfig.h.in: Regenerate.
1089 * Makefile.am: Add x86-64 support.
1090 * configure.in: Likewise.
1091 * Makefile.in: Regenerate.
1092 * configure: Likewise.
1093
10942002-06-24 Bo Thorsen <bo@suse.de>
1095
1096 * src/types.c: Merge settings for similar architectures.
1097 Add x86-64 sizes and alignments.
1098
10992002-06-23 Bo Thorsen <bo@suse.de>
1100
1101 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1102 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1103 * src/mips/ffi.c (ffi_prep_args): Likewise.
1104 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1105
5be36a8f
L
11062002-07-18 H.J. Lu (hjl@gnu.org)
1107
1108 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1109 (libffi_la_SOURCES): Support MIPS_LINUX.
1110 (libffi_convenience_la_SOURCES): Likewise.
1111 * Makefile.in: Regenerated.
1112
1113 * configure.in (mips64*-*): Skip.
1114 (mips*-*-linux*): New.
1115 * configure: Regenerated.
1116
1117 * src/mips/ffi.c: Include <sgidefs.h>.
1118
ad5e163c
UW
11192002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1120
1121 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1122
ee4586c5
RS
11232002-05-27 Roger Sayle <roger@eyesopen.com>
1124
1125 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1126
b86aa7b0
BT
11272002-05-27 Bo Thorsen <bo@suse.de>
1128
1129 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1130 fix formatting.
1131
859f7aaf
AT
11322002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1133
1134 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1135 beginning of function (for older apple cc).
1136
6706f116
AO
11372002-05-08 Alexandre Oliva <aoliva@redhat.com>
1138
1139 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1140 script entry, and set LD to it when configuring multilibs.
1141 * configure: Rebuilt.
1142
fad655c8
JT
11432002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1144
1145 * configure.in (sparc64-*-netbsd*): Add target.
1146 (sparc-*-netbsdelf*): Likewise.
1147 * configure: Regenerate.
1148
189ab118
DM
11492002-04-28 David S. Miller <davem@redhat.com>
1150
1151 * configure.in, configure: Fix SPARC test in previous change.
1152
22bcf65c
GT
11532002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1154
1155 * Makefile.am: Add Linux for S/390 support.
1156 * Makefile.in: Regenerate.
1157 * configure.in: Add Linux for S/390 support.
1158 * configure: Regenerate.
1159 * include/ffi.h.in: Add Linux for S/390 support.
1160 * src/s390/ffi.c: New file from libffi CVS tree.
1161 * src/s390/sysv.S: New file from libffi CVS tree.
1162
5d84cf0b
JJ
11632002-04-28 Jakub Jelinek <jakub@redhat.com>
1164
1165 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1166 %r_disp32().
1167 * src/sparc/v8.S: Use it.
1168 * src/sparc/v9.S: Likewise.
1169 * fficonfig.h.in: Rebuilt.
1170 * configure: Rebuilt.
1171
cc382e5c
HB
11722002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1173
1174 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1175 correctly.
1176 * src/ia64/unix.S: Add unwind information. Fix comments.
1177 Save sp in a way that's compatible with unwind info.
1178 (ffi_call_unix): Correctly restore sp in all cases.
1179 * src/ia64/ffi.c: Add, fix comments.
1180
dc798645
JJ
11812002-04-08 Jakub Jelinek <jakub@redhat.com>
1182
1183 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1184
da00eaab
JT
11852002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1186
1187 * configure.in (alpha*-*-netbsd*): Add target.
1188 * configure: Regenerate.
1189
0c0b87ad
JS
11902002-04-04 Jeff Sturm <jsturm@one-point.com>
1191
1192 * src/sparc/v8.S: Add unwind info.
1193 * src/sparc/v9.S: Likewise.
1194
320d7e7a
KW
11952002-03-30 Krister Walfridsson <cato@df.lth.se>
1196
1197 * configure.in: Enable i*86-*-netbsdelf*.
1198 * configure: Rebuilt.
4977bab6 1199
c75e51ed
DB
12002002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1201
1202 PR other/2620
1203 * src/mips/n32.s: Delete
1204 * src/mips/o32.s: Delete
1205
5bb366e0
LR
12062002-03-21 Loren J. Rittle <ljrittle@acm.org>
1207
1208 * configure.in: Enable alpha*-*-freebsd*.
1209 * configure: Rebuilt.
1210
ce3b24a7
BM
12112002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1212
1213 * Makefile.am: libfficonvenience -> libffi_convenience.
1214 * Makefile.in: Rebuilt.
4977bab6 1215
1eb7ba30
BM
1216 * Makefile.am: Define ffitest_OBJECTS.
1217 * Makefile.in: Rebuilt.
ce3b24a7 1218
073ae293
AT
12192002-03-07 Andreas Tobler <toa@pop.agri.ch>
1220 David Edelsohn <edelsohn@gnu.org>
1221
1222 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1223 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1224 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1225 * Makefile.in: Regenerate.
1226 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1227 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1228 (flush_icache, flush_range): New functions.
1229 (ffi_closure_helper_DARWIN): New function.
1230 * src/powerpc/aix_closure.S: New file.
1231 * src/powerpc/darwin_closure.S: New file.
4977bab6 1232
02c521f4
JS
12332002-02-24 Jeff Sturm <jsturm@one-point.com>
1234
1235 * include/ffi.h.in: Add typedef for ffi_arg.
1236 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 1237
287dd527
AT
12382002-02-21 Andreas Tobler <toa@pop.agri.ch>
1239
1240 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1241 number of GPRs for floating-point arguments.
1242
e2f2e70a
AG
12432002-01-31 Anthony Green <green@redhat.com>
1244
1245 * configure: Rebuilt.
1246 * configure.in: Replace CHECK_SIZEOF and endian tests with
1247 cross-compiler friendly macros.
1248 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1249 macros.
1250
15b9b32f
DE
12512002-01-18 David Edelsohn <edelsohn@gnu.org>
1252
1253 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 1254 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 1255
2f4006f8
DE
12562002-01-17 David Edelsohn <edelsohn@gnu.org>
1257
1258 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1259 (TARGET_SRC_POWERPC_AIX): New.
1260 (POWERPC_AIX): New stanza.
1261 * Makefile.in: Regenerate.
1262 * configure.in: Add AIX case.
1263 * configure: Regenerate.
1264 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1265 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1266 size. Fix "long double" support.
1267 (ffi_call): Add FFI_AIX case.
1268 * src/powerpc/aix.S: New.
1269
3c017635
JH
12702001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1271
1272 Implement Darwin PowerPC ABI.
1273 * configure.in: Handle powerpc-*-darwin*.
1274 * Makefile.am: Set source files for POWERPC_DARWIN.
1275 * configure: Rebuilt.
1276 * Makefile.in: Rebuilt.
1277 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1278 POWERPC_DARWIN.
1279 * src/powerpc/darwin.S: New file.
1280 * src/powerpc/ffi_darwin.c: New file.
1281
cc712abf
JM
12822001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1283
1284 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1285
03a8de49
RO
12862001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1287
1288 * src/x86/sysv.S: Avoid gas-only .balign directive.
1289 Use C style comments.
1290
92a0e6c6
RO
12912001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1292
1293 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1294 Fixes PR bootstrap/3563.
1295
57482f58
RO
12962001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1297
1298 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1299
d7e2dd2f
RO
13002001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1301
1302 * configure.in: Recognize sparc*-sun-* host.
1303 * configure: Regenerate.
4977bab6 1304
be72207c
AH
13052001-06-06 Andrew Haley <aph@redhat.com>
1306
4075db8f 1307 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 1308
552cb45a
AH
13092001-06-03 Andrew Haley <aph@redhat.com>
1310
4075db8f
BT
1311 * src/alpha/osf.S: Add unwind info.
1312 * src/powerpc/sysv.S: Add unwind info.
1313 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 1314
7d45b968
JS
13152000-05-31 Jeff Sturm <jsturm@one-point.com>
1316
1317 * configure.in: Fix AC_ARG_ENABLE usage.
1318 * configure: Rebuilt.
1319
2a7f63c4
BM
13202001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1321
1322 * configure.in: Remove warning about beta code.
1323 * configure: Rebuilt.
1324
13252001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1326
03a55252
HB
1327 * src/ia64/unix.S: Restore stack pointer when returning from
1328 ffi_closure_UNIX.
1329 * src/ia64/ffi.c: Fix typo in comment.
1330
df5da1c4
JW
13312001-04-18 Jim Wilson <wilson@redhat.com>
1332
1333 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1334 to eliminate RAW DV.
1335
52c28977
BM
13362001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1337
1338 * Makefile.am: Make a libtool convenience library.
1339 * Makefile.in: Rebuilt.
1340
3b905056
BM
13412001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1342
1343 * configure.in: Use different syntax for subdirectory creation.
1344 * configure: Rebuilt.
1345
d6c4152a
JB
13462001-03-27 Jon Beniston <jon@beniston.com>
1347
1348 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1349 * configure: Rebuilt.
1350 * Makefile.am: Added X86_WIN32 target support.
1351 * Makefile.in: Rebuilt.
1352
1353 * include/ffi.h.in: Added X86_WIN32 target support.
1354
1355 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1356 * src/types.c: Added X86_WIN32 target support.
1357
1358 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1359 stuff removed and made to work with CygWin's gas.
1360
675cdab3
BM
13612001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1362
1363 * configure.in: Make target subdirectory in build dir.
1364 * Makefile.am: Override suffix based rules to specify correct output
1365 subdirectory.
1366 * Makefile.in: Rebuilt.
1367 * configure: Rebuilt.
1368
e5f8858a 13692001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
1370
1371 * src/powerpc/ppc_closure.S: New file.
1372 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1373 involving long long and register pairs.
1374 (ffi_prep_closure): New function.
1375 (flush_icache): Likewise.
1376 (ffi_closure_helper_SYSV): Likewise.
1377 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1378 (FFI_TRAMPOLINE_SIZE): Likewise.
1379 (FFI_NATIVE_RAW_API): Likewise.
1380 * Makefile.in: Rebuilt.
1381 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1382 (TARGET_SRC_POWERPC): Likewise.
1383
9450a929
TT
13842001-03-19 Tom Tromey <tromey@redhat.com>
1385
1386 * Makefile.in: Rebuilt.
1387 * Makefile.am (ffitest_LDFLAGS): New macro.
1388
4d2cf715
NC
13892001-03-02 Nick Clifton <nickc@redhat.com>
1390
1391 * include/ffi.h.in: Remove RCS ident string.
1392 * include/ffi_mips.h: Remove RCS ident string.
1393 * src/debug.c: Remove RCS ident string.
1394 * src/ffitest.c: Remove RCS ident string.
1395 * src/prep_cif.c: Remove RCS ident string.
1396 * src/types.c: Remove RCS ident string.
1397 * src/alpha/ffi.c: Remove RCS ident string.
1398 * src/alpha/osf.S: Remove RCS ident string.
1399 * src/arm/ffi.c: Remove RCS ident string.
1400 * src/arm/sysv.S: Remove RCS ident string.
1401 * src/mips/ffi.c: Remove RCS ident string.
1402 * src/mips/n32.S: Remove RCS ident string.
1403 * src/mips/o32.S: Remove RCS ident string.
1404 * src/sparc/ffi.c: Remove RCS ident string.
1405 * src/sparc/v8.S: Remove RCS ident string.
1406 * src/sparc/v9.S: Remove RCS ident string.
1407 * src/x86/ffi.c: Remove RCS ident string.
1408 * src/x86/sysv.S: Remove RCS ident string.
1409
7e5fd99f
JM
14102001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1411
1412 * include/ffi.h.in: Change sourceware.cygnus.com references to
1413 gcc.gnu.org.
1414
3f67ba6e
RH
14152000-12-09 Richard Henderson <rth@redhat.com>
1416
1417 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1418 (ffi_closure_osf_inner): Index rather than increment avalue
1419 and arg_types. Give ffi_closure_osf the raw return value type.
1420 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1421 promotion.
1422
14232000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
1424
1425 * src/raw_api.c (ffi_translate_args): Fix typo.
1426 (ffi_prep_closure): Likewise.
1427
1428 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1429 FFI_TRAMPOLINE_SIZE.
1430 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1431 cif->bytes for new ffi_call_osf implementation.
1432 (ffi_prep_args): Absorb into ...
1433 (ffi_call): ... here. Do all stack allocation here and
1434 avoid a callback function.
1435 (ffi_prep_closure, ffi_closure_osf_inner): New.
1436 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1437 (ffi_closure_osf): New.
1438
2f7bf5b7
AO
14392000-09-10 Alexandre Oliva <aoliva@redhat.com>
1440
ed1c1a1a
AO
1441 * config.guess, config.sub, install-sh: Removed.
1442 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1443 * Makefile.in: Rebuilt.
1444
2f7bf5b7
AO
1445 * acinclude.m4: Include libtool macros from the top level.
1446 * aclocal.m4, configure: Rebuilt.
1447
e15a68e7
AO
14482000-08-22 Alexandre Oliva <aoliva@redhat.com>
1449
1450 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1451 * configure: Rebuilt.
1452
7f8c11d5
SB
14532000-05-11 Scott Bambrough <scottb@netwinder.org>
1454
4977bab6
ZW
1455 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1456 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
1457 possible.
1458
c5acf51f
TT
14592000-05-04 Tom Tromey <tromey@cygnus.com>
1460
1461 * configure: Rebuilt.
1462 * configure.in: Match `arm*-*-linux-*'.
1463 From Chris Dornan <cdornan@arm.com>.
1464
91bffbe9
JJ
14652000-04-28 Jakub Jelinek <jakub@redhat.com>
1466
1467 * Makefile.am (SUBDIRS): Define.
1468 (AM_MAKEFLAGS): Likewise.
1469 (Multilib support.): Add section.
1470 * Makefile.in: Rebuilt.
1471 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
1472 New variables. Set for gcc using -print-multi-lib. Export them
1473 to libtool.
1474 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1475 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1476 for -shared links.
1477 (extra_compiler_flags_value, extra_compiler_flags): Check these
1478 for extra compiler options which need to be passed down in
1479 compiler_flags.
91bffbe9 1480
bd66587e
AG
14812000-04-16 Anthony Green <green@redhat.com>
1482
1483 * configure: Rebuilt.
1484 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1485
3791773c
JJ
14862000-04-14 Jakub Jelinek <jakub@redhat.com>
1487
4075db8f 1488 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
1489 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1490 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1491 Replace all void * sizeofs with sizeof(int).
1492 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1493 different than DOUBLE.
1494 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1495 (ffi_prep_args_v9): New function.
1496 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1497 (ffi_V9_return_struct): New function.
1498 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1499 32bit code (not yet cross-arch calls).
1500 * src/sparc/v8.S: Add struct return delay nop.
1501 Handle long long.
1502 * src/sparc/v9.S: New file.
1503 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1504 is used on sparc64 only for structures larger than 32 bytes.
1505 Pass by reference for structures is done for structure arguments
1506 larger than 16 bytes.
1507 * src/ffitest.c (main): Use 64bit rint on sparc64.
1508 Run long long tests on sparc.
1509 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1510 sparc64.
1511 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1512 on sparc64.
1513 * configure.in (sparc-*-linux*): New supported target.
1514 (sparc64-*-linux*): Likewise.
1515 * configure: Rebuilt.
1516 * Makefile.am: Add v9.S to SPARC files.
1517 * Makefile.in: Likewise.
1518 (LINK): Surround $(CCLD) into double quotes, so that multilib
1519 compiles work correctly.
1520
db459595
APB
15212000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1522
1523 * configure: Rebuilt.
1524 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1525 proposed by Bryce McKinlay.
1526
c1f63902
TT
15272000-03-20 Tom Tromey <tromey@cygnus.com>
1528
1529 * Makefile.in: Hand edit for java_raw_api.lo.
1530
0f72dc9e
BM
15312000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1532
1533 * config.guess, config.sub: Update from the gcc tree.
1534 Fix for PR libgcj/168.
1535
3c18f2d1
TT
15362000-03-03 Tom Tromey <tromey@cygnus.com>
1537
323eee8a
TT
1538 * Makefile.in: Fixed ia64 by hand.
1539
3c18f2d1
TT
1540 * configure: Rebuilt.
1541 * configure.in (--enable-multilib): New option.
1542 (libffi_basedir): New subst.
1543 (AC_OUTPUT): Added multilib code.
1544
a2b10a92
TT
15452000-03-02 Tom Tromey <tromey@cygnus.com>
1546
1547 * Makefile.in: Rebuilt.
1548 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1549 directory name.
1550
dc5de370
HB
15512000-02-25 Hans Boehm <boehm@acm.org>
1552
1553 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1554 files.
1555 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1556 list.
1557 (ffi_prep_raw_closure): Use ffi_translate_args, not
1558 ffi_closure_translate.
1559 * src/java_raw_api.c: New file.
1560 * src/ffitest.c (closure_test_fn): New function.
1561 (main): Define `rint' as long long on IA64. Added new test when
1562 FFI_CLOSURES is defined.
1563 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1564 (ffi_abi): Recognize IA64.
1565 (ffi_raw): Added `flt' field.
1566 Added "Java raw API" code.
1567 * configure.in: Recognize ia64.
1568 * Makefile.am (TARGET_SRC_IA64): New macro.
1569 (libffi_la_common_SOURCES): Added java_raw_api.c.
1570 (libffi_la_SOURCES): Define in IA64 case.
1571
d79229bd
TT
15722000-01-04 Tom Tromey <tromey@cygnus.com>
1573
1574 * Makefile.in: Rebuilt with newer automake.
1575
2c33b220
TT
15761999-12-31 Tom Tromey <tromey@cygnus.com>
1577
1578 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1579
6ba9e3b0
TT
15801999-09-01 Tom Tromey <tromey@cygnus.com>
1581
1582 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1583 undefs.
1584 * fficonfig.h.in: Rebuilt.
1585 * configure: Rebuilt.
1586 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1587 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1588 * acconfig.h: Don't #undef PACKAGE or VERSION.
1589
63e5e3e0
AG
15901999-08-09 Anthony Green <green@cygnus.com>
1591
1592 * include/ffi.h.in: Try to work around messy header problem
1593 with PACKAGE and VERSION.
1594
1595 * configure: Rebuilt.
1596 * configure.in: Change version to 2.00-beta.
1597
4075db8f 1598 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
1599 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1600
1601 * src/x86/ffi.c (ffi_raw_call): Rename.
1602
16031999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1604
1605 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1606 (ffi_prep_incoming_args_SYSV): Ditto.
1607 (ffi_prep_closure): Ditto.
1608 (ffi_closure_raw_SYSV): Ditto.
1609 (ffi_prep_raw_closure): More ditto.
1610 (ffi_call_raw): Final ditto.
1611
1612 * include/ffi.h.in: Add definitions for closure and raw API.
1613
1614 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 1615 FFI_TYPE_UINT64.
63e5e3e0
AG
1616
1617 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1618
1619 * src/raw_api.c: New file.
1620
1621 * include/ffi.h.in (ffi_raw): New type.
1622 (UINT_ARG, SINT_ARG): New defines.
1623 (ffi_closure, ffi_raw_closure): New types.
1624 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 1625
63e5e3e0
AG
1626 * configure.in: Add check for endianness and sizeof void*.
1627
1628 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1629 instead of directly.
1630
1631 * configure: Rebuilt.
1632
1633Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1634
1635 * configure.in: Add x86 and powerpc BeOS configurations.
1636 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1637
16381999-05-09 Anthony Green <green@cygnus.com>
1639
1640 * configure.in: Add warning about this being beta code.
1641 Remove src/Makefile.am from the picture.
1642 * configure: Rebuilt.
1643
1644 * Makefile.am: Move logic from src/Makefile.am. Add changes
1645 to support libffi as a target library.
1646 * Makefile.in: Rebuilt.
1647
1648 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1649 Upgraded to new autoconf, automake, libtool.
1650
1651 * README: Tweaks.
1652
1653 * LICENSE: Update copyright date.
1654
1655 * src/Makefile.am, src/Makefile.in: Removed.
1656
16571998-11-29 Anthony Green <green@cygnus.com>
1658
1659 * include/ChangeLog: Removed.
1660 * src/ChangeLog: Removed.
1661 * src/mips/ChangeLog: Removed.
1662 * src/sparc/ChangeLog: Remboved.
1663 * src/x86/ChangeLog: Removed.
1664
1665 * ChangeLog.v1: Created.