libffi-dg.exp (libffi_target_compile): Search in srcdir for ffi_mips.h.
[gcc.git] / libffi / ChangeLog
1 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2
3 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4 srcdir for ffi_mips.h.
5
6 2003-09-12 Alan Modra <amodra@bigpond.net.au>
7
8 * src/prep_cif.c (initialize_aggregate): Include tail padding in
9 structure size.
10 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
11 placement of float result.
12 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
13 cast of "resp" for big-endian 64 bit machines.
14
15 2003-09-11 Alan Modra <amodra@bigpond.net.au>
16
17 * src/types.c (double, longdouble): Merge identical SH and ARM
18 typedefs, and add POWERPC64.
19 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
20 struct split over gpr and rest.
21 (ffi_prep_cif_machdep): Correct intarg_count for structures.
22 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
23
24 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
25
26 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
27 passing correctly.
28
29 2003-09-09 Alan Modra <amodra@bigpond.net.au>
30
31 * configure: Regenerate.
32
33 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
34
35 * Makefile.am: Remove build rules for ffitest.
36 * Makefile.in: Rebuilt.
37
38 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
39
40 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
41 about implicit declaration of abort().
42
43 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
44
45 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
46 * Makefile.in: Rebuilt.
47 * configure.in: Add dejagnu test framework.
48 * configure: Rebuilt.
49
50 * testsuite/Makefile.am: New file.
51 * testsuite/Makefile.in: Built
52 * testsuite/lib/libffi-dg.exp: New file.
53 * testsuite/config/default.exp: Likewise.
54 * testsuite/libffi.call/call.exp: Likewise.
55 * testsuite/libffi.call/ffitest.h: Likewise.
56 * testsuite/libffi.call/closure_fn0.c: Likewise.
57 * testsuite/libffi.call/closure_fn1.c: Likewise.
58 * testsuite/libffi.call/closure_fn2.c: Likewise.
59 * testsuite/libffi.call/closure_fn3.c: Likewise.
60 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
61 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
62 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
63 * testsuite/libffi.call/cls_2byte.c: Likewise.
64 * testsuite/libffi.call/cls_3byte1.c: Likewise.
65 * testsuite/libffi.call/cls_3byte2.c: Likewise.
66 * testsuite/libffi.call/cls_4byte.c: Likewise.
67 * testsuite/libffi.call/cls_5byte.c: Likewise.
68 * testsuite/libffi.call/cls_6byte.c: Likewise.
69 * testsuite/libffi.call/cls_7byte.c: Likewise.
70 * testsuite/libffi.call/cls_8byte.c: Likewise.
71 * testsuite/libffi.call/cls_12byte.c: Likewise.
72 * testsuite/libffi.call/cls_16byte.c: Likewise.
73 * testsuite/libffi.call/cls_20byte.c: Likewise.
74 * testsuite/libffi.call/cls_24byte.c: Likewise.
75 * testsuite/libffi.call/cls_double.c: Likewise.
76 * testsuite/libffi.call/cls_float.c: Likewise.
77 * testsuite/libffi.call/cls_uchar.c: Likewise.
78 * testsuite/libffi.call/cls_uint.c: Likewise.
79 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
80 * testsuite/libffi.call/cls_ushort.c: Likewise.
81 * testsuite/libffi.call/float.c: Likewise.
82 * testsuite/libffi.call/float1.c: Likewise.
83 * testsuite/libffi.call/float2.c: Likewise.
84 * testsuite/libffi.call/many.c: Likewise.
85 * testsuite/libffi.call/many_win32.c: Likewise.
86 * testsuite/libffi.call/nested_struct.c: Likewise.
87 * testsuite/libffi.call/nested_struct1.c: Likewise.
88 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
89 * testsuite/libffi.call/problem1.c: Likewise.
90 * testsuite/libffi.call/promotion.c: Likewise.
91 * testsuite/libffi.call/return_ll.c: Likewise.
92 * testsuite/libffi.call/return_sc.c: Likewise.
93 * testsuite/libffi.call/return_uc.c: Likewise.
94 * testsuite/libffi.call/strlen.c: Likewise.
95 * testsuite/libffi.call/strlen_win32.c: Likewise.
96 * testsuite/libffi.call/struct1.c: Likewise.
97 * testsuite/libffi.call/struct2.c: Likewise.
98 * testsuite/libffi.call/struct3.c: Likewise.
99 * testsuite/libffi.call/struct4.c: Likewise.
100 * testsuite/libffi.call/struct5.c: Likewise.
101 * testsuite/libffi.call/struct6.c: Likewise.
102 * testsuite/libffi.call/struct7.c: Likewise.
103 * testsuite/libffi.call/struct8.c: Likewise.
104 * testsuite/libffi.call/struct9.c: Likewise.
105 * testsuite/libffi.special/special.exp: New file.
106 * testsuite/libffi.special/ffitestcxx.h: Likewise.
107 * testsuite/libffi.special/unwindtest.cc: Likewise.
108
109
110 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
111
112 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
113 copyright years.
114
115 2003-08-02 Alan Modra <amodra@bigpond.net.au>
116
117 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
118 structure passing.
119 (ffi_closure_helper_LINUX64): Likewise.
120 * src/powerpc/linux64.S: Remove code writing to parm save area.
121 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
122 address in lr from ffi_closure_helper_LINUX64 call to calculate
123 table address. Optimize function tail.
124
125 2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
126
127 * src/sparc/ffi.c: Handle all floating point registers.
128 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
129
130 2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
131
132 * README: Note that libffi is not part of GCC. Update the project
133 URL and status.
134
135 2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
136
137 * src/powerpc/ppc_closure.S: Include ffi.h.
138
139 2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
140
141 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
142 Use C style comments.
143
144 2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
145
146 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
147 * Makefile.in: Regenerate.
148 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
149 * configure: Regenerate.
150 * include/ffi.h.in: Add SHmedia support.
151 * src/sh64/ffi.c: New file.
152 * src/sh64/sysv.S: New file.
153
154 2003-05-16 Jakub Jelinek <jakub@redhat.com>
155
156 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
157 should be read-only.
158 * configure: Rebuilt.
159 * fficonfig.h.in: Rebuilt.
160 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
161 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
162 * src/powerpc/linux64.S: Likewise.
163 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
164 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
165 if -fpic/-fPIC/-mrelocatable.
166 * src/powerpc/powerpc_closure.S: Likewise.
167 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
168 #write in .eh_frame flags.
169 * src/sparc/v9.S: Likewise.
170 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
171 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
172 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
173
174 2003-05-07 Jeff Sturm <jsturm@one-point.com>
175
176 Fixes PR bootstrap/10656
177 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
178 support for .register pseudo-op.
179 * src/sparc/v8.S: Use it.
180 * fficonfig.h.in: Rebuilt.
181 * configure: Rebuilt.
182
183 2003-04-18 Jakub Jelinek <jakub@redhat.com>
184
185 * include/ffi.h.in (POWERPC64): Define if 64-bit.
186 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
187 Make it the default on POWERPC64.
188 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
189 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
190 * configure: Rebuilt.
191 * src/powerpc/ffi.c (hidden): Define.
192 (ffi_prep_args_SYSV): Renamed from
193 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
194 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
195 ASM_NEEDS_REGISTERS64): New.
196 (ffi_prep_args64): New function.
197 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
198 (ffi_call): Likewise.
199 (ffi_prep_closure): Likewise.
200 (flush_icache): Surround by #ifndef POWERPC64.
201 (ffi_dblfl): New union type.
202 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
203 (ffi_closure_helper_LINUX64): New function.
204 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
205 __powerpc64__.
206 * src/powerpc/sysv.S: Likewise.
207 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
208 * src/powerpc/linux64.S: New file.
209 * src/powerpc/linux64_closure.S: New file.
210 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
211 src/powerpc/linux64_closure.S.
212 (TARGET_SRC_POWERPC): Likewise.
213
214 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
215 closure_test_fn3): Fix result printing on big-endian 64-bit
216 machines.
217 (main): Print tst2_arg instead of uninitialized tst2_result.
218
219 * src/ffitest.c (main): Hide what closure pointer really points to
220 from the compiler.
221
222 2003-04-16 Richard Earnshaw <rearnsha@arm.com>
223
224 * configure.in (arm-*-netbsdelf*): Add configuration.
225 (configure): Regenerated.
226
227 2003-04-04 Loren J. Rittle <ljrittle@acm.org>
228
229 * include/Makefile.in: Regenerate.
230
231 2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
232
233 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
234 bit mode.
235 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
236 Receive closure pointer through parameter, read args using
237 __builtin_dwarf_cfa.
238 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
239
240 2003-03-12 Andreas Schwab <schwab@suse.de>
241
242 * configure.in: Avoid trailing /. in toolexeclibdir.
243 * configure: Rebuilt.
244
245 2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
246
247 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
248
249 2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
250
251 * libffi/src/powerpc/darwin_closure.S:
252 Fix alignement bug, allocate 8 bytes for the result.
253 * libffi/src/powerpc/aix_closure.S:
254 Likewise.
255 * libffi/src/powerpc/ffi_darwin.c:
256 Update stackframe description for aix/darwin_closure.S.
257
258 2003-02-06 Jakub Jelinek <jakub@redhat.com>
259
260 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
261 attribute.
262
263 2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
264 Andreas Schwab <schwab@suse.de>
265
266 * configure.in: Adjust command to source config-ml.in to account
267 for changes to the libffi_basedir definition.
268 (libffi_basedir): Remove ${srcdir} from value and include trailing
269 slash if nonempty.
270
271 * configure: Regenerate.
272
273 2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
274
275 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
276
277 2003-01-28 Andrew Haley <aph@redhat.com>
278
279 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
280 * src/x86/ffi64.c (ffi_prep_closure): New.
281 (ffi_closure_UNIX64_inner): New.
282 * src/x86/unix64.S (ffi_closure_UNIX64): New.
283
284 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
285
286 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
287 Remove USE_LIBDIR conditional.
288 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
289 * Makefile.in, configure: Rebuilt.
290
291 2003-01027 David Edelsohn <edelsohn@gnu.org>
292
293 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
294 * Makefile.in: Regenerate.
295
296 2003-01-22 Andrew Haley <aph@redhat.com>
297
298 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
299 unwind info.
300
301 2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
302
303 * src/powerpc/darwin.S: Add unwind info.
304 * src/powerpc/darwin_closure.S: Likewise.
305
306 2003-01-14 Andrew Haley <aph@redhat.com>
307
308 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
309 (ffi_prep_cif_machdep): Likewise.
310 * src/x86/unix64.S: Add unwind info.
311
312 2003-01-14 Andreas Jaeger <aj@suse.de>
313
314 * src/ffitest.c (main): Only use ffi_closures if those are
315 supported.
316
317 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
318
319 * libffi/src/ffitest.c
320 add closure testcases
321
322 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
323
324 * libffi/src/powerpc/ffi.c
325 fix alignment bug for float (4 byte aligned iso 8 byte)
326
327 2003-01-09 Geoffrey Keating <geoffk@apple.com>
328
329 * src/powerpc/ffi_darwin.c: Remove RCS version string.
330 * src/powerpc/darwin.S: Remove RCS version string.
331
332 2003-01-03 Jeff Sturm <jsturm@one-point.com>
333
334 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
335 * src/ffitest.c (main): Use static storage for closure.
336 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
337 * src/sparc/v8.S (ffi_closure_v8): New.
338 * src/sparc/v9.S (ffi_closure_v9): New.
339
340 2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
341
342 * include/ffi.h.in: Added FFI_STDCALL ffi_type
343 enumeration for X86_WIN32.
344 * src/x86/win32.S: Added ffi_call_STDCALL function
345 definition.
346 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
347 switch cases for recognising FFI_STDCALL and
348 calling ffi_call_STDCALL if target is X86_WIN32.
349 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
350 stdcall versions of the "my_strlen" and "many"
351 test functions (for X86_WIN32).
352 Added test cases to test stdcall invocation using
353 these functions.
354
355 2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
356
357 * src/sh/sysv.S: Add DWARF2 unwind info.
358
359 2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
360
361 * src/s390/sysv.S (.eh_frame section): Make section read-only.
362
363 2002-11-26 Jim Wilson <wilson@redhat.com>
364
365 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
366
367 2002-11-23 H.J. Lu <hjl@gnu.org>
368
369 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
370 Include ../config/accross.m4.
371 * aclocal.m4; Rebuild.
372 * configure: Likewise.
373
374 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
375
376 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
377
378 2002-11-11 DJ Delorie <dj@redhat.com>
379
380 * configure.in: Look for common files in the right place.
381
382 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
383
384 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
385 raw data as _Jv_word values, not ffi_raw.
386 (ffi_java_ptrarray_to_raw): Likewise.
387 (ffi_java_rvalue_to_raw): New function.
388 (ffi_java_raw_call): Call it.
389 (ffi_java_raw_to_rvalue): New function.
390 (ffi_java_translate_args): Call it.
391 * src/ffitest.c (closure_test_fn): Interpret return value
392 as ffi_arg, not int.
393 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
394 FFI_TYPE_POINTER case.
395 (ffi_closure_helper_SYSV): Likewise. Also, assume return
396 values extended to word size.
397
398 2002-10-02 Andreas Jaeger <aj@suse.de>
399
400 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
401
402 2002-10-01 Bo Thorsen <bo@smetana.suse.de>
403
404 * include/ffi.h.in: Fix i386 win32 compilation.
405
406 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
407
408 * configure.in: Add s390x-*-linux-* target.
409 * configure: Regenerate.
410 * include/ffi.h.in: Define S390X for s390x targets.
411 (FFI_CLOSURES): Define for s390/s390x.
412 (FFI_TRAMPOLINE_SIZE): Likewise.
413 (FFI_NATIVE_RAW_API): Likewise.
414 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
415 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
416 * src/s390/ffi.c: Major rework of existing code. Add support for
417 s390x targets. Add closure support.
418 * src/s390/sysv.S: Likewise.
419
420 2002-09-29 Richard Earnshaw <rearnsha@arm.com>
421
422 * src/arm/sysv.S: Fix typo.
423
424 2002-09-28 Richard Earnshaw <rearnsha@arm.com>
425
426 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
427 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
428 (ffi_call_SYSV): Handle soft-float.
429
430 2002-09-27 Bo Thorsen <bo@suse.de>
431
432 * include/ffi.h.in: Fix multilib x86-64 support.
433
434 2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
435
436 * Makefile.am (all-multi): Fix multilib parallel build.
437
438 2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
439
440 * configure.in (sh[34]*-*-linux*): Add brackets.
441 * configure: Regenerate.
442
443 2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
444
445 * Makefile.am: Add SH support.
446 * Makefile.in: Regenerate.
447 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
448 * configure: Regenerate.
449 * include/ffi.h.in: Add SH support.
450 * src/sh/ffi.c: New file.
451 * src/sh/sysv.S: New file.
452 * src/types.c: Add SH support.
453
454 2002-07-16 Bo Thorsen <bo@suse.de>
455
456 * src/x86/ffi64.c: New file that adds x86-64 support.
457 * src/x86/unix64.S: New file that handles argument setup for
458 x86-64.
459 * src/x86/sysv.S: Don't use this on x86-64.
460 * src/x86/ffi.c: Don't use this on x86-64.
461 Remove unused vars.
462 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
463 for x86-64.
464 * src/ffitest.c (struct6): New test that tests a special case in
465 the x86-64 ABI.
466 (struct7): Likewise.
467 (struct8): Likewise.
468 (struct9): Likewise.
469 (closure_test_fn): Silence warning about this when it's not used.
470 (main): Add the new tests.
471 (main): Fix a couple of wrong casts and silence some compiler warnings.
472 * include/ffi.h.in: Add x86-64 ABI definition.
473 * fficonfig.h.in: Regenerate.
474 * Makefile.am: Add x86-64 support.
475 * configure.in: Likewise.
476 * Makefile.in: Regenerate.
477 * configure: Likewise.
478
479 2002-06-24 Bo Thorsen <bo@suse.de>
480
481 * src/types.c: Merge settings for similar architectures.
482 Add x86-64 sizes and alignments.
483
484 2002-06-23 Bo Thorsen <bo@suse.de>
485
486 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
487 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
488 * src/mips/ffi.c (ffi_prep_args): Likewise.
489 * src/m68k/ffi.c (ffi_prep_args): Likewise.
490
491 2002-07-18 H.J. Lu (hjl@gnu.org)
492
493 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
494 (libffi_la_SOURCES): Support MIPS_LINUX.
495 (libffi_convenience_la_SOURCES): Likewise.
496 * Makefile.in: Regenerated.
497
498 * configure.in (mips64*-*): Skip.
499 (mips*-*-linux*): New.
500 * configure: Regenerated.
501
502 * src/mips/ffi.c: Include <sgidefs.h>.
503
504 2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
505
506 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
507
508 2002-05-27 Roger Sayle <roger@eyesopen.com>
509
510 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
511
512 2002-05-27 Bo Thorsen <bo@suse.de>
513
514 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
515 fix formatting.
516
517 2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
518
519 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
520 beginning of function (for older apple cc).
521
522 2002-05-08 Alexandre Oliva <aoliva@redhat.com>
523
524 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
525 script entry, and set LD to it when configuring multilibs.
526 * configure: Rebuilt.
527
528 2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
529
530 * configure.in (sparc64-*-netbsd*): Add target.
531 (sparc-*-netbsdelf*): Likewise.
532 * configure: Regenerate.
533
534 2002-04-28 David S. Miller <davem@redhat.com>
535
536 * configure.in, configure: Fix SPARC test in previous change.
537
538 2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
539
540 * Makefile.am: Add Linux for S/390 support.
541 * Makefile.in: Regenerate.
542 * configure.in: Add Linux for S/390 support.
543 * configure: Regenerate.
544 * include/ffi.h.in: Add Linux for S/390 support.
545 * src/s390/ffi.c: New file from libffi CVS tree.
546 * src/s390/sysv.S: New file from libffi CVS tree.
547
548 2002-04-28 Jakub Jelinek <jakub@redhat.com>
549
550 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
551 %r_disp32().
552 * src/sparc/v8.S: Use it.
553 * src/sparc/v9.S: Likewise.
554 * fficonfig.h.in: Rebuilt.
555 * configure: Rebuilt.
556
557 2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
558
559 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
560 correctly.
561 * src/ia64/unix.S: Add unwind information. Fix comments.
562 Save sp in a way that's compatible with unwind info.
563 (ffi_call_unix): Correctly restore sp in all cases.
564 * src/ia64/ffi.c: Add, fix comments.
565
566 2002-04-08 Jakub Jelinek <jakub@redhat.com>
567
568 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
569
570 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
571
572 * configure.in (alpha*-*-netbsd*): Add target.
573 * configure: Regenerate.
574
575 2002-04-04 Jeff Sturm <jsturm@one-point.com>
576
577 * src/sparc/v8.S: Add unwind info.
578 * src/sparc/v9.S: Likewise.
579
580 2002-03-30 Krister Walfridsson <cato@df.lth.se>
581
582 * configure.in: Enable i*86-*-netbsdelf*.
583 * configure: Rebuilt.
584
585 2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
586
587 PR other/2620
588 * src/mips/n32.s: Delete
589 * src/mips/o32.s: Delete
590
591 2002-03-21 Loren J. Rittle <ljrittle@acm.org>
592
593 * configure.in: Enable alpha*-*-freebsd*.
594 * configure: Rebuilt.
595
596 2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
597
598 * Makefile.am: libfficonvenience -> libffi_convenience.
599 * Makefile.in: Rebuilt.
600
601 * Makefile.am: Define ffitest_OBJECTS.
602 * Makefile.in: Rebuilt.
603
604 2002-03-07 Andreas Tobler <toa@pop.agri.ch>
605 David Edelsohn <edelsohn@gnu.org>
606
607 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
608 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
609 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
610 * Makefile.in: Regenerate.
611 * include/ffi.h.in: Add AIX and Darwin closure definitions.
612 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
613 (flush_icache, flush_range): New functions.
614 (ffi_closure_helper_DARWIN): New function.
615 * src/powerpc/aix_closure.S: New file.
616 * src/powerpc/darwin_closure.S: New file.
617
618 2002-02-24 Jeff Sturm <jsturm@one-point.com>
619
620 * include/ffi.h.in: Add typedef for ffi_arg.
621 * src/ffitest.c (main): Declare rint with ffi_arg.
622
623 2002-02-21 Andreas Tobler <toa@pop.agri.ch>
624
625 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
626 number of GPRs for floating-point arguments.
627
628 2002-01-31 Anthony Green <green@redhat.com>
629
630 * configure: Rebuilt.
631 * configure.in: Replace CHECK_SIZEOF and endian tests with
632 cross-compiler friendly macros.
633 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
634 macros.
635
636 2002-01-18 David Edelsohn <edelsohn@gnu.org>
637
638 * src/powerpc/darwin.S (_ffi_call_AIX): New.
639 * src/powerpc/aix.S (ffi_call_DARWIN): New.
640
641 2002-01-17 David Edelsohn <edelsohn@gnu.org>
642
643 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
644 (TARGET_SRC_POWERPC_AIX): New.
645 (POWERPC_AIX): New stanza.
646 * Makefile.in: Regenerate.
647 * configure.in: Add AIX case.
648 * configure: Regenerate.
649 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
650 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
651 size. Fix "long double" support.
652 (ffi_call): Add FFI_AIX case.
653 * src/powerpc/aix.S: New.
654
655 2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
656
657 Implement Darwin PowerPC ABI.
658 * configure.in: Handle powerpc-*-darwin*.
659 * Makefile.am: Set source files for POWERPC_DARWIN.
660 * configure: Rebuilt.
661 * Makefile.in: Rebuilt.
662 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
663 POWERPC_DARWIN.
664 * src/powerpc/darwin.S: New file.
665 * src/powerpc/ffi_darwin.c: New file.
666
667 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
668
669 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
670
671 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
672
673 * src/x86/sysv.S: Avoid gas-only .balign directive.
674 Use C style comments.
675
676 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
677
678 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
679 Fixes PR bootstrap/3563.
680
681 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
682
683 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
684
685 2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
686
687 * configure.in: Recognize sparc*-sun-* host.
688 * configure: Regenerate.
689
690 2001-06-06 Andrew Haley <aph@redhat.com>
691
692 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
693
694 2001-06-03 Andrew Haley <aph@redhat.com>
695
696 * src/alpha/osf.S: Add unwind info.
697 * src/powerpc/sysv.S: Add unwind info.
698 * src/powerpc/ppc_closure.S: Likewise.
699
700 2000-05-31 Jeff Sturm <jsturm@one-point.com>
701
702 * configure.in: Fix AC_ARG_ENABLE usage.
703 * configure: Rebuilt.
704
705 2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
706
707 * configure.in: Remove warning about beta code.
708 * configure: Rebuilt.
709
710 2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
711
712 * src/ia64/unix.S: Restore stack pointer when returning from
713 ffi_closure_UNIX.
714 * src/ia64/ffi.c: Fix typo in comment.
715
716 2001-04-18 Jim Wilson <wilson@redhat.com>
717
718 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
719 to eliminate RAW DV.
720
721 2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
722
723 * Makefile.am: Make a libtool convenience library.
724 * Makefile.in: Rebuilt.
725
726 2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
727
728 * configure.in: Use different syntax for subdirectory creation.
729 * configure: Rebuilt.
730
731 2001-03-27 Jon Beniston <jon@beniston.com>
732
733 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
734 * configure: Rebuilt.
735 * Makefile.am: Added X86_WIN32 target support.
736 * Makefile.in: Rebuilt.
737
738 * include/ffi.h.in: Added X86_WIN32 target support.
739
740 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
741 * src/types.c: Added X86_WIN32 target support.
742
743 * src/x86/win32.S: New file. Based on sysv.S, but with EH
744 stuff removed and made to work with CygWin's gas.
745
746 2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
747
748 * configure.in: Make target subdirectory in build dir.
749 * Makefile.am: Override suffix based rules to specify correct output
750 subdirectory.
751 * Makefile.in: Rebuilt.
752 * configure: Rebuilt.
753
754 2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
755
756 * src/powerpc/ppc_closure.S: New file.
757 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
758 involving long long and register pairs.
759 (ffi_prep_closure): New function.
760 (flush_icache): Likewise.
761 (ffi_closure_helper_SYSV): Likewise.
762 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
763 (FFI_TRAMPOLINE_SIZE): Likewise.
764 (FFI_NATIVE_RAW_API): Likewise.
765 * Makefile.in: Rebuilt.
766 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
767 (TARGET_SRC_POWERPC): Likewise.
768
769 2001-03-19 Tom Tromey <tromey@redhat.com>
770
771 * Makefile.in: Rebuilt.
772 * Makefile.am (ffitest_LDFLAGS): New macro.
773
774 2001-03-02 Nick Clifton <nickc@redhat.com>
775
776 * include/ffi.h.in: Remove RCS ident string.
777 * include/ffi_mips.h: Remove RCS ident string.
778 * src/debug.c: Remove RCS ident string.
779 * src/ffitest.c: Remove RCS ident string.
780 * src/prep_cif.c: Remove RCS ident string.
781 * src/types.c: Remove RCS ident string.
782 * src/alpha/ffi.c: Remove RCS ident string.
783 * src/alpha/osf.S: Remove RCS ident string.
784 * src/arm/ffi.c: Remove RCS ident string.
785 * src/arm/sysv.S: Remove RCS ident string.
786 * src/mips/ffi.c: Remove RCS ident string.
787 * src/mips/n32.S: Remove RCS ident string.
788 * src/mips/o32.S: Remove RCS ident string.
789 * src/sparc/ffi.c: Remove RCS ident string.
790 * src/sparc/v8.S: Remove RCS ident string.
791 * src/sparc/v9.S: Remove RCS ident string.
792 * src/x86/ffi.c: Remove RCS ident string.
793 * src/x86/sysv.S: Remove RCS ident string.
794
795 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
796
797 * include/ffi.h.in: Change sourceware.cygnus.com references to
798 gcc.gnu.org.
799
800 2000-12-09 Richard Henderson <rth@redhat.com>
801
802 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
803 (ffi_closure_osf_inner): Index rather than increment avalue
804 and arg_types. Give ffi_closure_osf the raw return value type.
805 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
806 promotion.
807
808 2000-12-07 Richard Henderson <rth@redhat.com>
809
810 * src/raw_api.c (ffi_translate_args): Fix typo.
811 (ffi_prep_closure): Likewise.
812
813 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
814 FFI_TRAMPOLINE_SIZE.
815 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
816 cif->bytes for new ffi_call_osf implementation.
817 (ffi_prep_args): Absorb into ...
818 (ffi_call): ... here. Do all stack allocation here and
819 avoid a callback function.
820 (ffi_prep_closure, ffi_closure_osf_inner): New.
821 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
822 (ffi_closure_osf): New.
823
824 2000-09-10 Alexandre Oliva <aoliva@redhat.com>
825
826 * config.guess, config.sub, install-sh: Removed.
827 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
828 * Makefile.in: Rebuilt.
829
830 * acinclude.m4: Include libtool macros from the top level.
831 * aclocal.m4, configure: Rebuilt.
832
833 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
834
835 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
836 * configure: Rebuilt.
837
838 2000-05-11 Scott Bambrough <scottb@netwinder.org>
839
840 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
841 memory correctly. Use conditional instructions, not branches where
842 possible.
843
844 2000-05-04 Tom Tromey <tromey@cygnus.com>
845
846 * configure: Rebuilt.
847 * configure.in: Match `arm*-*-linux-*'.
848 From Chris Dornan <cdornan@arm.com>.
849
850 2000-04-28 Jakub Jelinek <jakub@redhat.com>
851
852 * Makefile.am (SUBDIRS): Define.
853 (AM_MAKEFLAGS): Likewise.
854 (Multilib support.): Add section.
855 * Makefile.in: Rebuilt.
856 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
857 New variables. Set for gcc using -print-multi-lib. Export them
858 to libtool.
859 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
860 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
861 for -shared links.
862 (extra_compiler_flags_value, extra_compiler_flags): Check these
863 for extra compiler options which need to be passed down in
864 compiler_flags.
865
866 2000-04-16 Anthony Green <green@redhat.com>
867
868 * configure: Rebuilt.
869 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
870
871 2000-04-14 Jakub Jelinek <jakub@redhat.com>
872
873 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
874 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
875 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
876 Replace all void * sizeofs with sizeof(int).
877 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
878 different than DOUBLE.
879 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
880 (ffi_prep_args_v9): New function.
881 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
882 (ffi_V9_return_struct): New function.
883 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
884 32bit code (not yet cross-arch calls).
885 * src/sparc/v8.S: Add struct return delay nop.
886 Handle long long.
887 * src/sparc/v9.S: New file.
888 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
889 is used on sparc64 only for structures larger than 32 bytes.
890 Pass by reference for structures is done for structure arguments
891 larger than 16 bytes.
892 * src/ffitest.c (main): Use 64bit rint on sparc64.
893 Run long long tests on sparc.
894 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
895 sparc64.
896 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
897 on sparc64.
898 * configure.in (sparc-*-linux*): New supported target.
899 (sparc64-*-linux*): Likewise.
900 * configure: Rebuilt.
901 * Makefile.am: Add v9.S to SPARC files.
902 * Makefile.in: Likewise.
903 (LINK): Surround $(CCLD) into double quotes, so that multilib
904 compiles work correctly.
905
906 2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
907
908 * configure: Rebuilt.
909 * configure.in: (i*86-*-solaris*): New libffi target. Patch
910 proposed by Bryce McKinlay.
911
912 2000-03-20 Tom Tromey <tromey@cygnus.com>
913
914 * Makefile.in: Hand edit for java_raw_api.lo.
915
916 2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
917
918 * config.guess, config.sub: Update from the gcc tree.
919 Fix for PR libgcj/168.
920
921 2000-03-03 Tom Tromey <tromey@cygnus.com>
922
923 * Makefile.in: Fixed ia64 by hand.
924
925 * configure: Rebuilt.
926 * configure.in (--enable-multilib): New option.
927 (libffi_basedir): New subst.
928 (AC_OUTPUT): Added multilib code.
929
930 2000-03-02 Tom Tromey <tromey@cygnus.com>
931
932 * Makefile.in: Rebuilt.
933 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
934 directory name.
935
936 2000-02-25 Hans Boehm <boehm@acm.org>
937
938 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
939 files.
940 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
941 list.
942 (ffi_prep_raw_closure): Use ffi_translate_args, not
943 ffi_closure_translate.
944 * src/java_raw_api.c: New file.
945 * src/ffitest.c (closure_test_fn): New function.
946 (main): Define `rint' as long long on IA64. Added new test when
947 FFI_CLOSURES is defined.
948 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
949 (ffi_abi): Recognize IA64.
950 (ffi_raw): Added `flt' field.
951 Added "Java raw API" code.
952 * configure.in: Recognize ia64.
953 * Makefile.am (TARGET_SRC_IA64): New macro.
954 (libffi_la_common_SOURCES): Added java_raw_api.c.
955 (libffi_la_SOURCES): Define in IA64 case.
956
957 2000-01-04 Tom Tromey <tromey@cygnus.com>
958
959 * Makefile.in: Rebuilt with newer automake.
960
961 1999-12-31 Tom Tromey <tromey@cygnus.com>
962
963 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
964
965 1999-09-01 Tom Tromey <tromey@cygnus.com>
966
967 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
968 undefs.
969 * fficonfig.h.in: Rebuilt.
970 * configure: Rebuilt.
971 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
972 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
973 * acconfig.h: Don't #undef PACKAGE or VERSION.
974
975 1999-08-09 Anthony Green <green@cygnus.com>
976
977 * include/ffi.h.in: Try to work around messy header problem
978 with PACKAGE and VERSION.
979
980 * configure: Rebuilt.
981 * configure.in: Change version to 2.00-beta.
982
983 * fficonfig.h.in: Rebuilt.
984 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
985
986 * src/x86/ffi.c (ffi_raw_call): Rename.
987
988 1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
989
990 * src/x86/ffi.c (ffi_closure_SYSV): New function.
991 (ffi_prep_incoming_args_SYSV): Ditto.
992 (ffi_prep_closure): Ditto.
993 (ffi_closure_raw_SYSV): Ditto.
994 (ffi_prep_raw_closure): More ditto.
995 (ffi_call_raw): Final ditto.
996
997 * include/ffi.h.in: Add definitions for closure and raw API.
998
999 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
1000 FFI_TYPE_UINT64.
1001
1002 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1003
1004 * src/raw_api.c: New file.
1005
1006 * include/ffi.h.in (ffi_raw): New type.
1007 (UINT_ARG, SINT_ARG): New defines.
1008 (ffi_closure, ffi_raw_closure): New types.
1009 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
1010
1011 * configure.in: Add check for endianness and sizeof void*.
1012
1013 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1014 instead of directly.
1015
1016 * configure: Rebuilt.
1017
1018 Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1019
1020 * configure.in: Add x86 and powerpc BeOS configurations.
1021 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1022
1023 1999-05-09 Anthony Green <green@cygnus.com>
1024
1025 * configure.in: Add warning about this being beta code.
1026 Remove src/Makefile.am from the picture.
1027 * configure: Rebuilt.
1028
1029 * Makefile.am: Move logic from src/Makefile.am. Add changes
1030 to support libffi as a target library.
1031 * Makefile.in: Rebuilt.
1032
1033 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1034 Upgraded to new autoconf, automake, libtool.
1035
1036 * README: Tweaks.
1037
1038 * LICENSE: Update copyright date.
1039
1040 * src/Makefile.am, src/Makefile.in: Removed.
1041
1042 1998-11-29 Anthony Green <green@cygnus.com>
1043
1044 * include/ChangeLog: Removed.
1045 * src/ChangeLog: Removed.
1046 * src/mips/ChangeLog: Removed.
1047 * src/sparc/ChangeLog: Remboved.
1048 * src/x86/ChangeLog: Removed.
1049
1050 * ChangeLog.v1: Created.