blob: d3cfa9db3d4f3552e7b6a246c26b2018dcd6e87d [file] [log] [blame]
Josh Triplett35634db2014-03-15 18:11:16 -070012014-03-16 Josh Triplett <josh@joshtriplett.org>
2
Josh Triplett2f449522014-03-16 04:35:12 -07003 * libtool-ldflags: Re-add.
4
52014-03-16 Josh Triplett <josh@joshtriplett.org>
6
Josh Triplett35634db2014-03-15 18:11:16 -07007 * Makefile.in, aclocal.m4, compile, config.guess, config.sub,
8 configure, depcomp, include/Makefile.in, install-sh, libtool-ldflags,
9 ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
10 m4/ltversion.m4, m4/lt~obsolete.m4, man/Makefile.in, mdate-sh,
11 missing, testsuite/Makefile.in: Delete autogenerated files from
12 version control.
13 * .gitignore: Add autogenerated files.
14 * autogen.sh: New script to generate the autogenerated files.
15 * README: Document requirement to run autogen.sh when building
16 directly from version control.
17 * .travis.yml: Run autogen.sh
18
Anthony Green76d19d02014-03-14 16:54:31 -0400192014-03-14 Anthony Green <green@moxielogic.com>
20
21 * configure, Makefile.in: Rebuilt.
22
Ryan VanderMeulen18eb81d2014-03-10 14:43:37 -0400232014-03-10 Mike Hommey <mh+mozilla@glandium.org>
24
25 * configure.ac: Allow building for mipsel with Android NDK r8.
Ryan VanderMeulenf8cdf112014-03-10 15:04:58 -040026 * Makefile.am (AM_MAKEFLAGS): Replace double quotes with single quotes.
Ryan VanderMeulen18eb81d2014-03-10 14:43:37 -040027
Ryan VanderMeulendfa37382014-03-10 14:53:48 -0400282014-03-10 Landry Breuil <landry@openbsd.org>
29
30 * configure.ac: Ensure the linker supports @unwind sections in libffi.
31
Anthony Green634a4752014-03-01 18:37:29 -0500322014-03-01 Anthony Green <green@moxielogic.com>
33
34 * Makefile.am (EXTRA_DIST): Replace old scripts with
35 generate-darwin-source-and-headers.py.
36 * Makefile.in: Rebuilt.
37
Anthony Greena04e30b2014-02-28 17:20:59 -0500382014-02-28 Anthony Green <green@moxielogic.com>
39
40 * Makefile.am (AM_CFLAGS): Reintroduce missing -DFFI_DEBUG for
41 --enable-debug builds.
42 * Makefile.in: Rebuilt.
43
442014-02-28 Makoto Kato <m_kato@ga2.so-net.ne.jp>
45
46 * src/closures.c: Fix build failure when using clang for Android.
47
Anthony Greenb40aeda2014-02-28 01:01:29 -0500482014-02-28 Marcin Wojdyr <wojdyr@gmail.com>
49
50 * libffi.pc.in (toolexeclibdir): use -L${toolexeclibdir} instead
51 of -L${libdir}.
52
Anthony Green20698ab2014-02-28 00:56:27 -0500532014-02-28 Paulo Pizarro <paulo.pizarro@gmail.com>
54
55 * src/bfin/sysv.S: Calling functions in shared libraries requires
56 considering the GOT.
57
Anthony Green64bd0692014-02-28 00:52:56 -0500582014-02-28 Josh Triplett <josh@joshtriplett.org>
59
60 * src/x86/ffi64.c (classify_argument): Handle case where
61 FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE.
62
Anthony Green33c99542014-02-28 00:38:41 -0500632014-02-28 Anthony Green <green@moxielogic.com>
64
65 * ltmain.sh: Generate with libtool-2.4.2.418.
66 * m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4: Ditto.
67 * configure: Rebuilt.
68
Anthony Green5a88c852014-02-28 00:23:04 -0500692014-02-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
70
71 * configure.ac (AC_ARG_ENABLE struct): Fix typo in help
72 message.
73 (AC_ARG_ENABLE raw_api): Ditto.
74 * configure, fficonfig.h.in: Rebuilt.
75
Anthony Green001aaf42014-02-28 00:20:17 -0500762014-02-28 Will Newton <will.newton@linaro.org>
77
78 * src/arm/sysv.S: Initialize IP register with FP.
79
Anthony Green49f77292014-02-28 00:17:16 -0500802014-02-28 Yufeng Zhang <yufeng.zhang@arm.com>
81
82 * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
83 main CFA reg; update cfi_rel_offset.
84
Heiher40927bd2014-01-21 23:18:27 +0800852014-02-09 Heiher <r@hev.cc>
86
87 * src/mips/n32.S: Fix call floating point va function.
88
Zachary Waldowskif466aad2014-01-21 16:38:31 -0500892014-01-21 Zachary Waldowski <zach@waldowski.me>
90
91 * src/aarch64/ffi.c: Fix missing semicolons on assertions under
92 debug mode.
Zachary Waldowskibfc06b32013-12-30 17:36:39 -050093
942013-12-30 Zachary Waldowski <zach@waldowski.me>
95
96 * .gitignore: Exclude darwin_* generated source and build_* trees.
97 * src/aarch64/ffi.c, src/arm/ffi.c, src/x86/ffi.c: Inhibit Clang
98 previous prototype warnings.
99 * src/arm/ffi.c: Prevent NULL dereference, fix short type warning
100 * src/dlmalloc.c: Fix warnings from set_segment_flags return type,
101 and the native use of size_t for malloc on platforms
102 * src/arm/sysv.S: Use unified syntax. Clang clean-ups for
103 ARM_FUNC_START.
104 * generate-osx-source-and-headers.py: Remove.
105 * build-ios.sh: Remove.
106 * libffi.xcodeproj/project.pbxproj: Rebuild targets. Include
107 x86_64+aarch64 pieces in library. Export headers properly.
108 * src/x86/ffi64.c: More Clang warning clean-ups.
109 * src/closures.c (open_temp_exec_file_dir): Use size_t.
110 * src/prep_cif.c (ffi_prep_cif_core): Cast ALIGN result.
111 * src/aarch64/sysv.S: Use CNAME for global symbols. Only use
112 .size for ELF targets.
113 * src/aarch64/ffi.c: Clean up for double == long double. Clean up
Zachary Waldowskif466aad2014-01-21 16:38:31 -0500114 from Clang warnings. Use Clang cache invalidation builtin. Use
Zachary Waldowskibfc06b32013-12-30 17:36:39 -0500115 size_t in place of unsigned in many places. Accommodate for
116 differences in Apple AArch64 ABI.
117
1182013-12-02 Daniel Rodríguez Troitiño <drodrigueztroitino@yahoo.es>
119
120 * generate-darwin-source-and-headers.py: Clean up, modernize,
Anthony Green447483d2014-02-27 15:42:41 -0500121 merged version of previous scripts.
Zachary Waldowskibfc06b32013-12-30 17:36:39 -0500122
Alan Modraab79d6e2013-11-21 06:12:35 -05001232013-11-21 Anthony Green <green@moxielogic.com>
124
125 * configure, Makefile.in, include/Makefile.in, include/ffi.h.in,
126 man/Makefile.in, testsuite/Makefile.in, fficonfig.h.in: Rebuilt.
127
1282013-11-21 Alan Modra <amodra@gmail.com>
129
130 * Makefile.am (EXTRA_DIST): Add new src/powerpc files.
131 (nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
132 * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
133 * include/ffi.h.in (ffi_prep_types): Declare.
134 * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
135 * src/types.c (FFI_NONCONST_TYPEDEF): Define and use for
136 HAVE_LONG_DOUBLE_VARIANT.
137 * src/powerpc/ffi_powerpc.h: New file.
138 * src/powerpc/ffi.c: Split into..
139 * src/powerpc/ffi_sysv.c: ..new file, and..
140 * src/powerpc/ffi_linux64.c: ..new file, rewriting parts.
141 * src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI
142 selection as bits controlling features.
143 * src/powerpc/linux64.S: For consistency, use POWERPC64 rather
144 than __powerpc64__.
145 * src/powerpc/linux64_closure.S: Likewise.
146 * src/powerpc/ppc_closure.S: Likewise. Move .note.FNU-stack
147 inside guard.
148 * src/powerpc/sysv.S: Likewise.
149 * configure: Regenerate.
150 * fficonfig.h.in: Regenerate.
151 * Makefile.in: Regenerate.
152
1532013-11-20 Alan Modra <amodra@gmail.com>
154
155 * src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use
156 NUM_FPR_ARG_REGISTERS64 and NUM_GPR_ARG_REGISTERS64 not their
157 32-bit versions for 64-bit code.
158 * src/powerpc/linux64_closure.S: Don't use the return value area
159 as a parameter save area on ELFv2.
160
Iain Sandoeaa1f62c2013-11-18 13:11:56 +00001612013-11-18 Iain Sandoe <iain@codesourcery.com>
162
163 * src/powerpc/darwin.S (EH): Correct use of pcrel FDE encoding.
164 * src/powerpc/darwin_closure.S (EH): Likewise. Modernise picbase
165 labels.
166
Anthony Green2f450822013-11-18 06:52:29 -05001672013-11-18 Anthony Green <green@moxielogic.com>
168
169 * src/arm/ffi.c (ffi_call): Hoist declaration of temp to top of
170 function.
171 * src/arm/ffi.c (ffi_closure_inner): Moderize function declaration
172 to appease compiler.
173 Thanks for Gregory P. Smith <greg@krypto.org>.
174
1752013-11-18 Anthony Green <green@moxielogic.com>
176
177 * README (tested): Mention PowerPC ELFv2.
178
Alan Modra164283f2013-11-16 06:38:55 -05001792013-11-16 Alan Modra <amodra@gmail.com>
180
Alan Modra16d56c52013-11-18 06:36:03 -0500181 * src/powerpc/ppc_closure.S: Move errant #endif to where it belongs.
182 Don't bl .Luint128.
183
1842013-11-16 Alan Modra <amodra@gmail.com>
185
Alan Modra83f65b62013-11-16 06:53:50 -0500186 * src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF
187 test to select parameter save sizing for ELFv2 vs. ELFv1.
188 * src/powerpc/ffitarget.h (FFI_V2_TYPE_FLOAT_HOMOG,
189 FFI_V2_TYPE_DOUBLE_HOMOG, FFI_V2_TYPE_SMALL_STRUCT): Define.
190 (FFI_TRAMPOLINE_SIZE): Define variant for ELFv2.
191 * src/powerpc/ffi.c (FLAG_ARG_NEEDS_PSAVE): Define.
192 (discover_homogeneous_aggregate): New function.
193 (ffi_prep_args64): Adjust start of param save area for ELFv2.
194 Handle homogenous floating point struct parms.
195 (ffi_prep_cif_machdep_core): Adjust space calculation for ELFv2.
196 Handle ELFv2 return values. Set FLAG_ARG_NEEDS_PSAVE. Handle
197 homogenous floating point structs.
198 (ffi_call): Increase size of smst_buffer for ELFv2. Handle ELFv2.
199 (flush_icache): Compile for ELFv2.
200 (ffi_prep_closure_loc): Set up ELFv2 trampoline.
201 (ffi_closure_helper_LINUX64): Don't return all structs directly
202 to caller. Handle homogenous floating point structs. Handle
203 ELFv2 struct return values.
204 * src/powerpc/linux64.S (ffi_call_LINUX64): Set up r2 for
205 ELFv2. Adjust toc save location. Call function pointer using
206 r12. Handle FLAG_RETURNS_SMST. Don't predict branches.
207 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Set up r2
208 for ELFv2. Define ELFv2 versions of STACKFRAME, PARMSAVE, and
209 RETVAL. Handle possibly missing parameter save area. Handle
210 ELFv2 return values.
211 (.note.GNU-stack): Move inside outer #ifdef.
212
2132013-11-16 Alan Modra <amodra@gmail.com>
214
Alan Modra36285132013-11-16 06:52:43 -0500215 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08
216 change. Do not consume an int arg when returning a small struct
217 for FFI_SYSV ABI.
218 (ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST.
219 Properly copy bounce buffer to destination.
220 * src/powerpc/sysv.S: Revert 2013-02-08 change.
221 * src/powerpc/ppc_closure.S: Remove stray '+'.
222
2232013-11-16 Alan Modra <amodra@gmail.com>
224
Alan Modra1c065152013-11-16 06:41:36 -0500225 * src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters
226 according to __STRUCT_PARM_ALIGN__.
227 (ffi_prep_cif_machdep_core): Likewise.
228 (ffi_closure_helper_LINUX64): Likewise.
229
2302013-11-16 Alan Modra <amodra@gmail.com>
231
Alan Modraa97cf1f2013-11-16 06:40:13 -0500232 * src/powerpc/linux64.S (ffi_call_LINUX64): Tweak restore of r28.
233 (.note.GNU-stack): Move inside outer #ifdef.
234 * src/powerpc/linux64_closure.S (STACKFRAME, PARMSAVE,
235 RETVAL): Define and use throughout.
236 (ffi_closure_LINUX64): Save fprs before buying stack.
237 (.note.GNU-stack): Move inside outer #ifdef.
238
2392013-11-16 Alan Modra <amodra@gmail.com>
240
Alan Modra164283f2013-11-16 06:38:55 -0500241 * src/powerpc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
242 (FFI_EXTRA_CIF_FIELDS): Define.
243 * src/powerpc/ffi.c (ffi_prep_args64): Save fprs as per the
244 ABI, not to both fpr and param save area.
245 (ffi_prep_cif_machdep_core): Renamed from ffi_prep_cif_machdep.
246 Keep initial flags. Formatting. Remove dead FFI_LINUX_SOFT_FLOAT
247 code.
248 (ffi_prep_cif_machdep, ffi_prep_cif_machdep_var): New functions.
249 (ffi_closure_helper_LINUX64): Pass floating point as per ABI,
250 not to both fpr and parameter save areas.
251
252 * libffi/testsuite/libffi.call/cls_double_va.c (main): Correct
253 function cast and don't call ffi_prep_cif.
254 * libffi/testsuite/libffi.call/cls_longdouble_va.c (main): Likewise.
255
Andrew Haleydb0ace32013-11-16 06:29:25 -05002562013-11-15 Andrew Haley <aph@redhat.com>
257
Andrew Haley31257b32013-11-16 06:35:51 -0500258 * doc/libffi.texi (Closure Example): Fix the sample code.
259 * doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
260
2612013-11-15 Andrew Haley <aph@redhat.com>
262
Andrew Haleydb0ace32013-11-16 06:29:25 -0500263 * testsuite/libffi.call/va_struct1.c (main): Fix broken test.
264 * testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise
265 * testsuite/libffi.call/cls_struct_va1.c (test_fn): Likewise.
266 * testsuite/libffi.call/va_1.c (main): Likewise.
267
David Schneiderf3657da2013-11-14 13:02:16 +01002682013-11-14 David Schneider <david.schneider@bivab.de>
269
Anthony Greende10f502013-11-14 10:56:29 -0500270 * src/arm/ffi.c: Fix register allocation for mixed float and
271 doubles.
272 * testsuite/libffi.call/cls_many_mixed_float_double.c: Testcase
273 for many mixed float and double arguments.
274
Alan Modra58c25772013-11-13 16:55:36 -05002752013-11-13 Alan Modra <amodra@gmail.com>
276
277 * doc/libffi.texi (Simple Example): Correct example code.
278 * doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
279
Anthony Green8af42f92013-11-13 16:40:28 -05002802013-11-13 Anthony Green <green@moxielogic.com>
281
282 * include/ffi_common.h: Respect HAVE_ALLOCA_H for GNU compiler
283 based build. (Thanks to tmr111116 on github)
284
Anthony Green2f5b7ce2013-11-09 06:16:32 -05002852013-11-09 Anthony Green <green@moxielogic.com>
286
287 * m4/libtool.m4: Refresh.
288 * configure, Makefile.in: Rebuilt.
289 * README: Add more notes about next release.
290
2912013-11-09 Shigeharu TAKENO <shige@iee.niit.ac.jp>
292
293 * m4/ax_gcc_archflag.m4 (ax_gcc_arch): Don't recognize
294 UltraSPARC-IIi as ultrasparc3.
295
Mark Kettenisbecd7542013-11-06 06:43:49 -05002962013-11-06 Mark Kettenis <kettenis@gnu.org>
297
298 * src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to
299 16-bytes.
300
Konstantin Belousov05c31092013-11-06 06:40:58 -05003012013-11-06 Konstantin Belousov <kib@freebsd.org>
302
303 * src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler
304 source as not requiring executable stack.
305
Anthony Greencf6bf982013-11-02 17:23:59 -04003062013-11-02 Anthony Green <green@moxielogic.com>
307
308 * doc/libffi.texi (The Basics): Clarify return value buffer size
309 requirements. Also, NULL result buffer pointers are no longer
310 supported.
311 * doc/libffi.info: Rebuilt.
312
Anthony Greenc2422172013-11-02 14:08:23 -07003132013-11-02 Mischa Jonker <mjonker@synopsys.com>
314
315 * Makefile.am (nodist_libffi_la_SOURCES): Fix build error.
316 * Makefile.in: Rebuilt.
317
3182013-11-02 David Schneider <david.schneider@bivab.de>
319
320 * src/arm/ffi.c: more robust argument handling for closures on arm hardfloat
321 * testsuite/libffi.call/many_mixed.c: New file.
322 * testsuite/libffi.call/cls_many_mixed_args.c: More tests.
323
Anthony Greenf4b843f2013-11-02 17:01:15 -04003242013-11-02 Vitaly Budovski
325
326 * src/x86/ffi.c (ffi_prep_cif_machdep): Don't align stack for win32.
327
Mark H Weaverd3372c52013-10-26 08:30:06 -04003282013-10-23 Mark H Weaver <mhw@netris.org>
329
330 * src/mips/ffi.c: Fix handling of uint32_t arguments on the
331 MIPS N32 ABI.
332
Sandra Loosemore16b93a22013-10-15 15:33:59 -04003332013-10-13 Sandra Loosemore <sandra@codesourcery.com>
334
335 * README: Add Nios II to table of supported platforms.
336 * Makefile.am (EXTRA_DIST): Add nios2 files.
337 (nodist_libffi_la_SOURCES): Likewise.
338 * Makefile.in: Regenerated.
339 * configure.ac (nios2*-linux*): New host.
340 (NIOS2): Add AM_CONDITIONAL.
341 * configure: Regenerated.
342 * src/nios2/ffi.c: New.
343 * src/nios2/ffitarget.h: New.
344 * src/nios2/sysv.S: New.
345 * src/prep_cif.c (initialize_aggregate): Handle extra structure
346 alignment via FFI_AGGREGATE_ALIGNMENT.
347 (ffi_prep_cif_core): Conditionalize structure return for NIOS2.
348
Sandra Loosemore2f5626c2013-10-15 15:32:16 -04003492013-10-10 Sandra Loosemore <sandra@codesourcery.com>
350
351 * testsuite/libffi.call/cls_many_mixed_args.c (cls_ret_double_fn):
352 Fix uninitialized variable.
353
Marcus Shawcroftf64e4a82013-10-15 15:20:14 -04003542013-10-11 Marcus Shawcroft <marcus.shawcroft@arm.com>
355
356 * testsuite/libffi.call/many.c (many): Replace * with +.
357
Anthony Green128cd1d2013-10-08 06:45:51 -04003582013-10-08 Ondřej Bílka <neleai@seznam.cz>
359
360 * src/aarch64/ffi.c, src/aarch64/sysv.S, src/arm/ffi.c,
361 src/arm/gentramp.sh, src/bfin/sysv.S, src/closures.c,
362 src/dlmalloc.c, src/ia64/ffi.c, src/microblaze/ffi.c,
363 src/microblaze/sysv.S, src/powerpc/darwin_closure.S,
364 src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/sh/ffi.c,
365 src/tile/tile.S, testsuite/libffi.call/nested_struct11.c: Fix
366 spelling errors.
367
Anthony Greend2fcbcd2013-10-08 06:27:46 -04003682013-10-08 Anthony Green <green@moxielogic.com>
369
370 * aclocal.m4, compile, config.guess, config.sub, depcomp,
371 install-sh, mdate-sh, missing, texinfo.tex: Update from upstream.
372 * configure.ac: Update version to 3.0.14-rc0.
373 * Makefile.in, configure, Makefile.in, include/Makefile.in,
374 man/Makefile.in, testsuite/Makefile.in: Rebuilt.
Anthony Green128cd1d2013-10-08 06:45:51 -0400375 * README: Mention M88K and VAX.
Anthony Greend2fcbcd2013-10-08 06:27:46 -0400376
3772013-07-15 Miod Vallat <miod@openbsd.org>
378
379 * Makefile.am,
380 configure.ac,
381 src/m88k/ffi.c,
382 src/m88k/ffitarget.h,
383 src/m88k/obsd.S,
384 src/vax/elfbsd.S,
385 src/vax/ffi.c,
386 src/vax/ffitarget.h: Add m88k and vax support.
387
Anthony Greend3d099b2013-07-02 16:11:38 -04003882013-06-24 Alan Modra <amodra@gmail.com>
389
390 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
391 before statements.
392 (ffi_prep_args64): Support little-endian.
393 (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
394 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
395 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
396
Mischa Jonkerb082e152013-06-10 16:19:33 +02003972013-06-12 Mischa Jonker <mjonker@synopsys.com>
398
399 * configure.ac: Add support for ARC.
400 * Makefile.am: Likewise.
401 * README: Add ARC details.
402 * src/arc/arcompact.S: New.
403 * src/arc/ffi.c: Likewise.
404 * src/arc/ffitarget.h: Likewise.
405
David Schneider4750e3c2013-03-28 16:56:36 +01004062013-03-28 David Schneider <david.schneider@bivab.de>
407
408 * src/arm/ffi.c: Fix support for ARM hard-float calling convention.
409 * src/arm/sysv.S: call different methods for SYSV and VFP ABIs.
410 * testsuite/libffi.call/cls_many_mixed_args.c: testcase for a closure with
411 mixed arguments, many doubles.
412 * testsuite/libffi.call/many_double.c: testcase for calling a function using
413 more than 8 doubles.
414 * testcase/libffi.call/many.c: use absolute value to check result against an
415 epsilon
416
Anthony Greencb32c812013-03-17 09:27:55 -04004172013-03-17 Anthony Green <green@moxielogic.com>
418
Anthony Green12b18862013-03-17 18:32:12 -0400419 * README: Update for 3.0.13.
420 * configure.ac: Ditto.
421 * configure: Rebuilt.
422 * doc/*: Update version.
423
4242013-03-17 Dave Korn <dave.korn.cygwin@gmail.com>
425
426 * src/closures.c (is_emutramp_enabled
427 [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
428 enclosing #if scope.
429
4302013-03-17 Anthony Green <green@moxielogic.com>
431
Anthony Greencb32c812013-03-17 09:27:55 -0400432 * configure.ac: Only modify toolexecdir in certain cases.
433 * configure: Rebuilt.
434
Anthony Green4acf0052013-03-16 08:18:45 -04004352013-03-16 Gilles Talis <gilles.talis@gmail.com>
436
437 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
438 fparg_count,etc on __NO_FPRS__ targets.
439
Anthony Green8a286f52013-03-16 08:01:19 -04004402013-03-16 Alan Hourihane <alanh@fairlite.co.uk>
441
Anthony Green4acf0052013-03-16 08:18:45 -0400442 * src/m68k/sysv.S (epilogue): Don't use extb instruction on
Anthony Green8a286f52013-03-16 08:01:19 -0400443 m680000 machines.
444
Anthony Green211a9eb2013-03-16 04:24:40 -07004452013-03-16 Alex Gaynor <alex.gaynor@gmail.com>
446
447 * src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
448
Anthony Green2fb527a2013-03-16 07:46:38 -04004492013-03-13 Markos Chandras <markos.chandras@imgtec.com>
450
451 * configure.ac: Add support for Imagination Technologies Meta.
452 * Makefile.am: Likewise.
453 * README: Add Imagination Technologies Meta details.
454 * src/metag/ffi.c: New.
455 * src/metag/ffitarget.h: Likewise.
456 * src/metag/sysv.S: Likewise.
457
Anthony Green675c9832013-03-16 08:12:38 -04004582013-02-24 Andreas Schwab <schwab@linux-m68k.org>
459
460 * doc/libffi.texi (Structures): Fix missing category argument of
461 @deftp.
462
Anthony Greenf308faf2013-02-11 14:25:13 -05004632013-02-11 Anthony Green <green@moxielogic.com>
464
465 * configure.ac: Update release number to 3.0.12.
466 * configure: Rebuilt.
467 * README: Update release info.
468
4692013-02-10 Anthony Green <green@moxielogic.com>
470
471 * README: Add Moxie.
472 * src/moxie/ffi.c: Created.
473 * src/moxie/eabi.S: Created.
474 * src/moxie/ffitarget.h: Created.
475 * Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
476 * Makefile.in: Rebuilt.
477 * configure.ac: Add Moxie.
478 * configure: Rebuilt.
479 * testsuite/libffi.call/huge_struct.c: Disable format string
480 warnings for moxie*-*-elf tests.
481
4822013-02-10 Anthony Green <green@moxielogic.com>
483
484 * Makefile.am (LTLDFLAGS): Fix reference.
485 * Makefile.in: Rebuilt.
486
Anthony Green4ea22e52013-02-10 08:48:38 -05004872013-02-10 Anthony Green <green@moxielogic.com>
488
489 * README: Update supported platforms. Update test results link.
490
Anthony Green10e77222013-02-10 08:47:26 -05004912013-02-09 Anthony Green <green@moxielogic.com>
492
493 * testsuite/libffi.call/negint.c: Remove forced -O2.
494 * testsuite/libffi.call/many2.c (foo): Remove GCCism.
495 * testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
496
497 * src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
498 closure return type fix developed by Martin v. Löwis for cpython
499 fork.
500
Anthony Green70b11b42013-02-08 16:12:19 -05005012013-02-08 Andreas Tobler <andreast@fgznet.ch>
502
503 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
504 support.
505 * src/powerpc/sysv.S: Ditto.
506
Anthony Green63ba1fa2013-02-08 15:18:19 -05005072013-02-08 Anthony Green <green@moxielogic.com>
508
509 * testsuite/libffi.call/cls_longdouble.c: Remove xfail for
510 arm*-*-*.
511
5122013-02-08 Anthony Green <green@moxielogic.com>
513
514 * src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
515
Anthony Green24fbca42013-02-08 14:19:56 -05005162013-02-08 Matthias Klose <doko@ubuntu.com>
Anthony Greenb0fa11c2013-02-08 14:17:13 -0500517
518 * man/ffi_prep_cif.3: Clean up for debian linter.
519
Anthony Green24fbca42013-02-08 14:19:56 -05005202013-02-08 Peter Bergner <bergner@vnet.ibm.com>
Anthony Green8bd15d12013-02-08 13:56:37 -0500521
522 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
523 on the stack.
524
Anthony Greencb03ea82013-02-08 12:25:18 -05005252013-02-08 Anthony Green <green@moxielogic.com>
526
Anthony Green7aab8252013-02-08 13:26:21 -0500527 * Makefile.am (EXTRA_DIST): Add missing files.
528 * testsuite/Makefile.am (EXTRA_DIST): Ditto.
529 * Makefile.in: Rebuilt.
530
5312013-02-08 Anthony Green <green@moxielogic.com>
532
Anthony Greencb03ea82013-02-08 12:25:18 -0500533 * configure.ac: Move sparc asm config checks to within functions
534 for compatibility with sun tools.
535 * configure: Rebuilt.
536 * src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
537 systems.
538 * src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
539 flusher.
540
Anthony Green35ee8d42013-02-08 07:12:41 -05005412013-02-08 Nathan Rossi <nathan.rossi@xilinx.com>
542
543 * src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
544 small big-endian structures.
545 (ffi_prep_args): Ditto.
546
Anthony Greened6ae952013-02-07 16:43:36 -05005472013-02-07 Anthony Green <green@moxielogic.com>
548
Anthony Green9db7e1a2013-02-07 21:06:08 -0500549 * src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
550 (effectively hiding ffi_call_v8).
551
5522013-02-07 Anthony Green <green@moxielogic.com>
553
Anthony Greence0138e2013-02-07 18:04:01 -0500554 * configure.ac: Update bug reporting address.
555 * configure.in: Rebuild.
556
Anthony Greenfd07c9e2013-02-07 18:00:36 -0500557 * src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
558 Sun compiler.
559 * src/sparc/ffi.c (ffi_call): Remove warning.
560 Call ffi_flush_icache for non-GCC builds.
561 (ffi_prep_closure_loc): Use ffi_flush_icache.
562
Anthony Greened6ae952013-02-07 16:43:36 -0500563 * Makefile.am (EXTRA_DIST): Add libtool-ldflags.
564 * Makefile.in: Rebuilt.
565 * libtool-ldflags: New file.
566
Anthony Greenffef2e02013-02-07 15:47:01 -05005672013-02-07 Daniel Schepler <dschepler@gmail.com>
568
569 * configure.ac: Correctly identify x32 systems as 64-bit.
570 * m4/libtool.m4: Remove libtool expr error.
571 * aclocal.m4, configure: Rebuilt.
572
Anthony Greenf3a4f3f2013-02-07 09:57:20 -05005732013-02-07 Anthony Green <green@moxielogic.com>
574
Anthony Green176aa9d2013-02-07 15:29:22 -0500575 * configure.ac: Fix GCC usage test.
576 * configure: Rebuilt.
Anthony Green95eeceb2013-02-07 15:32:46 -0500577 * README: Mention LLVM/GCC x86_64 issue.
578 * testsuite/Makefile.in: Rebuilt.
Anthony Green176aa9d2013-02-07 15:29:22 -0500579
5802013-02-07 Anthony Green <green@moxielogic.com>
581
Anthony Greenf3a4f3f2013-02-07 09:57:20 -0500582 * testsuite/libffi.call/cls_double_va.c (main): Replace // style
583 comments with /* */ for xlc compiler.
584 * testsuite/libffi.call/stret_large.c (main): Ditto.
585 * testsuite/libffi.call/stret_large2.c (main): Ditto.
586 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
587 * testsuite/libffi.call/huge_struct.c (main): Ditto.
588 * testsuite/libffi.call/float_va.c (main): Ditto.
589 * testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
590 * testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
591 * testsuite/libffi.call/cls_pointer.c (main): Ditto.
592 * testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
593
Anthony Greenf7cd61e2013-02-06 17:38:04 -05005942013-02-06 Anthony Green <green@moxielogic.com>
595
Anthony Green522f8fe2013-02-06 20:31:31 -0500596 * man/ffi_prep_cif.3: Clean up for debian lintian checker.
597
5982013-02-06 Anthony Green <green@moxielogic.com>
599
Anthony Greenf7cd61e2013-02-06 17:38:04 -0500600 * Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
601 * Makefile.in: Rebuild.
602
Anthony Green6a790122013-02-06 17:37:15 -05006032013-02-02 Mark H Weaver <mhw@netris.org>
604
605 * src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
606 via general purpose registers.
607
Anthony Greenaeb87192013-01-21 07:37:30 -05006082013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
609
610 * README: Add MicroBlaze details.
611 * Makefile.am: Add MicroBlaze support.
612 * configure.ac: Likewise.
613 * src/microblaze/ffi.c: New.
614 * src/microblaze/ffitarget.h: Likewise.
615 * src/microblaze/sysv.S: Likewise.
616
6172013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
618 * testsuite/libffi.call/return_uc.c: Fixed issue.
619
Anthony Green20cae322013-01-21 07:07:38 -05006202013-01-21 Chris Zankel <chris@zankel.net>
621
622 * README: Add Xtensa support.
623 * Makefile.am: Likewise.
624 * configure.ac: Likewise.
625 * Makefile.in Regenerate.
626 * configure: Likewise.
627 * src/prep_cif.c: Handle Xtensa.
628 * src/xtensa: New directory.
629 * src/xtensa/ffi.c: New file.
630 * src/xtensa/ffitarget.h: Ditto.
631 * src/xtensa/sysv.S: Ditto.
632
Anthony Greenbff052d2013-01-11 10:24:32 -05006332013-01-11 Anthony Green <green@moxielogic.com>
634
Anthony Green05fbe1f2013-01-11 16:54:40 -0500635 * src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
636 comments with /* */ for xlc compiler.
637 * src/powerpc/aix.S (ffi_call_AIX): Ditto.
Anthony Greenf03eab02013-01-11 17:14:11 -0500638 * testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
639 deprecated inline function.
640 * testsuite/libffi.special/ffitestcxx.h: Ditto.
Anthony Green05fbe1f2013-01-11 16:54:40 -0500641 * README: Add update for AIX support.
642
6432013-01-11 Anthony Green <green@moxielogic.com>
644
Anthony Greenbff052d2013-01-11 10:24:32 -0500645 * configure.ac: Robustify pc relative reloc check.
646 * m4/ax_cc_maxopt.m4: Don't -malign-double. This is an ABI
647 changing option for 32-bit x86.
648 * aclocal.m4, configure: Rebuilt.
649 * README: Update supported target list.
650
Anthony Green2d9b3932013-01-09 21:14:54 -05006512013-01-10 Anthony Green <green@moxielogic.com>
652
Anthony Greencd41aea2013-01-10 17:25:45 -0500653 * README (tested): Add Compiler column to table.
654
6552013-01-10 Anthony Green <green@moxielogic.com>
656
Anthony Green8bf987d2013-01-10 17:24:51 -0500657 * src/x86/ffi64.c (struct register_args): Make sse array and array
658 of unions for sunpro compiler compatibility.
659
6602013-01-10 Anthony Green <green@moxielogic.com>
661
Anthony Green13e2d7b2013-01-10 10:52:02 -0500662 * configure.ac: Test target platform size_t size. Handle both 32
663 and 64-bit builds for x86_64-* and i?86-* targets (allowing for
664 CFLAG option to change default settings).
665 * configure, aclocal.m4: Rebuilt.
666
6672013-01-10 Anthony Green <green@moxielogic.com>
668
Anthony Green51415432013-01-10 07:35:53 -0500669 * testsuite/libffi.special/special.exp: Only run exception
670 handling tests when using GNU compiler.
671
Anthony Green56ba8d82013-01-10 07:25:10 -0500672 * m4/ax_compiler_vendor.m4: New file.
673 * configure.ac: Test for compiler vendor and don't use
674 AX_CFLAGS_WARN_ALL with the sun compiler.
675 * aclocal.m4, configure: Rebuilt.
676
6772013-01-10 Anthony Green <green@moxielogic.com>
678
Anthony Green6a028ca2013-01-10 01:19:43 -0500679 * include/ffi_common.h: Don't use GCCisms to define types when
680 building with the SUNPRO compiler.
681
6822013-01-10 Anthony Green <green@moxielogic.com>
683
Anthony Green2d9b3932013-01-09 21:14:54 -0500684 * configure.ac: Put local.exp in the right place.
685 * configure: Rebuilt.
686
687 * src/x86/ffi.c: Update comment about regparm function attributes.
688 * src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
689 that all function arguments be passed on the stack (no regparm
690 support).
691
Anthony Greenf7879bc2013-01-08 07:30:28 -05006922013-01-08 Anthony Green <green@moxielogic.com>
693
Anthony Green83089842013-01-08 15:14:21 -0500694 * configure.ac: Generate local.exp. This sets CC_FOR_TARGET
695 when we are using the vendor compiler.
696 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
697 ../local.exp.
698 * configure, testsuite/Makefile.in: Rebuilt.
699
Anthony Greenf26c7ca2013-01-08 14:47:05 -0500700 * testsuite/libffi.call/call.exp: Run tests with different
701 options, depending on whether or not we are using gcc or the
702 vendor compiler.
703 * testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
704 whether or not we are building/testing with gcc.
705
7062013-01-08 Anthony Green <green@moxielogic.com>
707
Anthony Green74c776e2013-01-08 12:25:54 -0500708 * configure.ac: Switch x86 solaris target to X86 by default.
709 * configure: Rebuilt.
710
7112013-01-08 Anthony Green <green@moxielogic.com>
712
Anthony Green8962c8c2013-01-08 12:22:24 -0500713 * configure.ac: Fix test for read-only eh_frame.
714 * configure: Rebuilt.
715
7162013-01-08 Anthony Green <green@moxielogic.com>
717
Anthony Green35ddb692013-01-08 07:53:37 -0500718 * src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
719 when building with the GNU toolchain.
Anthony Greenf7879bc2013-01-08 07:30:28 -0500720 * testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
721 compiler.
722
Anthony Green8f4772f2013-01-07 06:14:53 -05007232013-01-07 Thorsten Glaser <tg@mirbsd.org>
724
Anthony Green67cea902013-01-07 06:30:24 -0500725 * testsuite/libffi.call/cls_uchar_va.c,
726 testsuite/libffi.call/cls_ushort_va.c,
727 testsuite/libffi.call/va_1.c: Testsuite fixes.
728
7292013-01-07 Thorsten Glaser <tg@mirbsd.org>
730
Anthony Green8f4772f2013-01-07 06:14:53 -0500731 * src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
732 (ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
733 * src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
734
Anthony Greenea7f8442013-01-04 09:09:32 -05007352013-01-04 Anthony Green <green@moxielogic.com>
736
737 * Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
738 and -Wall. This is set in the configure script after testing for
739 GCC.
740 * Makefile.in: Rebuilt.
741
Anthony Greenf06c0f12013-01-02 09:39:17 -05007422013-01-02 rofl0r <https://github.com/rofl0r>
743
744 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
745 when long double == double.
746
7472013-01-02 Reini Urban <rurban@x-ray.at>
748
749 * Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
750 (required for shared libs on cygwin/mingw).
751 * Makefile.in: Rebuilt.
752
Anthony Greend3d099b2013-07-02 16:11:38 -04007532012-10-31 Alan Modra <amodra@gmail.co>
Anthony Greendfadfb12012-10-31 06:46:41 -0400754
755 * src/powerpc/linux64_closure.S: Add new ABI support.
756 * src/powerpc/linux64.S: Likewise.
757
Anthony Greene944b8c2012-10-30 14:06:09 -04007582012-10-30 Magnus Granberg <zorry@gentoo.org>
759 Pavel Labushev <pavel.labushev@runbox.ru>
760
761 * configure.ac: New options pax_emutramp
762 * configure, fficonfig.h.in: Regenerated
763 * src/closures.c: New function emutramp_enabled_check() and
764 checks.
765
Anthony Greenf3429962012-10-30 07:42:27 -04007662012-10-30 Frederick Cheung <frederick.cheung@gmail.com>
767
768 * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
769 lion) and future version.
770 * configure: Rebuild.
771
Anthony Green58e8b662012-10-30 07:07:19 -04007722012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
773 Marcus Shawcroft <marcus.shawcroft at arm.com>
774
775 * README: Add details of aarch64 port.
776 * src/aarch64/ffi.c: New.
777 * src/aarch64/ffitarget.h: Likewise.
778 * src/aarch64/sysv.S: Likewise.
Anthony Greenf680b592012-11-06 16:00:40 -0500779 * Makefile.am: Support aarch64.
780 * configure.ac: Support aarch64.
781 * Makefile.in, configure: Rebuilt.
Anthony Green58e8b662012-10-30 07:07:19 -0400782
7832012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
784 Marcus Shawcroft <marcus.shawcroft at arm.com>
785
786 * testsuite/lib/libffi.exp: Add support for aarch64.
787 * testsuite/libffi.call/cls_struct_va1.c: New.
788 * testsuite/libffi.call/cls_uchar_va.c: Likewise.
789 * testsuite/libffi.call/cls_uint_va.c: Likewise.
Anthony Greenf680b592012-11-06 16:00:40 -0500790 * testsuite/libffi.call/cls_ulong_va.c: Likewise.
Anthony Green58e8b662012-10-30 07:07:19 -0400791 * testsuite/libffi.call/cls_ushort_va.c: Likewise.
792 * testsuite/libffi.call/nested_struct11.c: Likewise.
793 * testsuite/libffi.call/uninitialized.c: Likewise.
794 * testsuite/libffi.call/va_1.c: Likewise.
795 * testsuite/libffi.call/va_struct1.c: Likewise.
796 * testsuite/libffi.call/va_struct2.c: Likewise.
797 * testsuite/libffi.call/va_struct3.c: Likewise.
798
Anthony Green9c00a3f2012-10-12 16:46:06 -04007992012-10-12 Walter Lee <walt@tilera.com>
800
801 * Makefile.am: Add TILE-Gx/TILEPro support.
802 * configure.ac: Likewise.
803 * Makefile.in: Regenerate.
804 * configure: Likewise.
805 * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
806 * src/tile: New directory.
807 * src/tile/ffi.c: New file.
808 * src/tile/ffitarget.h: Ditto.
809 * src/tile/tile.S: Ditto.
810
8112012-10-12 Matthias Klose <doko@ubuntu.com>
812
813 * generate-osx-source-and-headers.py: Normalize whitespace.
814
Anthony Green048d2f42012-10-11 10:55:25 -04008152012-09-14 David Edelsohn <dje.gcc@gmail.com>
816
817 * configure: Regenerated.
818
8192012-08-26 Andrew Pinski <apinski@cavium.com>
820
821 PR libffi/53014
822 * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
823 soft-float.
824
8252012-08-08 Uros Bizjak <ubizjak@gmail.com>
826
827 * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
828 just return FFI_BAD_ABI when things are wrong.
829
8302012-07-18 H.J. Lu <hongjiu.lu@intel.com>
831
832 PR libffi/53982
833 PR libffi/53973
834 * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
835 (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
836
8372012-05-16 H.J. Lu <hongjiu.lu@intel.com>
838
839 * configure: Regenerated.
840
Nicolas Lelongd330f192012-05-05 09:37:02 -04008412012-05-05 Nicolas Lelong
842
843 * libffi.xcodeproj/project.pbxproj: Fixes.
844 * README: Update for iOS builds.
845
Anthony Green213ed152012-04-27 01:34:15 -04008462012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
847
848 * configure.ac: Add Blackfin/sysv support
849 * Makefile.am: Add Blackfin/sysv support
850 * src/bfin/ffi.c: Add Blackfin/sysv support
851 * src/bfin/ffitarget.h: Add Blackfin/sysv support
Anthony Green213ed152012-04-27 01:34:15 -0400852
Anthony Green7e0a4122012-04-11 22:47:44 -04008532012-04-11 Anthony Green <green@moxielogic.com>
854
855 * Makefile.am (EXTRA_DIST): Add new script.
856 * Makefile.in: Rebuilt.
857
Zachary Waldowski39e6a582012-04-11 22:39:46 -04008582012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
859
860 * generate-ios-source-and-headers.py,
861 libffi.xcodeproj/project.pbxproj: Support a Mac static library via
862 Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
863 generation into an Xcode "run script" phase. Include both as
864 Xcode build scripts. Don't always regenerate config files.
865
Anthony Green853cc722012-04-10 06:33:33 -04008662012-04-10 Anthony Green <green@moxielogic.com>
867
868 * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
869
Anthony Green3f502302012-04-06 20:34:51 -04008702012-04-06 Anthony Green <green@moxielogic.com>
871
872 * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
873 * Makefile.in: Rebuilt.
874
Mike Lewisebb8e892012-04-06 20:02:08 -04008752012-04-06 Mike Lewis <mikelikespie@gmail.com>
876
877 * generate-ios-source-and-headers.py: New file.
878 * libffi.xcodeproj/project.pbxproj: New file.
879 * README: Update instructions on building iOS binary.
880 * build-ios.sh: Delete.
881
Anthony Greena044a562012-04-06 10:39:10 -04008822012-04-06 Anthony Green <green@moxielogic.com>
883
884 * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
885 compilers, then use it.
886
Anthony Green048d2f42012-10-11 10:55:25 -04008872012-04-06 H.J. Lu <hongjiu.lu@intel.com>
888
889 * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
890
Anthony Green59bb61a2012-04-06 08:26:14 -04008912012-04-06 Anthony Green <green@moxielogic.com>
892
893 * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
894 * testsuite/Makefile.in: Rebuilt.
895
Zachary Waldowski39dccdd2012-04-05 12:32:41 -04008962012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
897
898 * include/ffi.h.in: Add missing trampoline table fields.
899 * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
900 in CNAME.
901 * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
902
Anthony Green089dbce2013-01-02 08:37:35 -05009032012-04-02 Peter Bergner <bergner@vnet.ibm.com>
904
905 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
906 Silence casting pointer to integer of different size warning.
907 Delete goto to previously deleted label.
908 (ffi_call): Silence possibly undefined warning.
909 (ffi_closure_helper_SYSV): Declare variable type.
910
9112012-04-02 Peter Rosin <peda@lysator.liu.se>
912
913 * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
914 value in the Intel version as is already done for the AT&T version.
915 (ffi_closure_SYSV): Likewise.
916 (ffi_closure_raw_SYSV): Likewise.
917 (ffi_closure_STDCALL): Likewise.
918
Peter Rosin0a1ab122012-03-30 08:14:08 -04009192012-03-29 Peter Rosin <peda@lysator.liu.se>
920
921 * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
922 generation, fix the ENDP label and remove the surplus third arg
923 from the 'lea' insn.
924
9252012-03-29 Peter Rosin <peda@lysator.liu.se>
926
927 * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
928 visible outside the PROC, so that ffi_closure_raw_THISCALL can see
929 it. Also instruct the assembler to add a frame to the function.
930
9312012-03-23 Peter Rosin <peda@lysator.liu.se>
932
933 * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
934 * Makefile.in: Rebuilt.
935 * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
936 to all data exports, when compiling libffi clients using MSVC.
937
9382012-03-29 Peter Rosin <peda@lysator.liu.se>
939
940 * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
941 make it the default for MSVC.
942 (FFI_TYPE_MS_STRUCT): New structure return convention.
943 * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
944 return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
945 instead of an ordinary FFI_TYPE_STRUCT.
946 (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
947 (ffi_call): Likewise.
948 (ffi_prep_incoming_args_SYSV): Likewise.
949 (ffi_raw_call): Likewise.
950 (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
951 * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
952 return a pointer to the result structure in eax and don't pop
953 that pointer from the stack, the caller takes care of it.
954 (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
955 (ffi_closure_raw_SYSV): Likewise.
956
9572012-03-22 Peter Rosin <peda@lysator.liu.se>
958
959 * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
960 assembly version with Intel syntax.
961 * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
962
9632012-03-23 Peter Rosin <peda@lysator.liu.se>
964
965 * testsuite/libffi.call/ffitest.h: Provide abstration of
966 __attribute__((fastcall)) in the form of a __FASTCALL__
967 define. Define it to __fastcall for MSVC.
968 * testsuite/libffi.call/fastthis1_win32.c: Use the above.
969 * testsuite/libffi.call/fastthis2_win32.c: Likewise.
970 * testsuite/libffi.call/fastthis3_win32.c: Likewise.
971 * testsuite/libffi.call/strlen2_win32.c: Likewise.
972 * testsuite/libffi.call/struct1_win32.c: Likewise.
973 * testsuite/libffi.call/struct2_win32.c: Likewise.
974
9752012-03-22 Peter Rosin <peda@lysator.liu.se>
976
977 * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
978 frame on function entry, MASM adds one automatically.
979
9802012-03-22 Peter Rosin <peda@lysator.liu.se>
981
982 * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
983 bits in the MSVC headers.
984
9852012-03-22 Peter Rosin <peda@lysator.liu.se>
986
987 * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
988 with no declarations after statements.
989 * testsuite/libffi.call/cls_16byte.c: Likewise.
990 * testsuite/libffi.call/cls_18byte.c: Likewise.
991 * testsuite/libffi.call/cls_19byte.c: Likewise.
992 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
993 * testsuite/libffi.call/cls_20byte.c: Likewise.
994 * testsuite/libffi.call/cls_20byte1.c: Likewise.
995 * testsuite/libffi.call/cls_24byte.c: Likewise.
996 * testsuite/libffi.call/cls_2byte.c: Likewise.
997 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
998 * testsuite/libffi.call/cls_3byte1.c: Likewise.
999 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1000 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1001 * testsuite/libffi.call/cls_4byte.c: Likewise.
1002 * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
1003 * testsuite/libffi.call/cls_5byte.c: Likewise.
1004 * testsuite/libffi.call/cls_64byte.c: Likewise.
1005 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
1006 * testsuite/libffi.call/cls_6byte.c: Likewise.
1007 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
1008 * testsuite/libffi.call/cls_7byte.c: Likewise.
1009 * testsuite/libffi.call/cls_8byte.c: Likewise.
1010 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1011 * testsuite/libffi.call/cls_9byte2.c: Likewise.
1012 * testsuite/libffi.call/cls_align_double.c: Likewise.
1013 * testsuite/libffi.call/cls_align_float.c: Likewise.
1014 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
1015 * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
1016 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1017 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
1018 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
1019 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
1020 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
1021 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
1022 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
1023 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
1024 * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
1025 * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
1026 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
1027 * testsuite/libffi.call/huge_struct.c: Likewise.
1028 * testsuite/libffi.call/nested_struct.c: Likewise.
1029 * testsuite/libffi.call/nested_struct1.c: Likewise.
1030 * testsuite/libffi.call/nested_struct10.c: Likewise.
1031 * testsuite/libffi.call/nested_struct2.c: Likewise.
1032 * testsuite/libffi.call/nested_struct3.c: Likewise.
1033 * testsuite/libffi.call/nested_struct4.c: Likewise.
1034 * testsuite/libffi.call/nested_struct5.c: Likewise.
1035 * testsuite/libffi.call/nested_struct6.c: Likewise.
1036 * testsuite/libffi.call/nested_struct7.c: Likewise.
1037 * testsuite/libffi.call/nested_struct8.c: Likewise.
1038 * testsuite/libffi.call/nested_struct9.c: Likewise.
1039 * testsuite/libffi.call/stret_large.c: Likewise.
1040 * testsuite/libffi.call/stret_large2.c: Likewise.
1041 * testsuite/libffi.call/stret_medium.c: Likewise.
1042 * testsuite/libffi.call/stret_medium2.c: Likewise.
1043 * testsuite/libffi.call/struct1.c: Likewise.
1044 * testsuite/libffi.call/struct1_win32.c: Likewise.
1045 * testsuite/libffi.call/struct2.c: Likewise.
1046 * testsuite/libffi.call/struct2_win32.c: Likewise.
1047 * testsuite/libffi.call/struct3.c: Likewise.
1048 * testsuite/libffi.call/struct4.c: Likewise.
1049 * testsuite/libffi.call/struct5.c: Likewise.
1050 * testsuite/libffi.call/struct6.c: Likewise.
1051 * testsuite/libffi.call/struct7.c: Likewise.
1052 * testsuite/libffi.call/struct8.c: Likewise.
1053 * testsuite/libffi.call/struct9.c: Likewise.
1054 * testsuite/libffi.call/testclosure.c: Likewise.
1055
Anthony Greene72ed5e2012-03-21 09:52:28 -040010562012-03-21 Peter Rosin <peda@lysator.liu.se>
1057
1058 * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
1059 printing doubles (%lf is for long doubles).
1060 (main): Likewise.
1061
Anthony Greenbd78c9c2012-03-21 08:09:30 -040010622012-03-21 Peter Rosin <peda@lysator.liu.se>
1063
1064 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
1065 (set_ld_library_path_env_vars): Add the library search dir to PATH
1066 (and save PATH for later).
1067 (restore_ld_library_path_env_vars): Restore PATH.
1068
Anthony Greenccee09a2013-01-02 08:41:55 -050010692012-03-21 Peter Rosin <peda@lysator.liu.se>
1070
1071 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
1072 (set_ld_library_path_env_vars): Add the library search dir to PATH
1073 (and save PATH for later).
1074 (restore_ld_library_path_env_vars): Restore PATH.
1075
Anthony Greenbd78c9c2012-03-21 08:09:30 -040010762012-03-20 Peter Rosin <peda@lysator.liu.se>
1077
1078 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
1079 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
1080 visible outside the PROC, so that ffi_closure_THISCALL can see it.
1081
Anthony Green048d2f42012-10-11 10:55:25 -040010822012-03-20 Peter Rosin <peda@lysator.liu.se>
1083
1084 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
1085 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
1086 visible outside the PROC, so that ffi_closure_THISCALL can see it.
1087
Anthony Greenbd78c9c2012-03-21 08:09:30 -040010882012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
1089
1090 * src/m68k/ffi.c: Add MINT support.
1091 * src/m68k/sysv.S: Ditto.
1092
Anthony Green048d2f42012-10-11 10:55:25 -040010932012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
1094
1095 * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
1096 ffi_call_VFP().
1097 (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
1098 ffi_closure_VFP.
1099 * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
1100
Anthony Green089dbce2013-01-02 08:37:35 -050011012012-03-19 chennam <csit@axway.com>
Anthony Green65f40c32012-04-03 07:35:59 -04001102
Anthony Green089dbce2013-01-02 08:37:35 -05001103 * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
1104 support.
Anthony Green048d2f42012-10-11 10:55:25 -04001105
Anthony Green84d32532012-03-19 23:07:35 -040011062012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
1107
1108 * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1109 just return FFI_BAD_ABI when things are wrong.
1110 * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
1111
11122012-03-09 David Edelsohn <dje.gcc@gmail.com>
1113
1114 * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
1115 change to return value of ffi_closure_helper_DARWIN and load type
1116 from return type.
1117
Anthony Green964c5b92012-03-03 14:46:20 -050011182012-03-03 H.J. Lu <hongjiu.lu@intel.com>
1119
1120 * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
1121 long.
1122 (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
1123 (ffi_closure_unix64_inner): Cast return pointer to unsigned long
1124 first.
1125
1126 * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
1127 (ffi_arg): Set to unsigned long long for x32.
1128 (ffi_sarg): Set to long long for x32.
1129
11302012-03-03 H.J. Lu <hongjiu.lu@intel.com>
1131
1132 * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
1133
Anthony Green6c194232012-03-03 14:17:54 -050011342012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
1135
1136 * configure.ac: Add -no-undefined for both 32- and 64-bit x86
1137 windows-like hosts.
1138 * configure: Rebuilt.
1139
Anthony Green7c5e60b2012-03-29 08:48:22 -040011402012-02-27 Mikael Pettersson <mikpe@it.uu.se>
1141
1142 PR libffi/52223
1143 * Makefile.am (FLAGS_TO_PASS): Define.
1144 * Makefile.in: Regenerate.
1145
Anthony Green8360bf12012-02-23 07:01:13 -050011462012-02-23 Anthony Green <green@moxielogic.com>
1147
1148 * src/*/ffitarget.h: Ensure that users never include ffitarget.h
1149 directly.
1150
Anthony Green7c5e60b2012-03-29 08:48:22 -040011512012-02-23 Kai Tietz <ktietz@redhat.com>
1152
1153 PR libffi/52221
1154 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
1155 prototype.
1156 (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
1157 thiscall-convention.
1158 (ffi_raw_call): Use ffi_prep_args_raw.
1159 * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
1160 implementation for stub.
1161
Anthony Greendee20f82012-02-10 13:06:46 -050011622012-02-10 Kai Tietz <ktietz@redhat.com>
1163
1164 * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
1165 windows target.
1166 * configure: Regenerated.
Anthony Green8360bf12012-02-23 07:01:13 -05001167
Anthony Greendee20f82012-02-10 13:06:46 -050011682012-02-08 Kai Tietz <ktietz@redhat.com>
1169
1170 * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
1171 also FFI_THISCALL.
1172 * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
1173 (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
1174 (ffi_prep_closure_loc): Add FFI_THISCALL support.
1175 * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
1176 * src/x86/win32.S (ffi_closure_THISCALL): New closure code
1177 for thiscall-calling convention.
1178 * testsuite/libffi.call/closure_thiscall.c: New test.
1179
Anthony Green1ff9c602012-02-01 16:34:30 -060011802012-01-28 Kai Tietz <ktietz@redhat.com>
1181
1182 * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
1183 argument to prototype for specify calling-convention.
1184 (ffi_call): Add support for stdcall/thiscall convention.
1185 (ffi_prep_args): Likewise.
1186 (ffi_raw_call): Likewise.
1187 * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
1188 FFI_FASTCALL.
1189 * src/x86/win32.S (_ffi_call_win32): Add support for
1190 fastcall/thiscall calling-convention calls.
1191 * testsuite/libffi.call/fastthis1_win32.c: New test.
1192 * testsuite/libffi.call/fastthis2_win32.c: New test.
1193 * testsuite/libffi.call/fastthis3_win32.c: New test.
1194 * testsuite/libffi.call/strlen2_win32.c: New test.
1195 * testsuite/libffi.call/many2_win32.c: New test.
1196 * testsuite/libffi.call/struct1_win32.c: New test.
1197 * testsuite/libffi.call/struct2_win32.c: New test.
1198
Anthony Green211060e2012-01-23 14:24:01 -050011992012-01-23 Uros Bizjak <ubizjak@gmail.com>
1200
1201 * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
1202
Anthony Green1ff9c602012-02-01 16:34:30 -060012032012-01-23 Anthony Green <green@moxielogic.com>
1204 Chris Young <cdyoung@ntlworld.com>
Anthony Green9e9c4ae2012-01-23 14:11:23 -05001205
1206 * configure.ac: Add Amiga support.
1207 * configure: Rebuilt.
1208
12092012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
Anthony Green8efc0b12012-01-23 13:47:38 -05001210
1211 * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
1212
Anthony Green1ff9c602012-02-01 16:34:30 -060012132012-01-23 Andreas Schwab <schwab@linux-m68k.org>
Anthony Greencd2277c2012-01-23 13:43:38 -05001214
1215 * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
1216 mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
1217
Anthony Greenc365ee72012-01-23 11:13:18 -050012182012-01-19 Jakub Jelinek <jakub@redhat.com>
1219
1220 PR rtl-optimization/48496
1221 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
1222
12232012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1224
1225 * configure.ac (i?86-*-*): Set TARGET to X86_64.
1226 * configure: Regenerate.
1227
12282011-12-07 Andrew Pinski <apinski@cavium.com>
1229
1230 PR libffi/50051
1231 * src/mips/n32.S: Add ".set mips4".
1232
12332011-11-21 Andreas Tobler <andreast@fgznet.ch>
1234
1235 * configure: Regenerate.
1236
Anthony Greenff9454d2011-11-12 17:18:51 -050012372011-11-12 David Gilbert <david.gilbert@linaro.org>
1238
1239 * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
1240 man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
1241 man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
1242 src/cris/ffi.c, src/prep_cif.c,
1243 testsuite/libffi.call/cls_double_va.c,
1244 testsuite/libffi.call/cls_longdouble_va.c,
1245 testsuite/libffi.call/float_va.c: Many changes to support variadic
1246 function calls.
1247
Anthony Green52891f82011-11-12 16:35:55 -050012482011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
1249
1250 * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
1251 src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
1252 softfloat powerpc variants.
1253
Anthony Green6a6e7f82011-11-12 16:20:42 -050012542011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
1255
1256 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
1257 * configure: Rebuilt.
1258
Anthony Greend52fbed2011-11-12 16:13:41 -050012592011-11-12 Timothy Wall <twall@users.sf.net>
1260
1261 * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
1262 alignment of 4 for wince on ARM.
1263
Anthony Greenaf18df22011-11-12 15:52:08 -050012642011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
1265 Anthony Green <green@moxielogic.com>
1266
1267 * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
1268 instructions (not available on some cores, like the PPC440).
1269
Anthony Greenc411f142011-11-12 07:32:36 -050012702011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
Anthony Green8c019542011-09-06 14:26:32 -04001271
Anthony Greenc411f142011-11-12 07:32:36 -05001272 * m4/ax_enable_builddir: Change from string comparison to numeric
Anthony Green52891f82011-11-12 16:35:55 -05001273 comparison for wc output.
Anthony Green236c9392011-11-12 07:37:40 -05001274 * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
1275 X 10.7.
1276 * configure: Rebuilt.
Anthony Greenee6696f2011-08-23 12:30:29 -04001277
Anthony Green6a6e7f82011-11-12 16:20:42 -050012782011-11-12 Anthony Green <green@moxielogic.com>
1279
1280 * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
1281 files with debug info.
1282 * Makefile.in: Rebuilt.
1283
12842011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1285
1286 * README: Update list of supported OpenBSD systems.
1287
12882011-11-12 Anthony Green <green@moxielogic.com>
1289
1290 * libtool-version: Update.
1291 * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
1292 FFI_DEBUG.
1293 (libffi_la_SOURCES): Remove src/debug.c
1294 (EXTRA_DIST): Add src/debug.c
1295 * Makefile.in: Rebuilt.
1296 * README: Update for 3.0.11.
1297
Anthony Green3d561062011-11-12 07:20:24 -050012982011-11-10 Richard Henderson <rth@redhat.com>
Anthony Green049d8382011-08-22 14:50:10 -04001299
Anthony Green3d561062011-11-12 07:20:24 -05001300 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
1301 * configure, aclocal.m4: Rebuild.
1302
13032011-09-04 Iain Sandoe <iains@gcc.gnu.org>
1304
1305 PR libffi/49594
1306 * src/powerpc/darwin_closure.S (stubs): Make the stub binding
1307 helper reference track the architecture pointer size.
1308
13092011-08-25 Andrew Haley <aph@redhat.com>
1310
1311 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
1312 instructions.
1313 * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
Anthony Green049d8382011-08-22 14:50:10 -04001314
Anthony Greend992ac52011-07-29 17:32:53 -040013152011-07-11 Andrew Haley <aph@redhat.com>
1316
1317 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
1318
13192011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1320
1321 * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
1322 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
1323
13242011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1325
1326 PR libffi/46660
1327 * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
1328 mips-sgi-irix6*.
1329 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
1330
13312011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1332
1333 * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
1334 PRId8 instead of %hhu, %hhd.
1335 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
1336 PRIu8): Define.
1337 [__sgi__] (PRId8, PRIu8): Define.
1338
13392011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1340
1341 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
1342 Define.
1343 Use them to handle ELF vs. ECOFF differences.
1344 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
1345
Anthony Green2d3fb362011-03-30 16:54:42 -040013462011-03-30 Timothy Wall <twall@users.sf.net>
1347
1348 * src/powerpc/darwin.S: Fix unknown FDE encoding.
1349 * src/powerpc/darwin_closure.S: ditto.
1350
Anthony Green25416792011-02-25 15:09:13 -050013512011-02-25 Anthony Green <green@moxielogic.com>
1352
Anthony Green74ee6ea2011-02-25 15:52:14 -05001353 * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
1354 32-bit ABIs.
Anthony Green25416792011-02-25 15:09:13 -05001355
Anthony Green8cf88782011-02-15 15:19:49 -050013562011-02-15 Anthony Green <green@moxielogic.com>
1357
1358 * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
1359 * configure: Rebuilt.
1360
Anthony Greend992ac52011-07-29 17:32:53 -040013612011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1362
1363 * configure: Regenerate.
1364
Anthony Green1fbf9dc2011-02-13 08:06:39 -050013652011-02-13 Anthony Green <green@moxielogic.com>
1366
1367 * include/ffi_common.h (UNLIKELY, LIKELY): Define.
1368 * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
1369 * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
1370
1371 * src/prep_cif.c (initialize_aggregate): Convert assertion into
1372 FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
1373
1374 * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1375 just return FFI_BAD_ABI when things are wrong.
1376 * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
1377 * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
1378 * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
1379 * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
1380 * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
1381
Anthony Green1833aa02011-02-11 07:11:04 -050013822011-02-11 Anthony Green <green@moxielogic.com>
1383
1384 * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1385 just return FFI_BAD_ABI when things are wrong.
1386
Anthony Green7c5e60b2012-03-29 08:48:22 -040013872012-02-11 Eric Botcazou <ebotcazou@adacore.com>
1388
1389 * src/sparc/v9.S (STACKFRAME): Bump to 176.
1390
Anthony Green42695e72011-02-09 15:12:35 -050013912011-02-09 Stuart Shelton <srcshelton@gmail.com>
1392
1393 http://bugs.gentoo.org/show_bug.cgi?id=286911
1394 * src/mips/ffitarget.h: Clean up error messages.
1395 * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
1396 ffi_raw*.
1397 * include/ffi.h.in: Add pragma for SGI compiler.
1398
Anthony Greena6e56b92011-02-09 15:00:42 -050013992011-02-09 Anthony Green <green@moxielogic.com>
1400
1401 * configure.ac: Add powerpc64-*-darwin* support.
1402
Anthony Green0cad4382011-02-09 06:11:46 -050014032011-02-09 Anthony Green <green@moxielogic.com>
Anthony Green11062292011-02-08 19:20:09 -05001404
Anthony Green747d6c32011-02-09 14:56:23 -05001405 * README: Mention Interix.
1406
14072011-02-09 Jonathan Callen <abcd@gentoo.org>
1408
1409 * configure.ac: Add Interix to win32/cygwin/mingw case.
1410 * configure: Ditto.
1411 * src/closures.c: Treat Interix like Cygwin, instead of as a
1412 generic win32.
1413
14142011-02-09 Anthony Green <green@moxielogic.com>
1415
Anthony Green69dbe842011-02-09 07:38:43 -05001416 * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
1417 * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
1418 * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
1419 (ffi_prep_closure_loc): Check for bad ABI.
1420 * src/prep_cif.c (UNLIKELY, LIKELY): Define.
1421 (initialize_aggregate): Check for bad types.
Anthony Green0cad4382011-02-09 06:11:46 -05001422
Anthony Green90af15e2011-02-12 12:29:36 -050014232011-02-09 Landon Fuller <landonf@plausible.coop>
Anthony Green0cad4382011-02-09 06:11:46 -05001424
1425 * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
1426 src/arm/trampoline.S.
1427 (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
1428 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
1429 * src/arm/ffi.c (ffi_trampoline_table)
1430 (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
1431 (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
1432 (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
1433 (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
1434 Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
1435 (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
1436 separately.
1437 * src/arm/sysv.S: Handle Apple iOS host.
1438 * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
Anthony Greenf4983182011-02-09 06:26:46 -05001439 * build-ios.sh: New file.
Anthony Green0cad4382011-02-09 06:11:46 -05001440 * fficonfig.h.in, configure, Makefile.in: Rebuilt.
Anthony Green69dbe842011-02-09 07:38:43 -05001441 * README: Mention ARM iOS.
Anthony Green11062292011-02-08 19:20:09 -05001442
Anthony Greendc411e82011-02-08 10:49:29 -050014432011-02-08 Oren Held <orenhe@il.ibm.com>
1444
1445 * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
1446 redefinition of mallinfo on HP-UX.
1447
Anthony Green404585d2011-02-08 10:44:36 -050014482011-02-08 Ginn Chen <ginn.chen@oracle.com>
1449
1450 * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
Anthony Green049d8382011-08-22 14:50:10 -04001451 aggregate return ABI. Flush cache.
1452 (ffi_prep_closure_loc): Flush cache.
Anthony Green404585d2011-02-08 10:44:36 -05001453
Anthony Green6972a4f2011-02-11 07:32:51 -050014542011-02-11 Anthony Green <green@moxielogic.com>
1455
1456 From Tom Honermann <tom.honermann@oracle.com>:
1457 * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
1458 AIX. Declare .ffi_prep_args. Insert nops after branch
1459 instructions so that the AIX linker can insert TOC reload
1460 instructions.
1461 * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
1462
Anthony Greend992ac52011-07-29 17:32:53 -040014632011-02-08 Ed <ed@kdtc.net>
1464
1465 * src/powerpc/asm.h: Fix grammar nit in comment.
1466
Anthony Green89284fe2011-02-08 10:19:19 -050014672011-02-08 Uli Link <ul.mcamafia@linkitup.de>
1468
1469 * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
1470
Anthony Greend992ac52011-07-29 17:32:53 -040014712011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1472
1473 PR libffi/46661
1474 * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
1475 uintptr_t first.
1476 * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
1477
Anthony Greened2c5182011-02-08 10:10:07 -050014782011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
1479
1480 * configure.ac: Fix x86 test for pc related relocs.
Anthony Green09f8f312011-02-28 15:36:07 -05001481 * configure: Rebuilt.
Anthony Greened2c5182011-02-08 10:10:07 -05001482
Anthony Green3b836242011-02-08 14:28:59 -050014832011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1484
1485 * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
1486 Handle case when CPU variant does not have long double support.
1487 * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
1488 and cores with soft floating point.
1489
14902011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1491
1492 * configure.ac: Add mips*-*-rtems* support.
1493 * configure: Regenerate.
1494 * src/mips/ffitarget.h: Ensure needed constants are available
1495 for targets which do not have sgidefs.h.
1496
Anthony Green0e584392011-02-08 07:52:40 -050014972011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
1498
1499 PR target/40125
1500 * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
1501 * configure: Regenerate.
1502
15032010-12-18 Iain Sandoe <iains@gcc.gnu.org>
1504
1505 PR libffi/29152
1506 PR libffi/42378
1507 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
1508 update comments.
1509 * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
1510 (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
1511 * src/powerpc/darwin.S: Provide Darwin64 implementation,
1512 update comments.
1513 * src/powerpc/ffi_darwin.c: Likewise.
1514
15152010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1516
1517 * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
1518 backslashes.
1519 (libffi_cv_as_string_pseudo_op): Likewise.
1520 * configure: Regenerate.
1521
15222010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
1523
1524 * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
1525 (ffi_closure_VFP): Same.
1526 (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
1527 directive.
1528
15292010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1530
1531 * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
1532 (PRIuPTR): Define.
1533
15342010-11-29 Richard Henderson <rth@redhat.com>
1535 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1536
1537 * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
1538 (.eh_frame): Use FDE_ENCODING.
1539 (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
1540
Anthony Green5b9cd522010-11-22 15:19:57 -050015412010-11-22 Jacek Caban <jacek@codeweavers.com>
1542
1543 * configure.ac: Check for symbol underscores on mingw-w64.
1544 * configure: Rebuilt.
1545 * src/x86/win64.S: Correctly access extern symbols in respect to
1546 underscores.
1547
Anthony Green2db72612010-11-21 10:50:56 -050015482010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1549
1550 * testsuite/lib/libffi-dg.exp: Rename ...
1551 * testsuite/lib/libffi.exp: ... to this.
1552 * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
1553 * libffi/testsuite/libffi.special/special.exp: Likewise.
1554
15552010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
1556
1557 * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
1558 code, new parameter, and return value. Update comments.
1559 (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
1560 call to layout_vfp_args().
1561 (ffi_call_SYSV): Update declaration.
1562 (ffi_call_VFP): New declaration.
1563 (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
1564 when ABI is FFI_VFP.
1565 (ffi_closure_VFP): New declaration.
1566 (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
1567 ffi_prep_incoming_args_SYSV().
1568 (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
1569 case handling.
1570 (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
1571 construction under VFP hard-float.
1572 (rec_vfp_type_p): New function.
1573 (vfp_type_p): Same.
1574 (place_vfp_arg): Same.
1575 (layout_vfp_args): Same.
1576 * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
1577 based on __ARM_PCS_VFP.
1578 (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
1579 fields.
1580 (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
1581 (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
1582 * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
1583 direct call. Move function pointer load upwards.
1584 (ffi_call_VFP): New function.
1585 (ffi_closure_VFP): Same.
1586
1587 * testsuite/lib/libffi-dg.exp (check-flags): New function.
1588 (dg-skip-if): New function.
1589 * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
1590 and compiler options include -mfloat-abi=hard.
1591 * testsuite/libffi.call/cls_longdouble_va.c: Same.
1592
15932010-10-01 Jakub Jelinek <jakub@redhat.com>
1594
1595 PR libffi/45677
1596 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
1597 a multiple of 8.
1598 * testsuite/libffi.call/many2.c: New test.
1599
16002010-08-20 Mark Wielaard <mjw@redhat.com>
1601
1602 * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
1603 returns NULL.
1604
16052010-08-09 Andreas Tobler <andreast@fgznet.ch>
1606
1607 * configure.ac: Add target powerpc64-*-freebsd*.
1608 * configure: Regenerate.
1609 * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
1610 -mlong-double-128 only to linux targets.
1611 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1612 * testsuite/libffi.call/cls_longdouble.c: Likewise.
1613 * testsuite/libffi.call/huge_struct.c: Likewise.
1614
Anthony Green00d0b592010-08-05 14:56:53 -040016152010-08-05 Dan Witte <dwitte@mozilla.com>
1616
1617 * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
1618 debug CRT when --enable-debug is given.
1619 * configure.ac: Define it.
1620 * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
1621
Anthony Greenc1d28ba2010-08-05 08:48:16 -040016222010-08-04 Dan Witte <dwitte@mozilla.com>
1623
1624 * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
1625 platforms.
1626 * src/x86/ffi.c: Remove redundant ifdef checks.
1627 * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
1628 for X86_ANY so return value space doesn't get added twice.
1629
Anthony Greenbda487e2010-08-05 09:02:41 -040016302010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
1631
1632 * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
1633
Anthony Greend14178b2010-07-23 09:14:00 -040016342010-07-22 Dan Witte <dwitte@mozilla.com>
1635
1636 * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
1637 * src/prep_cif.c: Fix ABI assertion.
1638 * src/cris/ffi.c: Ditto.
1639
Anthony Greeneaf444e2010-07-10 08:59:09 -040016402010-07-10 Evan Phoenix <evan@fallingsnow.net>
1641
1642 * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
1643
Anthony Green5feacad2010-08-05 08:30:04 -040016442010-07-07 Dan Horák <dan@danny.cz>
1645
1646 * include/ffi.h.in: Protect #define with #ifndef.
1647 * src/powerpc/ffitarget.h: Ditto.
1648 * src/s390/ffitarget.h: Ditto.
1649 * src/sparc/ffitarget.h: Ditto.
1650
Anthony Green2db72612010-11-21 10:50:56 -050016512010-07-07 Neil Roberts <neil@linux.intel.com>
1652
1653 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
1654 16-bytes.
1655
16562010-07-02 Jakub Jelinek <jakub@redhat.com>
1657
1658 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
1659 * Makefile.in: Regenerated.
1660
16612010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1662
1663 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
1664 output, too.
1665 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
1666 (libffi_cv_as_string_pseudo_op): Check for .string.
1667 * configure: Regenerate.
1668 * fficonfig.h.in: Regenerate.
1669 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
1670
Anthony Green10ea8482010-08-05 08:24:27 -040016712010-05-11 Dan Witte <dwitte@mozilla.com>
1672
1673 * doc/libffi.tex: Document previous change.
1674
16752010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
1676
1677 * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
1678
Anthony Green63097412010-05-05 20:14:56 -040016792010-05-05 Michael Kohler <michaelkohler@live.com>
1680
1681 * src/dlmalloc.c (dlfree): Fix spelling.
1682 * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
1683 * configure.ac: Ditto.
1684 * configure: Rebuilt.
1685
Anthony Greenf2c2a4f2010-04-13 10:19:28 -040016862010-04-13 Dan Witte <dwitte@mozilla.com>
1687
1688 * msvcc.sh: Build with -W3 instead of -Wall.
1689 * src/powerpc/ffi_darwin.c: Remove build warnings.
1690 * src/x86/ffi.c: Ditto.
1691 * src/x86/ffitarget.h: Ditto.
1692
Anthony Green2db72612010-11-21 10:50:56 -050016932010-04-12 Dan Witte <dwitte@mozilla.com>
1694 Walter Meinl <wuno@lsvw.de>
Anthony Greenc0b69e52010-03-30 08:30:22 -04001695
Anthony Green2db72612010-11-21 10:50:56 -05001696 * configure.ac: Add OS/2 support.
1697 * configure: Rebuilt.
1698 * src/closures.c: Ditto.
1699 * src/dlmalloc.c: Ditto.
1700 * src/x86/win32.S: Ditto.
Anthony Green3f5b1372010-07-12 14:39:18 -04001701
17022010-04-07 Jakub Jelinek <jakub@redhat.com>
1703
Anthony Green2db72612010-11-21 10:50:56 -05001704 * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
Anthony Green3f5b1372010-07-12 14:39:18 -04001705
17062010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1707
1708 * Makefile.in: Regenerate.
1709 * aclocal.m4: Regenerate.
1710 * include/Makefile.in: Regenerate.
1711 * man/Makefile.in: Regenerate.
1712 * testsuite/Makefile.in: Regenerate.
1713
Anthony Green2db72612010-11-21 10:50:56 -050017142010-03-30 Dan Witte <dwitte@mozilla.com>
1715
1716 * msvcc.sh: Disable build warnings.
1717 * README (tested): Clarify windows build procedure.
1718
Anthony Green3f5b1372010-07-12 14:39:18 -040017192010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1720
1721 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
1722 * configure: Regenerate.
1723 * fficonfig.h.in: Regenerate.
1724 * libffi/src/x86/unix64.S (.eh_frame)
1725 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
1726
Anthony Green2db72612010-11-21 10:50:56 -050017272010-03-14 Matthias Klose <doko@ubuntu.com>
1728
1729 * src/x86/ffi64.c: Fix typo in comment.
1730 * src/x86/ffi.c: Use /* ... */ comment style.
1731
Anthony Green9dc9a292010-04-13 10:33:52 -040017322010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1733
1734 * doc/libffi.texi (The Closure API): Fix typo.
1735 * doc/libffi.info: Remove.
1736
17372010-02-15 Matthias Klose <doko@ubuntu.com>
1738
1739 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
1740 __ARM_ARCH_7EM__.
1741
Anthony Green2db72612010-11-21 10:50:56 -050017422010-01-15 Anthony Green <green@redhat.com>
1743
1744 * README: Add notes on building with Microsoft Visual C++.
1745
17462010-01-15 Daniel Witte <dwitte@mozilla.com>
1747
1748 * msvcc.sh: New file.
1749
1750 * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
1751 * src/x86/ffi.c: Tweak function declaration and remove excess
1752 parens.
1753 * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
1754 ffi_closure.
1755
1756 * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
1757 function ffi_call_win32 on X86_WIN32.
1758 * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
1759 (ffi_call_STDCALL): Remove.
1760
1761 * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
1762 to ffi_prep_cif_machdep for x86.
1763 * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
1764
17652010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
1766
1767 * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
Anthony Green0e584392011-02-08 07:52:40 -05001768 Sun Studio compiler compatibility.
Anthony Green2db72612010-11-21 10:50:56 -05001769
17702010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
1771
1772 * doc/libffi.texi: Add closure example.
1773
Anthony Green7b7a42f2010-01-12 09:14:14 -050017742010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1775
1776 PR libffi/40701
1777 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
1778 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
1779 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
1780 alpha*-dec-osf*.
1781 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
1782 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1783 * testsuite/libffi.call/return_ll1.c: Likewise.
1784 * testsuite/libffi.call/stret_medium2.c: Likewise.
1785 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
1786 MAP_FAILED to char *.
1787
17882010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1789
1790 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
1791
Anthony Greenc3042af2010-01-01 08:08:02 -050017922009-12-31 Anthony Green <green@redhat.com>
1793
1794 * README: Update for libffi 3.0.9.
1795
17962009-12-27 Matthias Klose <doko@ubuntu.com>
1797
1798 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
1799 appropriate.
1800 * configure: Rebuilt.
1801
18022009-12-26 Anthony Green <green@redhat.com>
1803
1804 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
1805 avr32*-*-*.
1806 * testsuite/libffi.call/cls_double_va.c: Ditto.
1807
18082009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1809
1810 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
1811 and inttypes.h.
1812 * testsuite/libffi.special/unwindtest.cc: Ditto.
1813
18142009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1815
1816 * configure.ac: Add amd64-*-openbsd*.
1817 * configure: Rebuilt.
1818 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
1819 openbsd programs with -lpthread.
1820
18212009-12-26 Anthony Green <green@redhat.com>
1822
1823 * testsuite/libffi.call/cls_double_va.c,
1824 testsuite/libffi.call/cls_longdouble.c,
1825 testsuite/libffi.call/cls_longdouble_va.c,
1826 testsuite/libffi.call/cls_pointer.c,
1827 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
1828 mips*-*-* and arm*-*-*.
1829 * testsuite/libffi.call/cls_align_longdouble_split.c,
1830 testsuite/libffi.call/cls_align_longdouble_split2.c,
1831 testsuite/libffi.call/stret_medium2.c,
1832 testsuite/libffi.call/stret_medium.c,
1833 testsuite/libffi.call/stret_large.c,
1834 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
1835
18362009-12-31 Kay Tietz <ktietz70@googlemail.com>
1837
1838 * testsuite/libffi.call/ffitest.h,
1839 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
1840 definitions.
1841
18422009-12-31 Carlo Bramini <carlo.bramix@libero.it>
1843
1844 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
1845 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
1846 * configure: Rebuilt.
1847 * Makefile.in: Rebuilt.
1848
18492009-12-31 Anthony Green <green@redhat.com>
1850 Blake Chaffin.
1851
1852 * testsuite/libffi.call/huge_struct.c: New test case from Blake
1853 Chaffin @ Apple.
1854
Anthony Green0cfe60e2009-12-29 10:06:04 -050018552009-12-28 David Edelsohn <edelsohn@gnu.org>
1856
1857 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1858 local variables.
1859 (aix_adjust_aggregate_sizes): New function.
1860 (ffi_prep_cif_machdep): Call it.
1861
18622009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1863
1864 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1865 * configure: Regenerate.
1866 * fficonfig.h.in: Likewise.
1867 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1868 Solaris/x86.
1869
18702009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1871
1872 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1873 when a float arguments is passed in memory.
1874 (ffi_closure_helper_SYSV): Mark general registers as used up when
1875 a 64bit or soft-float long double argument is passed in memory.
1876
Anthony Green9458d882009-12-26 07:02:27 -050018772009-12-25 Matthias Klose <doko@ubuntu.com>
1878
1879 * man/ffi_call.3: Fix #include in examples.
1880 * doc/libffi.texi: Add dircategory.
1881
18822009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1883
1884 * include/ffi.h.in: Placed '__GNUC__' ifdef around
1885 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1886 IRIX MIPSPro c99.
1887 * include/ffi_common.h: Added '__sgi' define to non
1888 '__attribute__((__mode__()))' integer typedefs.
Anthony Green0cfe60e2009-12-29 10:06:04 -05001889 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
Anthony Green9458d882009-12-26 07:02:27 -05001890 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1891 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1892 FFI_LONGDOUBLE support and alignment(N32 only).
1893 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1894 fixed non '__attribute__((__mode__()))' integer typedefs.
1895 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1896 since they are Linux/GNU Assembler specific.
1897
18982009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1899
1900 * configure.ac, Makefile.am, src/avr32/ffi.c,
1901 src/avr32/ffitarget.h,
1902 src/avr32/sysv.S: Add AVR32 port.
1903 * configure, Makefile.in: Rebuilt.
1904
Anthony Green115ab362009-12-24 00:22:00 -050019052009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1906
1907 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1908 * configure: Regenerate.
1909
19102009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1911
1912 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1913
19142009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1915
1916 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1917 type on HP-UX.
1918
Anthony Green7c5e60b2012-03-29 08:48:22 -040019192012-02-13 Kai Tietz <ktietz@redhat.com>
1920
1921 PR libffi/52221
1922 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1923 support for X86_WIN32.
1924 (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1925
Anthony Green115ab362009-12-24 00:22:00 -050019262009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1927
1928 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1929 double' arguments.
1930
19312009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1932
1933 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1934
19352009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1936
1937 PR libffi/40700
1938 * src/closures.c [X86_64 && __sun__ && __svr4__]
1939 (FFI_MMAP_EXEC_WRIT): Define.
1940
19412009-12-08 David Daney <ddaney@caviumnetworks.com>
1942
1943 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1944 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1945 * testsuite/libffi.call/stret_large.c: Same.
1946 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1947 * testsuite/libffi.call/stret_large2.c: Same.
1948 * testsuite/libffi.call/stret_medium2.c: Same.
1949
19502009-12-07 David Edelsohn <edelsohn@gnu.org>
1951
1952 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1953 typo.
1954
19552009-12-05 David Edelsohn <edelsohn@gnu.org>
1956
1957 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1958 code.
1959 * src/powerpc/aix_closure.S: Same.
1960
19612009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1962
1963 * Makefile.in: Regenerate.
1964 * configure: Regenerate.
1965 * include/Makefile.in: Regenerate.
1966 * man/Makefile.in: Regenerate.
1967 * testsuite/Makefile.in: Regenerate.
1968
19692009-12-04 David Edelsohn <edelsohn@gnu.org>
1970
1971 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
Anthony Green0cfe60e2009-12-29 10:06:04 -05001972 linux64_closure.S.
Anthony Green115ab362009-12-24 00:22:00 -05001973
19742009-12-04 Uros Bizjak <ubizjak@gmail.com>
1975
1976 PR libffi/41908
1977 * src/x86/ffi64.c (classify_argument): Update from
1978 gcc/config/i386/i386.c.
1979 (ffi_closure_unix64_inner): Do not use the address of two consecutive
1980 SSE registers directly.
1981 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1982 for x86_64 linux targets.
1983
19842009-12-04 David Edelsohn <edelsohn@gnu.org>
1985
1986 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1987 pfr for long double split between fpr13 and stack.
1988
19892009-12-03 David Edelsohn <edelsohn@gnu.org>
1990
1991 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1992 fparg_count twice for long double.
1993
19942009-12-03 David Edelsohn <edelsohn@gnu.org>
1995
1996 PR libffi/42243
1997 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1998
19992009-12-03 Uros Bizjak <ubizjak@gmail.com>
2000
2001 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
2002 Remove xfails for x86 linux targets.
2003
20042009-12-02 David Edelsohn <edelsohn@gnu.org>
2005
2006 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
2007 case.
2008
20092009-12-01 David Edelsohn <edelsohn@gnu.org>
2010
2011 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
2012 register usage. Call ffi_prep_args directly. Add long double
2013 return value support.
2014 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
2015 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
2016 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
2017 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
2018 mode.
2019 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
2020 into case.
2021 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
2022 Allocate result area between params and FPRs.
2023
20242009-11-30 David Edelsohn <edelsohn@gnu.org>
2025
2026 PR target/35484
2027 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
2028 AIX64.
2029 * src/powerpc/aix.S: Implement AIX64 version.
2030 * src/powerpc/aix_closure.S: Implement AIX64 version.
2031 (ffi_closure_ASM): Use extsb, lha and displament addresses.
2032 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
2033 support.
2034 (ffi_prep_cif_machdep): Same.
2035 (ffi_call): Same.
2036 (ffi_closure_helper_DARWIN): Same.
2037
20382009-11-02 Andreas Tobler <a.tobler@schweiz.org>
2039
2040 PR libffi/41908
2041 * testsuite/libffi.call/testclosure.c: New test.
2042
Anthony Greenc6dddbd2009-10-04 08:11:33 -040020432009-09-28 Kai Tietz <kai.tietz@onevision.com>
2044
2045 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
2046 assembly version use of ___chkstk.
2047
20482009-09-23 Matthias Klose <doko@ubuntu.com>
2049
2050 PR libffi/40242, PR libffi/41443
2051 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
2052 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
2053 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
2054 Change the conditionals to __SOFTFP__ || __ARM_EABI__
2055 for -mfloat-abi=softfp to work.
2056
20572009-09-17 Loren J. Rittle <ljrittle@acm.org>
2058
2059 PR testsuite/32843 (strikes again)
2060 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
2061 enable proper extension on char and short.
2062
20632009-09-15 David Daney <ddaney@caviumnetworks.com>
2064
2065 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
2066 handling for FFI_TYPE_POINTER.
2067 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
2068 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
2069 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
2070 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
2071 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
2072 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
2073 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
2074 structure and pointer returns.
2075 (ffi_closure_N32): Add handling for pointer returns.
2076 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
2077 calc_n32_return_struct_flags): Handle soft-float.
2078 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
2079 (ffi_call_N32): Declare proper argument types.
2080 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
2081 soft-float.
2082
20832009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2084
2085 * configure.ac (AC_PREREQ): Bump to 2.64.
2086
20872009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2088
2089 * Makefile.am (install-html, install-pdf): Remove.
2090 * Makefile.in: Regenerate.
2091
2092 * Makefile.in: Regenerate.
2093 * aclocal.m4: Regenerate.
2094 * configure: Regenerate.
2095 * fficonfig.h.in: Regenerate.
2096 * include/Makefile.in: Regenerate.
2097 * man/Makefile.in: Regenerate.
2098 * testsuite/Makefile.in: Regenerate.
2099
Anthony Green3d561062011-11-12 07:20:24 -050021002011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
2101
2102 * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
2103 * configure: Rebuilt.
2104
Anthony Greenc6dddbd2009-10-04 08:11:33 -040021052009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2106
2107 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
2108
21092009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
2110
2111 PR libffi/40807
2112 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
2113 return types for X86_WIN32.
2114 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
2115 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
2116 _ffi_closure_STDCALL): Likewise.
2117
2118 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
2119 (dlmmap, dlmunmap): Also use these functions on Cygwin.
2120
21212009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
2122
2123 PR testsuite/40699
2124 PR testsuite/40707
2125 PR testsuite/40709
2126 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
2127 2009-06-30 commits.
2128
21292009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
2130
2131 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
2132 to "" before adding paths. (This reinstates an assignment that
2133 was removed by my 2009-06-30 commit, but changes the initial
2134 value from "." to "".)
2135
21362009-07-01 H.J. Lu <hongjiu.lu@intel.com>
2137
2138 PR testsuite/40601
2139 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
2140 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
2141 empty.
2142
21432009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
2144
2145 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
2146 to ld_library_path. Use add_path. Add just find_libgcc_s
2147 to ld_library_path, not every libgcc multilib directory.
2148
21492009-06-16 Wim Lewis <wiml@hhhh.org>
2150
2151 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
2152 supposed to be callee-saved.
2153 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
2154 return buffer for odd-size structs.
2155
21562009-06-16 Andreas Tobler <a.tobler@schweiz.org>
2157
2158 PR libffi/40444
2159 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
2160 allow_stack_execute for Darwin.
2161
21622009-06-16 Andrew Haley <aph@redhat.com>
2163
2164 * configure.ac (TARGETDIR): Add missing blank lines.
2165 * configure: Regenerate.
2166
21672009-06-16 Andrew Haley <aph@redhat.com>
2168
2169 * testsuite/libffi.call/cls_align_sint64.c,
2170 testsuite/libffi.call/cls_align_uint64.c,
2171 testsuite/libffi.call/cls_longdouble_va.c,
2172 testsuite/libffi.call/cls_ulonglong.c,
2173 testsuite/libffi.call/return_ll1.c,
2174 testsuite/libffi.call/stret_medium2.c: Fix printf format
2175 specifiers.
2176 * testsuite/libffi.call/ffitest.h,
2177 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
2178
21792009-06-15 Andrew Haley <aph@redhat.com>
2180
2181 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
2182 * testsuite/libffi.call/err_bad_abi.c: Likewise.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002183
Anthony Greenc6dddbd2009-10-04 08:11:33 -040021842009-06-12 Andrew Haley <aph@redhat.com>
2185
2186 * Makefile.am: Remove info_TEXINFOS.
2187
21882009-06-12 Andrew Haley <aph@redhat.com>
2189
2190 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
2191 testsuite/libffi.call/cls_align_uint64.c,
2192 testsuite/libffi.call/cls_ulonglong.c,
2193 testsuite/libffi.call/return_ll1.c,
2194 testsuite/libffi.call/stret_medium2.c: Fix printf format
2195 specifiers.
2196 testsuite/libffi.special/unwindtest.cc: include stdint.h.
2197
21982009-06-11 Timothy Wall <twall@users.sf.net>
2199
2200 * Makefile.am,
Anthony Green0cfe60e2009-12-29 10:06:04 -05002201 configure.ac,
2202 include/ffi.h.in,
2203 include/ffi_common.h,
2204 src/closures.c,
2205 src/dlmalloc.c,
2206 src/x86/ffi.c,
2207 src/x86/ffitarget.h,
2208 src/x86/win64.S (new),
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002209 README: Added win64 support (mingw or MSVC)
Anthony Green0cfe60e2009-12-29 10:06:04 -05002210 * Makefile.in,
2211 include/Makefile.in,
2212 man/Makefile.in,
2213 testsuite/Makefile.in,
2214 configure,
2215 aclocal.m4: Regenerated
2216 * ltcf-c.sh: properly escape cygwin/w32 path
2217 * man/ffi_call.3: Clarify size requirements for return value.
2218 * src/x86/ffi64.c: Fix filename in comment.
2219 * src/x86/win32.S: Remove unused extern.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002220
Anthony Green0cfe60e2009-12-29 10:06:04 -05002221 * testsuite/libffi.call/closure_fn0.c,
2222 testsuite/libffi.call/closure_fn1.c,
2223 testsuite/libffi.call/closure_fn2.c,
2224 testsuite/libffi.call/closure_fn3.c,
2225 testsuite/libffi.call/closure_fn4.c,
2226 testsuite/libffi.call/closure_fn5.c,
2227 testsuite/libffi.call/closure_fn6.c,
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002228 testsuite/libffi.call/closure_stdcall.c,
2229 testsuite/libffi.call/cls_12byte.c,
2230 testsuite/libffi.call/cls_16byte.c,
2231 testsuite/libffi.call/cls_18byte.c,
2232 testsuite/libffi.call/cls_19byte.c,
2233 testsuite/libffi.call/cls_1_1byte.c,
2234 testsuite/libffi.call/cls_20byte.c,
2235 testsuite/libffi.call/cls_20byte1.c,
2236 testsuite/libffi.call/cls_24byte.c,
2237 testsuite/libffi.call/cls_2byte.c,
2238 testsuite/libffi.call/cls_3_1byte.c,
2239 testsuite/libffi.call/cls_3byte1.c,
2240 testsuite/libffi.call/cls_3byte2.c,
2241 testsuite/libffi.call/cls_4_1byte.c,
2242 testsuite/libffi.call/cls_4byte.c,
2243 testsuite/libffi.call/cls_5_1_byte.c,
2244 testsuite/libffi.call/cls_5byte.c,
2245 testsuite/libffi.call/cls_64byte.c,
2246 testsuite/libffi.call/cls_6_1_byte.c,
2247 testsuite/libffi.call/cls_6byte.c,
2248 testsuite/libffi.call/cls_7_1_byte.c,
2249 testsuite/libffi.call/cls_7byte.c,
2250 testsuite/libffi.call/cls_8byte.c,
2251 testsuite/libffi.call/cls_9byte1.c,
2252 testsuite/libffi.call/cls_9byte2.c,
2253 testsuite/libffi.call/cls_align_double.c,
2254 testsuite/libffi.call/cls_align_float.c,
2255 testsuite/libffi.call/cls_align_longdouble.c,
2256 testsuite/libffi.call/cls_align_longdouble_split.c,
2257 testsuite/libffi.call/cls_align_longdouble_split2.c,
2258 testsuite/libffi.call/cls_align_pointer.c,
2259 testsuite/libffi.call/cls_align_sint16.c,
2260 testsuite/libffi.call/cls_align_sint32.c,
2261 testsuite/libffi.call/cls_align_sint64.c,
2262 testsuite/libffi.call/cls_align_uint16.c,
2263 testsuite/libffi.call/cls_align_uint32.c,
2264 testsuite/libffi.call/cls_align_uint64.c,
2265 testsuite/libffi.call/cls_dbls_struct.c,
2266 testsuite/libffi.call/cls_double.c,
2267 testsuite/libffi.call/cls_double_va.c,
2268 testsuite/libffi.call/cls_float.c,
2269 testsuite/libffi.call/cls_longdouble.c,
2270 testsuite/libffi.call/cls_longdouble_va.c,
2271 testsuite/libffi.call/cls_multi_schar.c,
2272 testsuite/libffi.call/cls_multi_sshort.c,
2273 testsuite/libffi.call/cls_multi_sshortchar.c,
2274 testsuite/libffi.call/cls_multi_uchar.c,
2275 testsuite/libffi.call/cls_multi_ushort.c,
2276 testsuite/libffi.call/cls_multi_ushortchar.c,
2277 testsuite/libffi.call/cls_pointer.c,
2278 testsuite/libffi.call/cls_pointer_stack.c,
2279 testsuite/libffi.call/cls_schar.c,
2280 testsuite/libffi.call/cls_sint.c,
2281 testsuite/libffi.call/cls_sshort.c,
2282 testsuite/libffi.call/cls_uchar.c,
2283 testsuite/libffi.call/cls_uint.c,
2284 testsuite/libffi.call/cls_ulonglong.c,
2285 testsuite/libffi.call/cls_ushort.c,
2286 testsuite/libffi.call/err_bad_abi.c,
2287 testsuite/libffi.call/err_bad_typedef.c,
2288 testsuite/libffi.call/float2.c,
2289 testsuite/libffi.call/huge_struct.c,
2290 testsuite/libffi.call/nested_struct.c,
2291 testsuite/libffi.call/nested_struct1.c,
2292 testsuite/libffi.call/nested_struct10.c,
2293 testsuite/libffi.call/nested_struct2.c,
2294 testsuite/libffi.call/nested_struct3.c,
2295 testsuite/libffi.call/nested_struct4.c,
2296 testsuite/libffi.call/nested_struct5.c,
2297 testsuite/libffi.call/nested_struct6.c,
2298 testsuite/libffi.call/nested_struct7.c,
2299 testsuite/libffi.call/nested_struct8.c,
2300 testsuite/libffi.call/nested_struct9.c,
2301 testsuite/libffi.call/problem1.c,
2302 testsuite/libffi.call/return_ldl.c,
2303 testsuite/libffi.call/return_ll1.c,
2304 testsuite/libffi.call/stret_large.c,
2305 testsuite/libffi.call/stret_large2.c,
2306 testsuite/libffi.call/stret_medium.c,
2307 testsuite/libffi.call/stret_medium2.c,
Anthony Green0cfe60e2009-12-29 10:06:04 -05002308 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
2309 of checking for MMAP. Use intptr_t instead of long casts.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002310
23112009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
2312
2313 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
2314 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
2315 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
2316
23172009-06-09 Andrew Haley <aph@redhat.com>
2318
2319 * src/x86/freebsd.S: Add missing file.
2320
23212009-06-08 Andrew Haley <aph@redhat.com>
2322
2323 Import from libffi 3.0.8:
2324
2325 * doc/libffi.texi: New file.
2326 * doc/libffi.info: Likewise.
2327 * doc/stamp-vti: Likewise.
2328 * man/Makefile.am: New file.
2329 * man/ffi_call.3: New file.
2330
2331 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
2332 src/dlmalloc.c.
2333 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
2334
2335 * configure.ac: Bump version to 3.0.8.
2336 parisc*-*-linux*: Add.
2337 i386-*-freebsd* | i386-*-openbsd*: Add.
2338 powerpc-*-beos*: Add.
2339 AM_CONDITIONAL X86_FREEBSD: Add.
2340 AC_CONFIG_FILES: Add man/Makefile.
2341
2342 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
2343
23442009-06-08 Andrew Haley <aph@redhat.com>
2345
2346 * README: Import from libffi 3.0.8.
2347
23482009-06-08 Andrew Haley <aph@redhat.com>
2349
2350 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
2351 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
2352 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
2353 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
2354
2355 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
2356 * testsuite/libffi.call/stret_medium.c: Likewise.
2357 * testsuite/libffi.call/stret_large2.c: Likewise.
2358 * testsuite/libffi.call/stret_large.c: Likewise.
2359
23602008-12-26 Timothy Wall <twall@users.sf.net>
2361
Anthony Green0cfe60e2009-12-29 10:06:04 -05002362 * testsuite/libffi.call/cls_longdouble.c,
2363 testsuite/libffi.call/cls_longdouble_va.c,
2364 testsuite/libffi.call/cls_align_longdouble.c,
2365 testsuite/libffi.call/cls_align_longdouble_split.c,
2366 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
2367 failures on x86_64 cygwin/mingw.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002368
23692008-12-22 Timothy Wall <twall@users.sf.net>
2370
Anthony Green0cfe60e2009-12-29 10:06:04 -05002371 * testsuite/libffi.call/closure_fn0.c,
2372 testsuite/libffi.call/closure_fn1.c,
2373 testsuite/libffi.call/closure_fn2.c,
2374 testsuite/libffi.call/closure_fn3.c,
2375 testsuite/libffi.call/closure_fn4.c,
2376 testsuite/libffi.call/closure_fn5.c,
2377 testsuite/libffi.call/closure_fn6.c,
2378 testsuite/libffi.call/closure_loc_fn0.c,
2379 testsuite/libffi.call/closure_stdcall.c,
2380 testsuite/libffi.call/cls_align_pointer.c,
2381 testsuite/libffi.call/cls_pointer.c,
2382 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
2383 pointer to integer (intptr_t).
2384 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002385
23862008-07-24 Anthony Green <green@redhat.com>
2387
Anthony Green0cfe60e2009-12-29 10:06:04 -05002388 * testsuite/libffi.call/cls_dbls_struct.c,
2389 testsuite/libffi.call/cls_double_va.c,
2390 testsuite/libffi.call/cls_longdouble.c,
2391 testsuite/libffi.call/cls_longdouble_va.c,
2392 testsuite/libffi.call/cls_pointer.c,
2393 testsuite/libffi.call/cls_pointer_stack.c,
2394 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
2395 compiler warnings.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002396
23972008-03-04 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05002398 Blake Chaffin
2399 hos@tamanegi.org
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002400
Anthony Green0cfe60e2009-12-29 10:06:04 -05002401 * testsuite/libffi.call/cls_align_longdouble_split2.c
2402 testsuite/libffi.call/cls_align_longdouble_split.c
2403 testsuite/libffi.call/cls_dbls_struct.c
2404 testsuite/libffi.call/cls_double_va.c
2405 testsuite/libffi.call/cls_longdouble.c
2406 testsuite/libffi.call/cls_longdouble_va.c
2407 testsuite/libffi.call/cls_pointer.c
2408 testsuite/libffi.call/cls_pointer_stack.c
2409 testsuite/libffi.call/err_bad_abi.c
2410 testsuite/libffi.call/err_bad_typedef.c
2411 testsuite/libffi.call/stret_large2.c
2412 testsuite/libffi.call/stret_large.c
2413 testsuite/libffi.call/stret_medium2.c
2414 testsuite/libffi.call/stret_medium.c: New tests from Apple.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002415
24162009-06-05 Andrew Haley <aph@redhat.com>
2417
2418 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
2419 libffi.
2420
24212009-06-04 Andrew Haley <aph@redhat.com>
2422
2423 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
2424 stdcall changes.
2425
24262008-02-26 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05002427 Thomas Heller <theller@ctypes.org>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002428
Anthony Green0cfe60e2009-12-29 10:06:04 -05002429 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
2430 comment.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002431
24322008-02-03 Timothy Wall <twall@users.sf.net>
2433
Anthony Green0cfe60e2009-12-29 10:06:04 -05002434 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
2435 offset based on code pointer, not data pointer.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002436
24372008-01-31 Timothy Wall <twall@users.sf.net>
2438
Anthony Green0cfe60e2009-12-29 10:06:04 -05002439 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
2440 closures.
2441 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
2442 closures.
2443 * src/x86/win32.S: Add assembly for stdcall closure.
2444 * src/x86/ffi.c: Initialize stdcall closure trampoline.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002445
24462009-06-04 Andrew Haley <aph@redhat.com>
2447
2448 * include/ffi.h.in: Change void (*)() to void (*)(void).
2449 * src/x86/ffi.c: Likewise.
2450
24512009-06-04 Andrew Haley <aph@redhat.com>
2452
2453 * src/powerpc/ppc_closure.S: Insert licence header.
2454 * src/powerpc/linux64_closure.S: Likewise.
2455 * src/m68k/sysv.S: Likewise.
2456
2457 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
2458 * src/powerpc/ffi.c: Likewise.
2459 * src/powerpc/ffi_darwin.c: Likewise.
2460 * src/m32r/ffi.c: Likewise.
2461 * src/sh64/ffi.c: Likewise.
2462 * src/x86/ffi64.c: Likewise.
2463 * src/alpha/ffi.c: Likewise.
2464 * src/alpha/osf.S: Likewise.
2465 * src/frv/ffi.c: Likewise.
2466 * src/s390/ffi.c: Likewise.
2467 * src/pa/ffi.c: Likewise.
2468 * src/pa/hpux32.S: Likewise.
2469 * src/ia64/unix.S: Likewise.
2470 * src/ia64/ffi.c: Likewise.
2471 * src/sparc/ffi.c: Likewise.
2472 * src/mips/ffi.c: Likewise.
2473 * src/sh/ffi.c: Likewise.
2474
24752008-02-15 David Daney <ddaney@avtrex.com>
2476
Anthony Green0cfe60e2009-12-29 10:06:04 -05002477 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
2478 Define (conditionally), and use it to include cachectl.h.
2479 (ffi_prep_closure_loc): Fix cache flushing.
2480 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002481
24822009-06-04 Andrew Haley <aph@redhat.com>
2483
2484 include/ffi.h.in,
2485 src/arm/ffitarget.h,
2486 src/arm/ffi.c,
2487 src/arm/sysv.S,
2488 src/powerpc/ffitarget.h,
2489 src/closures.c,
2490 src/sh64/ffitarget.h,
2491 src/sh64/ffi.c,
2492 src/sh64/sysv.S,
2493 src/types.c,
2494 src/x86/ffi64.c,
2495 src/x86/ffitarget.h,
2496 src/x86/win32.S,
2497 src/x86/darwin.S,
2498 src/x86/ffi.c,
2499 src/x86/sysv.S,
2500 src/x86/unix64.S,
2501 src/alpha/ffitarget.h,
2502 src/alpha/ffi.c,
2503 src/alpha/osf.S,
2504 src/m68k/ffitarget.h,
2505 src/frv/ffitarget.h,
2506 src/frv/ffi.c,
2507 src/s390/ffitarget.h,
2508 src/s390/sysv.S,
2509 src/cris/ffitarget.h,
2510 src/pa/linux.S,
2511 src/pa/ffitarget.h,
2512 src/pa/ffi.c,
2513 src/raw_api.c,
2514 src/ia64/ffitarget.h,
2515 src/ia64/unix.S,
2516 src/ia64/ffi.c,
2517 src/ia64/ia64_flags.h,
2518 src/java_raw_api.c,
2519 src/debug.c,
2520 src/sparc/v9.S,
2521 src/sparc/ffitarget.h,
2522 src/sparc/ffi.c,
2523 src/sparc/v8.S,
2524 src/mips/ffitarget.h,
2525 src/mips/n32.S,
2526 src/mips/o32.S,
2527 src/mips/ffi.c,
2528 src/prep_cif.c,
2529 src/sh/ffitarget.h,
2530 src/sh/ffi.c,
2531 src/sh/sysv.S: Update license text.
2532
25332009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2534
2535 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
2536 (.eh_frame): Add FDE for it.
2537
25382009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2539
2540 * configure.ac: Also check if assembler supports pc-relative
2541 relocs on X86_WIN32 targets.
2542 * configure: Regenerate.
2543 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
2544 (_ffi_call_SYSV): Add missing function type symbol .def and
2545 add EH markup labels.
2546 (_ffi_call_STDCALL): Likewise.
2547 (_ffi_closure_SYSV): Likewise.
2548 (_ffi_closure_raw_SYSV): Likewise.
2549 (.eh_frame): Add hand-crafted EH data.
2550
25512009-04-09 Jakub Jelinek <jakub@redhat.com>
2552
2553 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
2554 version 3 of the GNU General Public License and to point readers
2555 at the COPYING3 file and the FSF's license web page.
2556 * testsuite/libffi.call/call.exp: Likewise.
2557 * testsuite/libffi.special/special.exp: Likewise.
2558
25592009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2560
2561 * configure: Regenerate.
2562
25632008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2564
2565 PR libffi/26048
2566 * configure.ac (HAVE_AS_X86_PCREL): New test.
2567 * configure: Regenerate.
2568 * fficonfig.h.in: Regenerate.
2569 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
2570 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
2571 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
2572 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2573 * src/x86/unix64.S (.Lstore_table): Move to .text section.
2574 (.Lload_table): Likewise.
2575 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2576
25772008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2578
2579 * configure: Regenerate.
2580
25812008-11-21 Eric Botcazou <ebotcazou@adacore.com>
2582
2583 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
2584 signed/unsigned int8/16 return values.
2585 * src/sparc/v8.S (ffi_call_v8): Likewise.
2586 (ffi_closure_v8): Likewise.
2587
25882008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05002589 Steve Ellcey <sje@cup.hp.com>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002590
2591 * configure: Regenerate for new libtool.
2592 * Makefile.in: Ditto.
2593 * include/Makefile.in: Ditto.
2594 * aclocal.m4: Ditto.
2595
25962008-08-25 Andreas Tobler <a.tobler@schweiz.org>
2597
2598 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
2599 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
2600 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
2601 Adjust copyright notice.
2602 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
2603 register or two register to use for FFI_SYSV structs.
2604 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
2605 (ffi_closure_helper_SYSV): Fix the return type for
2606 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
2607 Adjust copyright notice.
2608
26092008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
2610
2611 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
2612 int.
2613
26142008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2615
2616 * configure: Regenerate.
2617 * include/Makefile.in: Regenerate.
2618 * testsuite/Makefile.in: Regenerate.
2619
26202008-06-07 Joseph Myers <joseph@codesourcery.com>
2621
2622 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
2623 powerpc-*-beos*): Remove.
2624 * configure: Regenerate.
2625
26262008-05-09 Julian Brown <julian@codesourcery.com>
2627
2628 * Makefile.am (LTLDFLAGS): New.
2629 (libffi_la_LDFLAGS): Use above.
2630 * Makefile.in: Regenerate.
2631
26322008-04-18 Paolo Bonzini <bonzini@gnu.org>
2633
2634 PR bootstrap/35457
2635 * aclocal.m4: Regenerate.
2636 * configure: Regenerate.
2637
26382008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
2639
2640 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
2641 * src/sh64/sysv.S: Likewise.
2642
26432008-03-26 Daniel Jacobowitz <dan@debian.org>
2644
2645 * src/arm/sysv.S: Fix ARM comment marker.
2646
26472008-03-26 Jakub Jelinek <jakub@redhat.com>
2648
2649 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
2650 * src/s390/sysv.S: Likewise.
2651 * src/powerpc/ppc_closure.S: Likewise.
2652 * src/powerpc/sysv.S: Likewise.
2653 * src/x86/unix64.S: Likewise.
2654 * src/x86/sysv.S: Likewise.
2655 * src/sparc/v8.S: Likewise.
2656 * src/sparc/v9.S: Likewise.
2657 * src/m68k/sysv.S: Likewise.
2658 * src/arm/sysv.S: Likewise.
2659
26602008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2661
2662 * aclocal.m4: Regenerate.
2663 * configure: Likewise.
2664 * Makefile.in: Likewise.
2665 * include/Makefile.in: Likewise.
2666 * testsuite/Makefile.in: Likewise.
2667
26682008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
2669 Andreas Tobler <a.tobler@schweiz.org>
2670
2671 * configure.ac: Add amd64-*-freebsd* target.
2672 * configure: Regenerate.
2673
26742008-01-30 H.J. Lu <hongjiu.lu@intel.com>
2675
2676 PR libffi/34612
2677 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
2678 returning struct.
2679
2680 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
2681 tests.
2682
26832008-01-24 David Edelsohn <edelsohn@gnu.org>
2684
2685 * configure: Regenerate.
2686
26872008-01-06 Andreas Tobler <a.tobler@schweiz.org>
2688
2689 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
2690
26912008-01-05 Andreas Tobler <a.tobler@schweiz.org>
2692
2693 PR testsuite/32843
2694 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
2695 signed/unsigned int8/16 for X86_DARWIN.
2696 Updated copyright info.
2697 Handle one and two byte structs with special cif->flags.
2698 * src/x86/ffitarget.h: Add special types for one and two byte structs.
2699 Updated copyright info.
2700 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
2701 sysv.S
2702 Remove code to pop args from the stack after call.
2703 Special-case signed/unsigned for int8/16, one and two byte structs.
2704 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2705 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2706 FFI_TYPE_SINT32.
2707 Updated copyright info.
2708
27092007-12-08 David Daney <ddaney@avtrex.com>
2710
Anthony Green0cfe60e2009-12-29 10:06:04 -05002711 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002712 SUBU, add with ADDU and use smaller code sequences.
2713
27142007-12-07 David Daney <ddaney@avtrex.com>
2715
2716 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
2717 type.
2718
27192007-12-06 David Daney <ddaney@avtrex.com>
2720
2721 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
2722 defined.
2723 (ffi_java_raw): New typedef.
2724 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
2725 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
2726 ffi_java_raw.
2727 (ffi_java_raw_closure) : Same.
2728 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
2729 parameter types.
2730 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
2731 FFI_SIZEOF_JAVA_RAW.
2732 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
2733 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
2734 sizeof(ffi_java_raw) for alignment calculations.
2735 (ffi_java_ptrarray_to_raw): Same.
2736 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
Anthony Green0cfe60e2009-12-29 10:06:04 -05002737 if FFI_SIZEOF_JAVA_RAW == 4.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002738 (ffi_java_raw_to_rvalue): Same.
2739 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
2740 (ffi_java_translate_args): Same.
2741 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
2742 parameter types.
2743 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
2744
27452007-12-06 David Daney <ddaney@avtrex.com>
2746
Anthony Green0cfe60e2009-12-29 10:06:04 -05002747 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002748 pointer values.
2749
27502007-12-01 Andreas Tobler <a.tobler@schweiz.org>
2751
2752 PR libffi/31937
2753 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
2754 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
2755 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
2756 set the NUM_FPR_ARG_REGISTERS according to.
2757 Add support for potential soft-float support under hard-float
2758 architecture.
2759 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
2760 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
2761 to the FFI_LINUX_SOFT_FLOAT ABI.
2762 (ffi_prep_cif_machdep): Likewise.
2763 (ffi_closure_helper_SYSV): Likewise.
2764 * src/powerpc/ppc_closure.S: Make sure not to store float/double
2765 on archs where __NO_FPRS__ is true.
2766 Add FFI_TYPE_UINT128 support.
2767 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
2768 Adjust copyright notice.
2769
27702007-11-25 Andreas Tobler <a.tobler@schweiz.org>
2771
2772 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
2773 * include/ffi_common.h: ... here.
2774 Update copyright.
2775
27762007-11-17 Andreas Tobler <a.tobler@schweiz.org>
2777
2778 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
2779 * src/powerpc/linux64.S: Likewise.
2780 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
2781 * testsuite/libffi.call/return_ldl.c: New test.
2782
27832007-09-04 <aph@redhat.com>
2784
2785 * src/arm/sysv.S (UNWIND): New.
2786 (Whole file): Conditionally compile unwinder directives.
2787 * src/arm/sysv.S: Add unwinder directives.
2788
2789 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
2790 Only treat r0 as a struct address if we're actually returning a
2791 struct by address.
2792 Only copy the bytes that are actually within a struct.
2793 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
2794 is returned in r0, not passed by address.
2795 (ffi_call): Allocate a word-sized temporary for the case where
2796 a composite is returned in r0.
2797 (ffi_prep_incoming_args_SYSV): Align as necessary.
2798
27992007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
2800
Anthony Green0cfe60e2009-12-29 10:06:04 -05002801 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002802 directly using the sys_cacheflush syscall.
2803
28042007-07-27 Andrew Haley <aph@redhat.com>
2805
2806 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
2807
28082007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
2809
2810 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
2811 * configure.ac: Likewise.
2812 * Makefile.in: Regenerate.
2813 * include/Makefile.in: Likewise.
2814 * testsuite/Makefile.in: Likewise.
2815 * configure: Likewise.
2816
28172007-08-24 David Daney <ddaney@avtrex.com>
2818
2819 * testsuite/libffi.call/return_sl.c: New test.
2820
28212007-08-10 David Daney <ddaney@avtrex.com>
2822
2823 * testsuite/libffi.call/cls_multi_ushort.c,
2824 testsuite/libffi.call/cls_align_uint16.c,
2825 testsuite/libffi.call/nested_struct1.c,
2826 testsuite/libffi.call/nested_struct3.c,
2827 testsuite/libffi.call/cls_7_1_byte.c,
2828 testsuite/libffi.call/nested_struct5.c,
2829 testsuite/libffi.call/cls_double.c,
2830 testsuite/libffi.call/nested_struct7.c,
2831 testsuite/libffi.call/cls_sint.c,
2832 testsuite/libffi.call/nested_struct9.c,
2833 testsuite/libffi.call/cls_20byte1.c,
2834 testsuite/libffi.call/cls_multi_sshortchar.c,
2835 testsuite/libffi.call/cls_align_sint64.c,
2836 testsuite/libffi.call/cls_3byte2.c,
2837 testsuite/libffi.call/cls_multi_schar.c,
2838 testsuite/libffi.call/cls_multi_uchar.c,
2839 testsuite/libffi.call/cls_19byte.c,
2840 testsuite/libffi.call/cls_9byte1.c,
2841 testsuite/libffi.call/cls_align_float.c,
2842 testsuite/libffi.call/closure_fn1.c,
2843 testsuite/libffi.call/problem1.c,
2844 testsuite/libffi.call/closure_fn3.c,
2845 testsuite/libffi.call/cls_sshort.c,
2846 testsuite/libffi.call/closure_fn5.c,
2847 testsuite/libffi.call/cls_align_double.c,
2848 testsuite/libffi.call/nested_struct.c,
2849 testsuite/libffi.call/cls_2byte.c,
2850 testsuite/libffi.call/nested_struct10.c,
2851 testsuite/libffi.call/cls_4byte.c,
2852 testsuite/libffi.call/cls_6byte.c,
2853 testsuite/libffi.call/cls_8byte.c,
2854 testsuite/libffi.call/cls_multi_sshort.c,
2855 testsuite/libffi.call/cls_align_sint16.c,
2856 testsuite/libffi.call/cls_align_uint32.c,
2857 testsuite/libffi.call/cls_20byte.c,
2858 testsuite/libffi.call/cls_float.c,
2859 testsuite/libffi.call/nested_struct2.c,
2860 testsuite/libffi.call/cls_5_1_byte.c,
2861 testsuite/libffi.call/nested_struct4.c,
2862 testsuite/libffi.call/cls_24byte.c,
2863 testsuite/libffi.call/nested_struct6.c,
2864 testsuite/libffi.call/cls_64byte.c,
2865 testsuite/libffi.call/nested_struct8.c,
2866 testsuite/libffi.call/cls_uint.c,
2867 testsuite/libffi.call/cls_multi_ushortchar.c,
2868 testsuite/libffi.call/cls_schar.c,
2869 testsuite/libffi.call/cls_uchar.c,
2870 testsuite/libffi.call/cls_align_uint64.c,
2871 testsuite/libffi.call/cls_ulonglong.c,
2872 testsuite/libffi.call/cls_align_longdouble.c,
2873 testsuite/libffi.call/cls_1_1byte.c,
2874 testsuite/libffi.call/cls_12byte.c,
2875 testsuite/libffi.call/cls_3_1byte.c,
2876 testsuite/libffi.call/cls_3byte1.c,
2877 testsuite/libffi.call/cls_4_1byte.c,
2878 testsuite/libffi.call/cls_6_1_byte.c,
2879 testsuite/libffi.call/cls_16byte.c,
2880 testsuite/libffi.call/cls_18byte.c,
2881 testsuite/libffi.call/closure_fn0.c,
2882 testsuite/libffi.call/cls_9byte2.c,
2883 testsuite/libffi.call/closure_fn2.c,
2884 testsuite/libffi.call/closure_fn4.c,
2885 testsuite/libffi.call/cls_ushort.c,
2886 testsuite/libffi.call/closure_fn6.c,
2887 testsuite/libffi.call/cls_5byte.c,
2888 testsuite/libffi.call/cls_align_pointer.c,
2889 testsuite/libffi.call/cls_7byte.c,
2890 testsuite/libffi.call/cls_align_sint32.c,
2891 testsuite/libffi.special/unwindtest_ffi_call.cc,
2892 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2893
28942007-08-10 David Daney <ddaney@avtrex.com>
2895
2896 PR libffi/28313
2897 * configure.ac: Don't treat mips64 as a special case.
2898 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2899 * configure: Regenerate
2900 * Makefile.in: Ditto.
2901 * fficonfig.h.in: Ditto.
2902 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2903 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2904 (FFI_DEFAULT_ABI): Set for n64 case.
2905 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2906 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2907 (ffi_closure_N32): New function.
2908 (.eh_frame): New section
2909 * src/mips/o32.S: Clean up comments.
2910 (ffi_closure_O32): Pass ffi_closure parameter in $12.
2911 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2912 _MIPS_SIM == _ABIN32 throughout.
2913 (FFI_MIPS_STOP_HERE): New, use in place of
2914 ffi_stop_here.
2915 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2916 to support n32/n64 ABIs.
2917 (calc_n32_struct_flags): Rewrite.
2918 (calc_n32_return_struct_flags): Remove unused variable. Reverse
2919 position of flag bits.
2920 (ffi_prep_cif_machdep): Rewrite n32 portion.
2921 (ffi_call): Enable for n64. Add special handling for small structure
2922 return values.
2923 (ffi_prep_closure_loc): Add n32 and n64 support.
2924 (ffi_closure_mips_inner_O32): Add cast to silence warning.
2925 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2926
29272007-08-08 David Daney <ddaney@avtrex.com>
2928
2929 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2930 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2931 specifiers.
2932 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
2933 * testsuite/libffi.call/cls_sint.c (main): Ditto.
2934 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
2935 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2936 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2937 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
2938 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
2939 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
2940 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
2941 * testsuite/libffi.call/return_fl3.c (main): Ditto.
2942 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
2943 * testsuite/libffi.call/nested_struct.c (main): Ditto.
2944 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
2945 * testsuite/libffi.call/return_ll1.c (main): Ditto.
2946 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
2947 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2948 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2949 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
2950 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
2951 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
2952 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
2953 * testsuite/libffi.call/cls_uint.c (main): Ditto.
2954 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
2955 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
2956 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
2957 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2958 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
2959 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
2960 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
2961 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
2962 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2963
29642007-08-07 Andrew Haley <aph@redhat.com>
2965
2966 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2967 checkin.
2968
29692007-08-06 Andrew Haley <aph@redhat.com>
2970
2971 PR testsuite/32843
2972 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2973 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2974 FFI_TYPE_SINT32.
2975
29762007-08-02 David Daney <ddaney@avtrex.com>
2977
2978 * testsuite/libffi.call/return_ul.c (main): Define return type as
2979 ffi_arg. Use proper printf conversion specifier.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002980
Anthony Greenc6dddbd2009-10-04 08:11:33 -040029812007-07-30 Andrew Haley <aph@redhat.com>
2982
2983 PR testsuite/32843
2984 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2985 signed/unsigned int8/16.
2986 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2987 Use a jump table.
2988 Remove code to pop args from the stack after call.
2989 Special-case signed/unsigned int8/16.
2990 * testsuite/libffi.call/return_sc.c (main): Revert.
2991
29922007-07-26 Richard Guenther <rguenther@suse.de>
2993
2994 PR testsuite/32843
2995 * testsuite/libffi.call/return_sc.c (main): Verify call
2996 result as signed char, not ffi_arg.
2997
29982007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2999
3000 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
3001 * configure: Regenerate.
3002
30032007-07-11 David Daney <ddaney@avtrex.com>
3004
3005 * src/mips/ffi.c: Don't include sys/cachectl.h.
3006 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
3007 cacheflush().
3008
30092007-05-18 Aurelien Jarno <aurelien@aurel32.net>
3010
3011 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
3012 from (ffi_prep_closure): ... this.
3013 (FFI_INIT_TRAMPOLINE): Adjust.
3014
30152005-12-31 Phil Blundell <pb@reciva.com>
3016
Anthony Green0cfe60e2009-12-29 10:06:04 -05003017 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
3018 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003019 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
3020 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
3021 (FFI_CLOSURES): Enable closure support.
3022
30232007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
3024
Anthony Green0cfe60e2009-12-29 10:06:04 -05003025 * testsuite/libffi.call/cls_multi_ushort.c,
3026 testsuite/libffi.call/cls_align_uint16.c,
3027 testsuite/libffi.call/nested_struct1.c,
3028 testsuite/libffi.call/nested_struct3.c,
3029 testsuite/libffi.call/cls_7_1_byte.c,
3030 testsuite/libffi.call/cls_double.c,
3031 testsuite/libffi.call/nested_struct5.c,
3032 testsuite/libffi.call/nested_struct7.c,
3033 testsuite/libffi.call/cls_sint.c,
3034 testsuite/libffi.call/nested_struct9.c,
3035 testsuite/libffi.call/cls_20byte1.c,
3036 testsuite/libffi.call/cls_multi_sshortchar.c,
3037 testsuite/libffi.call/cls_align_sint64.c,
3038 testsuite/libffi.call/cls_3byte2.c,
3039 testsuite/libffi.call/cls_multi_schar.c,
3040 testsuite/libffi.call/cls_multi_uchar.c,
3041 testsuite/libffi.call/cls_19byte.c,
3042 testsuite/libffi.call/cls_9byte1.c,
3043 testsuite/libffi.call/cls_align_float.c,
3044 testsuite/libffi.call/closure_fn1.c,
3045 testsuite/libffi.call/problem1.c,
3046 testsuite/libffi.call/closure_fn3.c,
3047 testsuite/libffi.call/cls_sshort.c,
3048 testsuite/libffi.call/closure_fn5.c,
3049 testsuite/libffi.call/cls_align_double.c,
3050 testsuite/libffi.call/cls_2byte.c,
3051 testsuite/libffi.call/nested_struct.c,
3052 testsuite/libffi.call/nested_struct10.c,
3053 testsuite/libffi.call/cls_4byte.c,
3054 testsuite/libffi.call/cls_6byte.c,
3055 testsuite/libffi.call/cls_8byte.c,
3056 testsuite/libffi.call/cls_multi_sshort.c,
3057 testsuite/libffi.call/cls_align_uint32.c,
3058 testsuite/libffi.call/cls_align_sint16.c,
3059 testsuite/libffi.call/cls_float.c,
3060 testsuite/libffi.call/cls_20byte.c,
3061 testsuite/libffi.call/cls_5_1_byte.c,
3062 testsuite/libffi.call/nested_struct2.c,
3063 testsuite/libffi.call/cls_24byte.c,
3064 testsuite/libffi.call/nested_struct4.c,
3065 testsuite/libffi.call/nested_struct6.c,
3066 testsuite/libffi.call/cls_64byte.c,
3067 testsuite/libffi.call/nested_struct8.c,
3068 testsuite/libffi.call/cls_uint.c,
3069 testsuite/libffi.call/cls_multi_ushortchar.c,
3070 testsuite/libffi.call/cls_schar.c,
3071 testsuite/libffi.call/cls_uchar.c,
3072 testsuite/libffi.call/cls_align_uint64.c,
3073 testsuite/libffi.call/cls_ulonglong.c,
3074 testsuite/libffi.call/cls_align_longdouble.c,
3075 testsuite/libffi.call/cls_1_1byte.c,
3076 testsuite/libffi.call/cls_12byte.c,
3077 testsuite/libffi.call/cls_3_1byte.c,
3078 testsuite/libffi.call/cls_3byte1.c,
3079 testsuite/libffi.call/cls_4_1byte.c,
3080 testsuite/libffi.call/cls_6_1_byte.c,
3081 testsuite/libffi.call/cls_16byte.c,
3082 testsuite/libffi.call/cls_18byte.c,
3083 testsuite/libffi.call/closure_fn0.c,
3084 testsuite/libffi.call/cls_9byte2.c,
3085 testsuite/libffi.call/closure_fn2.c,
3086 testsuite/libffi.call/closure_fn4.c,
3087 testsuite/libffi.call/cls_ushort.c,
3088 testsuite/libffi.call/closure_fn6.c,
3089 testsuite/libffi.call/cls_5byte.c,
3090 testsuite/libffi.call/cls_align_pointer.c,
3091 testsuite/libffi.call/cls_7byte.c,
3092 testsuite/libffi.call/cls_align_sint32.c,
3093 testsuite/libffi.special/unwindtest_ffi_call.cc,
3094 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003095
30962007-07-05 H.J. Lu <hongjiu.lu@intel.com>
3097
3098 * aclocal.m4: Regenerated.
3099
31002007-06-02 Paolo Bonzini <bonzini@gnu.org>
3101
3102 * configure: Regenerate.
3103
31042007-05-23 Steve Ellcey <sje@cup.hp.com>
3105
3106 * Makefile.in: Regenerate.
3107 * configure: Regenerate.
3108 * aclocal.m4: Regenerate.
3109 * include/Makefile.in: Regenerate.
3110 * testsuite/Makefile.in: Regenerate.
3111
31122007-05-10 Roman Zippel <zippel@linux-m68k.org>
3113
3114 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
3115 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
3116 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
3117 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
3118 (FFI_CLOSURES): Enable closure support.
3119
31202007-05-10 Roman Zippel <zippel@linux-m68k.org>
3121
3122 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
3123 * configure: Regenerate.
3124 * fficonfig.h.in: Regenerate.
3125 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
3126 CFI_OFFSET,CFI_DEF_CFA): New macros.
3127 (ffi_call_SYSV): Add callframe annotation.
3128
31292007-05-10 Roman Zippel <zippel@linux-m68k.org>
3130
3131 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
3132 numerous test suite failures.
3133 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
3134
31352007-04-11 Paolo Bonzini <bonzini@gnu.org>
3136
3137 * Makefile.am (EXTRA_DIST): Bring up to date.
3138 * Makefile.in: Regenerate.
3139 * src/frv/eabi.S: Remove RCS keyword.
3140
31412007-04-06 Richard Henderson <rth@redhat.com>
3142
3143 * configure.ac: Tidy target case.
3144 (HAVE_LONG_DOUBLE): Allow the target to override.
3145 * configure: Regenerate.
3146 * include/ffi.h.in: Don't define ffi_type_foo if
3147 LIBFFI_HIDE_BASIC_TYPES is defined.
3148 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
3149 to ffi_type_double.
3150 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
3151 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
3152 (ffi_type_longdouble): Special case for Alpha. Don't define
3153 if long double == double.
3154
3155 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
3156 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
3157 (ffi_call, ffi_closure_osf_inner): Likewise.
3158 (ffi_closure_osf_inner): Likewise. Mark hidden.
3159 (ffi_call_osf, ffi_closure_osf): Mark hidden.
3160 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
3161 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
3162 (load_table): Handle 128-bit long double.
3163
3164 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
3165
31662007-04-06 Tom Tromey <tromey@redhat.com>
3167
3168 PR libffi/31491:
3169 * README: Fixed bug in example.
3170
31712007-04-03 Jakub Jelinek <jakub@redhat.com>
3172
3173 * src/closures.c: Include sys/statfs.h.
3174 (_GNU_SOURCE): Define on Linux.
3175 (FFI_MMAP_EXEC_SELINUX): Define.
3176 (selinux_enabled): New variable.
3177 (selinux_enabled_check): New function.
3178 (is_selinux_enabled): Define.
3179 (dlmmap): Use it.
3180
31812007-03-24 Uros Bizjak <ubizjak@gmail.com>
3182
3183 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
3184 Use 'volatile float sum' to create sum of floats to avoid false
3185 negative due to excess precision on ix86 targets.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003186 (main): Ditto.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003187
31882007-03-08 Alexandre Oliva <aoliva@redhat.com>
3189
3190 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
3191 patch.
3192 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
3193
31942007-03-07 Alexandre Oliva <aoliva@redhat.com>
3195
3196 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
3197 (ffi_prep_closure_loc): New.
3198 (ffi_prep_raw_closure_loc): New.
3199 (ffi_prep_java_raw_closure_loc): New.
3200 * src/closures.c: New file.
3201 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
3202 Replace sflags with exec_offset.
3203 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
3204 sub_segment_exec_offset): New macros.
3205 (get_segment_flags, set_segment_flags, check_segment_merge): New
3206 macros.
3207 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
3208 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
3209 destroy_mspace): Use new macros.
3210 (sys_alloc): Silence warning.
3211 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
3212 * Makefile.in: Rebuilt.
3213 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
3214 terms of ffi_prep_closure_loc.
3215 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
3216 from...
3217 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
3218 renamed version.
3219 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
3220 adjusted from...
3221 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
3222 the renamed version.
3223 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
3224 (ffi_prep_closure): ... this.
3225 * src/pa/ffi.c: Likewise.
3226 * src/cris/ffi.c: Likewise. Adjust.
3227 * src/frv/ffi.c: Likewise.
3228 * src/ia64/ffi.c: Likewise.
3229 * src/mips/ffi.c: Likewise.
3230 * src/powerpc/ffi_darwin.c: Likewise.
3231 * src/s390/ffi.c: Likewise.
3232 * src/sh/ffi.c: Likewise.
3233 * src/sh64/ffi.c: Likewise.
3234 * src/sparc/ffi.c: Likewise.
3235 * src/x86/ffi64.c: Likewise.
3236 * src/x86/ffi.c: Likewise.
3237 (FFI_INIT_TRAMPOLINE): Adjust.
3238 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
3239 (ffi_prep_raw_closure): ... this.
3240 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
3241 (ffi_prep_closure): ... this.
3242 (flush_icache): Adjust.
3243
32442007-03-07 Alexandre Oliva <aoliva@redhat.com>
3245
3246 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
3247 Lea's malloc.
3248
32492007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
3250
3251 * Makefile.am: Add dummy install-pdf target.
3252 * Makefile.in: Regenerate
3253
32542007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
3255
3256 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
3257 ffi_closure_helper_SYSV): Add long double handling.
3258
32592007-02-02 Jakub Jelinek <jakub@redhat.com>
3260
3261 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
3262 immediately after bctrl instruction.
3263
32642007-01-18 Alexandre Oliva <aoliva@redhat.com>
3265
3266 * Makefile.am (all-recursive, install-recursive,
3267 mostlyclean-recursive, clean-recursive, distclean-recursive,
3268 maintainer-clean-recursive): Add missing targets.
3269 * Makefile.in: Rebuilt.
3270
32712006-12-14 Andreas Tobler <a.tobler@schweiz.org>
3272
3273 * configure.ac: Add TARGET for x86_64-*-darwin*.
3274 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
3275 for X86_DARWIN.
3276 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
3277 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
3278 * configure: Regenerate.
3279 * Makefile.in: Regenerate.
3280 * include/Makefile.in: Regenerate.
3281 * testsuite/Makefile.in: Regenerate.
3282 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
3283 ffi_call only.
3284
32852006-12-13 Andreas Tobler <a.tobler@schweiz.org>
3286
3287 * aclocal.m4: Regenerate with aclocal -I .. as written in the
3288 Makefile.am.
3289
32902006-10-31 Geoffrey Keating <geoffk@apple.com>
3291
3292 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
3293 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
3294 Darwin.
3295 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
3296 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
3297
32982006-10-10 Paolo Bonzini <bonzini@gnu.org>
3299 Sandro Tolaini <tolaini@libero.it>
3300
Anthony Green0cfe60e2009-12-29 10:06:04 -05003301 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003302 conditional.
3303 * configure: Regenerated.
3304 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
3305 (EXTRA_DIST): Add src/x86/darwin.S.
3306 * Makefile.in: Regenerated.
3307 * include/Makefile.in: Regenerated.
3308 * testsuite/Makefile.in: Regenerated.
3309
3310 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
3311 X86_WIN32, and additionally align stack to 16 bytes.
3312 * src/x86/darwin.S: New, based on sysv.S.
3313 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
3314
33152006-09-12 David Daney <ddaney@avtrex.com>
3316
3317 PR libffi/23935
3318 * include/Makefile.am: Install both ffi.h and ffitarget.h in
3319 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
3320 * aclocal.m4: Regenerated for automake 1.9.6.
3321 * Makefile.in: Regenerated.
3322 * include/Makefile.in: Regenerated.
3323 * testsuite/Makefile.in: Regenerated.
3324
33252006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
3326
3327 * include/ffi_common.h (struct): Revert accidental commit.
3328
33292006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
3330
3331 * include/ffi_common.h: Remove lint directives.
3332 * include/ffi.h.in: Likewise.
3333
33342006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
3335
3336 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
3337 for 32-bit architectures.
3338 * testsuite/libffi.call/return_ul.c: New test case.
3339
33402006-07-19 David Daney <ddaney@avtrex.com>
3341
3342 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
3343 xfail remains for mips64.
3344
33452006-05-23 Carlos O'Donell <carlos@codesourcery.com>
3346
3347 * Makefile.am: Add install-html target. Add install-html to .PHONY
3348 * Makefile.in: Regenerate.
3349 * aclocal.m4: Regenerate.
3350 * include/Makefile.in: Regenerate.
3351 * testsuite/Makefile.in: Regenerate.
3352
33532006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3354
3355 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
3356 stack slot.
3357
33582006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
3359
3360 * README: Remove notice about 'Crazy Comments'.
3361 * src/debug.c: Remove lint directives. Cleanup white spaces.
3362 * src/java_raw_api.c: Likewise.
3363 * src/prep_cif.c: Likewise.
3364 * src/raw_api.c: Likewise.
3365 * src/ffitest.c: Delete. No longer needed, all test cases migrated
3366 to the testsuite.
3367 * src/arm/ffi.c: Remove lint directives.
3368 * src/m32r/ffi.c: Likewise.
3369 * src/pa/ffi.c: Likewise.
3370 * src/powerpc/ffi.c: Likewise.
3371 * src/powerpc/ffi_darwin.c: Likewise.
3372 * src/sh/ffi.c: Likewise.
3373 * src/sh64/ffi.c: Likewise.
3374 * src/x86/ffi.c: Likewise.
3375 * testsuite/libffi.call/float2.c: Likewise.
3376 * testsuite/libffi.call/promotion.c: Likewise.
3377 * testsuite/libffi.call/struct1.c: Likewise.
3378
33792006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
3380
3381 * src/pa/hpux32.S: Correct unwind offset calculation for
3382 ffi_closure_pa32.
3383 * src/pa/linux.S: Likewise.
3384
33852006-04-12 James E Wilson <wilson@specifix.com>
3386
3387 PR libgcj/26483
3388 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
3389 (hfa_type_load): Call stf_spill.
3390 (hfa_type_store): Call ldf_fill.
3391 (ffi_call): Adjust calls to above routines. Add local temps for
3392 macro result.
3393
33942006-04-10 Matthias Klose <doko@debian.org>
3395
3396 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
3397 directory names containing underscores.
3398
33992006-04-07 James E Wilson <wilson@specifix.com>
3400
3401 * testsuite/libffi.call/float4.c: New testcase.
3402
34032006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3404 Andreas Tobler <a.tobler@schweiz.ch>
3405
3406 * Makefile.am: Add PA_HPUX port.
3407 * Makefile.in: Regenerate.
3408 * include/Makefile.in: Likewise.
3409 * testsuite/Makefile.in: Likewise.
3410 * configure.ac: Add PA_HPUX rules.
3411 * configure: Regenerate.
3412 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
3413 Add PA_HPUX and PA64_HPUX.
3414 Rename FFI_LINUX ABI to FFI_PA32 ABI.
3415 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
3416 (FFI_TYPE_SMALL_STRUCT2): Define.
3417 (FFI_TYPE_SMALL_STRUCT4): Likewise.
3418 (FFI_TYPE_SMALL_STRUCT8): Likewise.
3419 (FFI_TYPE_SMALL_STRUCT3): Redefine.
3420 (FFI_TYPE_SMALL_STRUCT5): Likewise.
3421 (FFI_TYPE_SMALL_STRUCT6): Likewise.
3422 (FFI_TYPE_SMALL_STRUCT7): Likewise.
3423 * src/pa/ffi.c (ROUND_DOWN): Delete.
3424 (fldw, fstw, fldd, fstd): Use '__asm__'.
3425 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
3426 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
3427 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
3428 Simplify incrementing of stack slot variable. Change type of local
3429 'n' to unsigned int.
3430 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
3431 double on PA_HPUX.
3432 (ffi_prep_cif_machdep): Likewise.
3433 (ffi_call): Likewise.
3434 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
3435 return type to ffi_status. Simplify incrementing of stack slot
3436 variable. Only copy floating point argument registers when PA_LINUX
3437 is true. Reformat debug statement.
3438 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
3439 FFI_TYPE_SMALL_STRUCT8.
3440 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
3441 declaration.
3442 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
3443 Add nops to cache flush. Add trampoline for PA_HPUX.
3444 * src/pa/hpux32.S: New file.
3445 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
3446 ffi_prep_args_LINUX to ffi_prep_args_pa32.
3447 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
3448 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
3449 argument type checks so that common argument types appear first.
3450 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
3451 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
3452
34532006-03-24 Alan Modra <amodra@bigpond.net.au>
3454
3455 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
3456 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
3457 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
3458 FFI_TYPE_LONGDOUBLE.
3459 (ffi_prep_args64): Assert using IBM extended double.
3460 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
3461 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
3462 (ffi_call): Handle FFI_LINUX.
3463 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
3464 gpr3 return pointer as for struct return. Handle FFI_LINUX
3465 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
3466 unnecessarily.
3467 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
3468 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
3469 Don't use r6 as pointer to results, instead use sp offset. Don't
3470 make a special call to load lr with case table address, instead
3471 use offset from previous call.
3472 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
3473 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
3474 return.
3475
34762006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
3477
3478 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
3479 passed with FP registers correctly.
3480 (ffi_closure_helper_SYSV): Likewise.
3481 * src/sh64/sysv.S: Likewise.
3482
34832006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
3484
3485 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
3486 args and userdata unused.
3487 (closure_test_fn1): Mark cif and userdata unused.
3488 (main): Remove unused res.
3489
34902006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
3491
3492 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
3493 -O2, -O3, -Os and the warning flags -W -Wall.
3494 * testsuite/libffi.special/special.exp: Likewise.
3495 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
3496 unused parameter unused for gcc or else do nothing.
3497 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3498 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
3499 and userdata unused.
3500 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
3501 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
3502 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
3503 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
3504 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
3505 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
3506 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
3507 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
3508 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
3509 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
3510 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
3511 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
3512 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
3513 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
3514 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
3515 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
3516 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
3517 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
3518 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
3519 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
3520 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
3521 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
3522 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
3523 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
3524 Likewise.
3525 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
3526 Likewise.
3527 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
3528 Likewise.
3529 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
3530 void* to avoid compiler warning.
3531 (main): Likewise.
3532 (cls_struct_align_gn): Mark cif and userdata unused.
3533 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
3534 Likewise.
3535 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
3536 Likewise.
3537 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
3538 Likewise.
3539 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
3540 Likewise.
3541 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
3542 Likewise.
3543 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
3544 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
3545 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
3546 data unused.
3547 (main): Cast res_call to silence gcc.
3548 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
3549 data unused.
3550 (main): Cast res_call to silence gcc.
3551 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
3552 and data unused.
3553 (main): Cast res_call to silence gcc.
3554 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
3555 data unused.
3556 (main): Cast res_call to silence gcc.
3557 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
3558 data unused.
3559 (main): Cast res_call to silence gcc.
3560 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
3561 and data unused.
3562 (main): Cast res_call to silence gcc.
3563 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
3564 userdata unused.
3565 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
3566 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
3567 userdata unused.
3568 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
3569 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
3570 userdata unused.
3571 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
3572 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
3573 userdata unused.
3574 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
3575 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
3576 userdata unused.
3577 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
3578 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
3579 and userdata unused.
3580 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
3581 userdata unused.
3582 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
3583 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
3584 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
3585 Cleanup white spaces.
3586 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
3587 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
3588 cif and userdata unused.
3589 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
3590 Likewise.
3591 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
3592 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
3593 formatters to silence gcc.
3594 (B_gn): Mark cif and userdata unused.
3595 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
3596 unused.
3597 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
3598 (B_gn): Mark cif and userdata unused.
3599 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
3600 unused.
3601 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
3602 (B_gn): Mark cif and userdata unused.
3603 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
3604 unused.
3605 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
3606 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
3607 * testsuite/libffi.call/problem1.c (stub): Likewise.
3608 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
3609 gcc.
3610 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
3611 in the last commit for this test case in the test case itself.
3612 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
3613 unused.
3614 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
3615 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
3616 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
3617 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
3618 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
3619 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
3620
36212006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
3622
3623 * src/sh/sysv.S: Fix register numbers in the FDE for
3624 ffi_closure_SYSV.
3625
36262006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
3627
3628 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
3629 declaration to avoid a false negative on ix86. See PR323.
3630
36312006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
3632
3633 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
3634 and cast integer to void * if needed. Update the pointer to
3635 the FP register saved area correctly.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003636
Anthony Greenc6dddbd2009-10-04 08:11:33 -040036372006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
3638
3639 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
3640 is fixed.
3641 * testsuite/libffi.call/nested_struct4.c: Likewise.
3642
36432006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
3644
3645 * testsuite/libffi.call/return_dbl.c: New test case.
3646 * testsuite/libffi.call/return_dbl1.c: Likewise.
3647 * testsuite/libffi.call/return_dbl2.c: Likewise.
3648 * testsuite/libffi.call/return_fl.c: Likewise.
3649 * testsuite/libffi.call/return_fl1.c: Likewise.
3650 * testsuite/libffi.call/return_fl2.c: Likewise.
3651 * testsuite/libffi.call/return_fl3.c: Likewise.
3652 * testsuite/libffi.call/closure_fn6.c: Likewise.
3653
3654 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
3655 definition.
3656 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
3657 here to be used by other test cases too.
3658
3659 * testsuite/libffi.call/nested_struct10.c: New test case.
3660 * testsuite/libffi.call/nested_struct9.c: Likewise.
3661 * testsuite/libffi.call/nested_struct8.c: Likewise.
3662 * testsuite/libffi.call/nested_struct7.c: Likewise.
3663 * testsuite/libffi.call/nested_struct6.c: Likewise.
3664 * testsuite/libffi.call/nested_struct5.c: Likewise.
3665 * testsuite/libffi.call/nested_struct4.c: Likewise.
3666
36672006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
3668
3669 * configure.ac: Enable libffi for sparc64-*-freebsd*.
3670 * configure: Rebuilt.
3671
36722006-01-18 Jakub Jelinek <jakub@redhat.com>
3673
3674 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
3675 instead do the shifting inline.
3676 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
3677 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
3678 and 8 byte structs, for the remaining struct sizes don't call
3679 __lshrdi3, instead do the shifting inline.
3680
36812005-12-07 Thiemo Seufer <ths@networkno.de>
3682
3683 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
3684 missing parentheses.
3685 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
3686 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
3687 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
3688 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
3689 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
3690 FA_0_0_OFF2.
3691 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
3692 endianness bugs.
3693 (ffi_prep_closure): Improve trampoline instruction scheduling.
3694 (ffi_closure_mips_inner_O32): Fix endianness bugs.
3695
36962005-12-03 Alan Modra <amodra@bigpond.net.au>
3697
3698 * src/powerpc/ffi.c: Formatting.
3699 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
3700 (ffi_prep_args64): Likewise.
3701
37022005-09-30 Geoffrey Keating <geoffk@apple.com>
3703
3704 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
3705 darwin, use -shared-libgcc not -lgcc_s, and explain why.
3706
37072005-09-26 Tom Tromey <tromey@redhat.com>
3708
3709 * testsuite/libffi.call/float1.c (value_type): New typedef.
3710 (CANARY): New define.
3711 (main): Check for result buffer overflow.
3712 * src/powerpc/linux64.S: Handle linux64 long double returns.
3713 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
3714 (ffi_prep_cif_machdep): Handle linux64 long double returns.
3715
37162005-08-25 Alan Modra <amodra@bigpond.net.au>
3717
3718 PR target/23404
3719 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
3720 homed fp args.
3721 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
3722
37232005-08-11 Jakub Jelinek <jakub@redhat.com>
3724
3725 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
3726 (AH_BOTTOM): Add FFI_HIDDEN definition.
3727 * configure: Rebuilt.
3728 * fficonfig.h.in: Rebuilt.
3729 * src/powerpc/ffi.c (hidden): Remove.
3730 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
3731 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
3732 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
3733 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
3734 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
3735 add FFI_HIDDEN to its prototype.
3736 (ffi_closure_SYSV_inner): New.
3737 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3738 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3739
37402005-08-10 Alfred M. Szmidt <ams@gnu.org>
3741
3742 PR libffi/21819:
3743 * configure: Rebuilt.
3744 * configure.ac: Handle i*86-*-gnu*.
3745
37462005-08-09 Jakub Jelinek <jakub@redhat.com>
3747
3748 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
3749 DW_CFA_offset_extended_sf rather than
3750 DW_CFA_GNU_negative_offset_extended.
3751 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
3752
37532005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3754
3755 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
3756 on sh3.
3757 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
3758 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
3759 partially on register.
3760 (ffi_closure_helper_SYSV): Likewise.
3761 (ffi_prep_cif_machdep): Don't set too many cif->flags.
3762
37632005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
3764
3765 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
3766 Remove empty line.
3767 * src/sh64/ffi.c (simple_type): Remove.
3768 (return_type): Handle small structures correctly.
3769 (ffi_prep_args): Likewise.
3770 (ffi_call): Likewise.
3771 (ffi_closure_helper_SYSV): Likewise.
3772 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
3773 Emit position independent code if PIC and remove wrong datalabel
3774 prefixes from EH data.
3775
37762005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
3777
3778 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
3779 * Makefile.in: Regenerate.
3780 * include/Makefile.in: Likewise.
3781 * testsuite/Makefile.in: Likewise.
3782 * configure.ac: Add POWERPC_FREEBSD rules.
3783 * configure: Regenerate.
3784 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
3785 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
3786 * src/powerpc/ffi.c: Add flags to handle small structure returns
3787 in ffi_call_SYSV.
3788 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
3789 Aka FFI_SYSV.
3790 (ffi_closure_helper_SYSV): Likewise.
3791 * src/powerpc/ppc_closure.S: Add return types for small structures.
3792 * src/powerpc/sysv.S: Add bits to handle small structures for
3793 final SYSV 4 ABI.
3794
37952005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
3796
3797 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
3798 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
3799 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
3800
38012005-07-05 Randolph Chung <tausq@debian.org>
3802
3803 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
3804 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
3805 structures. Kill compilation warnings.
3806 (ffi_closure_inner_LINUX): Print return values as hex in debug
3807 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
3808 Properly handle 5-7 byte structure returns.
3809 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
3810 (FFI_TYPE_SMALL_STRUCT2): Remove.
3811 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
3812 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
3813 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
3814 (checksmst1, checksmst2): Remove.
3815 (checksmst3): Optimize handling of 3-byte struct returns.
3816 (checksmst567): Properly handle 5-7 byte struct returns.
3817
38182005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3819
3820 PR libgcj/21943
3821 * src/mips/n32.S: Enforce PIC code.
3822 * src/mips/o32.S: Likewise.
3823
38242005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3825
3826 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
3827 * configure: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003828
Anthony Greenc6dddbd2009-10-04 08:11:33 -040038292005-06-01 Alan Modra <amodra@bigpond.net.au>
3830
3831 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
3832 to call ffi_closure_helper_SYSV. Append @local instead.
3833 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
3834
38352005-05-17 Kelley Cook <kcook@gcc.gnu.org>
3836
3837 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3838 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3839 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
3840 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
3841 include/Makefile.in, testsuite/Makefile.in: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003842
Anthony Greenc6dddbd2009-10-04 08:11:33 -040038432005-05-09 Mike Stump <mrs@apple.com>
3844
3845 * configure: Regenerate.
3846
38472005-05-08 Richard Henderson <rth@redhat.com>
3848
3849 PR libffi/21285
3850 * src/alpha/osf.S: Update unwind into to match code.
3851
38522005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
3853 Richard Henderson <rth@redhat.com>
3854
3855 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
3856 bit 11 of flags.
3857 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
3858 (ffi_prep_closure): Set carry bit if sse-used flag set.
3859 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3860 Only load sse registers if ssecount non-zero.
3861 (ffi_closure_unix64): Only save sse registers if carry set on entry.
3862
38632005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
3864
3865 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3866 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3867 * configure: Regenerate.
3868
38692005-04-20 Hans-Peter Nilsson <hp@axis.com>
3870
3871 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3872 have Tcl8.3-compatible intermediate variable.
3873
Anthony Green0cfe60e2009-12-29 10:06:04 -050038742005-04-18 Simon Posnjak <simon.posnjak@siol.net>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003875 Hans-Peter Nilsson <hp@axis.com>
3876
3877 * Makefile.am: Add CRIS support.
3878 * configure.ac: Likewise.
3879 * Makefile.in, configure, testsuite/Makefile.in,
3880 include/Makefile.in: Regenerate.
3881 * src/cris: New directory.
3882 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3883 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
3884
3885 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3886 \r?\n in output tests.
3887
38882005-04-12 Mike Stump <mrs@apple.com>
3889
3890 * configure: Regenerate.
3891
38922005-03-30 Hans Boehm <Hans.Boehm@hp.com>
3893
3894 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003895
Anthony Greenc6dddbd2009-10-04 08:11:33 -040038962005-03-30 Steve Ellcey <sje@cup.hp.com>
3897
3898 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3899 (ffi_sarg) Ditto.
3900 * src/ia64/unix.S (ffi_closure_unix): Extend gp
3901 to 64 bits in ILP32 mode.
3902 Load 64 bits even for short data.
3903
39042005-03-23 Mike Stump <mrs@apple.com>
3905
3906 * src/powerpc/darwin.S: Update for -m64 multilib.
3907 * src/powerpc/darwin_closure.S: Likewise.
3908
39092005-03-21 Zack Weinberg <zack@codesourcery.com>
3910
3911 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
3912 Do not set tool_include_dir.
3913 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3914 Regenerate.
3915 * include/Makefile.am: Set gcc_version and toollibffidir.
3916 * include/Makefile.in: Regenerate.
3917
39182005-02-22 Andrew Haley <aph@redhat.com>
3919
3920 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3921 odd-numbered register pairs for 64-bit integer types.
3922
39232005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
3924
3925 PR libffi/20104
3926 * testsuite/libffi.call/return_ll1.c: New test case.
3927
39282005-02-11 Janis Johnson <janis187@us.ibm.com>
3929
3930 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
3931 * testsuite/libffi.call/float.c: Ditto.
3932 * testsuite/libffi.call/float2.c: Ditto.
3933 * testsuite/libffi.call/float3.c: Ditto.
3934
39352005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
3936
3937 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
3938
39392005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3940
3941 * testsuite/libffi.special/special.exp (cxx_options): Add
3942 -shared-libgcc.
3943
39442004-12-31 Richard Henderson <rth@redhat.com>
3945
3946 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
3947 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
3948 offset parameters with a type parameter; deduce size and structure
3949 alignment. Update all users.
3950
39512004-12-31 Richard Henderson <rth@redhat.com>
3952
3953 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
3954 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
3955 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
3956 into ffi_prep_closure.
3957 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
3958 from scratch.
3959
39602004-12-27 Richard Henderson <rth@redhat.com>
3961
3962 * src/x86/unix64.S: Fix typo in unwind info.
3963
39642004-12-25 Richard Henderson <rth@redhat.com>
3965
3966 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
3967 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
3968 (merge_classes): Check for it.
3969 (SSE_CLASS_P): New.
3970 (classify_argument): Pass byte_offset by value; perform all updates
3971 inside struct case.
3972 (examine_argument): Add classes argument; handle
3973 X86_64_COMPLEX_X87_CLASS.
3974 (ffi_prep_args): Merge into ...
3975 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
3976 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
3977 (ffi_fill_return_value): Remove.
3978 (ffi_prep_closure): Remove dead assert.
3979 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
3980 Rewrite to use struct register_args instead of va_list. Create
3981 flags for handling structure returns.
3982 * src/x86/unix64.S: Remove dead strings.
3983 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
3984 stack frame with ffi_call. Handle structure returns properly.
3985 (float2sse, floatfloat2sse, double2sse): Remove.
3986 (sse2float, sse2double, sse2floatfloat): Remove.
3987 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
3988 to handle structure returns properly.
3989
39902004-12-08 David Edelsohn <edelsohn@gnu.org>
3991
3992 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
3993 PICFLAG.
3994 * Makefile.in: Regenerated.
3995
39962004-12-02 Richard Sandiford <rsandifo@redhat.com>
3997
3998 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
3999 * configure, aclocal.m4, Makefile.in: Regenerate.
4000 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
4001
40022004-11-29 Kelley Cook <kcook@gcc.gnu.org>
4003
4004 * configure: Regenerate for libtool change.
4005
40062004-11-25 Kelley Cook <kcook@gcc.gnu.org>
4007
4008 * configure: Regenerate for libtool reversion.
4009
40102004-11-24 Kelley Cook <kcook@gcc.gnu.org>
4011
4012 * configure: Regenerate for libtool change.
4013
40142004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4015
4016 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
4017
40182004-11-23 Richard Sandiford <rsandifo@redhat.com>
4019
4020 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
4021 of jal. Use an absolute encoding for the frame information.
4022
40232004-11-23 Kelley Cook <kcook@gcc.gnu.org>
4024
4025 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
4026 * acinclude.m4: Delete logic for sincludes.
4027 * aclocal.m4, Makefile.in, configure: Regenerate.
4028 * include/Makefile: Likewise.
4029 * testsuite/Makefile: Likewise.
4030
40312004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
4032
4033 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
4034 on a 8-byte boundary.
4035 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
4036
40372004-10-27 Richard Earnshaw <rearnsha@arm.com>
4038
4039 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
4040 long long values. Round stack allocation to a multiple of 8 bytes
4041 for ATPCS compatibility.
4042 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
4043 names. Handle returning long long types. Add Thumb and interworking
4044 support. Improve soft-float code.
4045
40462004-10-27 Richard Earnshaw <rearnsha@arm.com>
4047
4048 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
4049 (libffi_exit): New function.
4050 (libffi_init): Build the testglue wrapper if needed.
4051
40522004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4053
4054 PR other/18138
4055 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
4056
40572004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4058
4059 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
4060
40612004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
4062
4063 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
4064 * testsuite/libffi.call/float3.c: New test case.
4065
40662004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
4067
4068 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
4069 the function returning a structure pointed with R2.
4070 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
4071 the structure return value if T bit set. Emit position
4072 independent code and EH data if PIC.
4073
40742004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4075
4076 * Makefile.am: Add m32r support.
4077 * configure.ac: Likewise.
4078 * Makefile.in: Regenerate.
4079 * confiugre: Regenerate.
4080 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
4081 (uint64, sint64, double, longdouble)
4082 * src/m32r: New directory.
4083 * src/m32r/ffi.c: New file.
4084 * src/m32r/sysv.S: Likewise.
4085 * src/m32r/ffitarget.h: Likewise.
4086
40872004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
4088
4089 * testsuite/libffi.call/negint.c: New test case.
4090
40912004-09-14 H.J. Lu <hongjiu.lu@intel.com>
4092
4093 PR libgcj/17465
4094 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
4095 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
4096 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
4097 DYLD_LIBRARY_PATH.
4098
40992004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
4100
4101 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
4102 * testsuite/libffi.call/promotion.c: Likewise.
4103 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
4104 whitespaces.
4105 * testsuite/libffi.call/return_sc.c: Likewise.
4106 * testsuite/libffi.call/return_uc.c: Likewise.
4107
41082004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
4109
4110 * src/powerpc/darwin.S: Fix comments and identation.
4111 * src/powerpc/darwin_closure.S: Likewise.
4112
41132004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
4114
4115 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
4116 (ffi_prep_args): Handle longdouble arguments.
4117 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
4118 longdouble.
4119 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
4120 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
4121 values.
4122 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
4123 * src/types.c: Defined longdouble size and alignment for darwin.
4124
41252004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
4126
4127 * src/powerpc/aix.S: Remove whitespaces.
4128 * src/powerpc/aix_closure.S: Likewise.
4129 * src/powerpc/asm.h: Likewise.
4130 * src/powerpc/ffi.c: Likewise.
4131 * src/powerpc/ffitarget.h: Likewise.
4132 * src/powerpc/linux64.S: Likewise.
4133 * src/powerpc/linux64_closure.S: Likewise.
4134 * src/powerpc/ppc_closure.S: Likewise.
4135 * src/powerpc/sysv.S: Likewise.
4136
41372004-08-30 Anthony Green <green@redhat.com>
4138
4139 * Makefile.am: Add frv support.
4140 * Makefile.in, testsuite/Makefile.in: Rebuilt.
4141 * configure.ac: Read configure.host.
4142 * configure.in: Read configure.host.
4143 * configure.host: New file. frv-elf needs libgloss.
4144 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
4145 alignment. This is needed to frv and shouldn't harm the others.
4146 * include/ffi_common.h (ALIGN_DOWN): New macro.
4147 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
4148
41492004-08-24 David Daney <daney@avtrex.com>
4150
4151 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
4152 * testsuite/libffi.call/closure_fn1.c: Likewise.
4153 * testsuite/libffi.call/closure_fn2.c Likewise.
4154 * testsuite/libffi.call/closure_fn3.c: Likewise.
4155 * testsuite/libffi.call/closure_fn4.c: Likewise.
4156 * testsuite/libffi.call/closure_fn5.c: Likewise.
4157 * testsuite/libffi.call/cls_18byte.c: Likewise.
4158 * testsuite/libffi.call/cls_19byte.c: Likewise.
4159 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4160 * testsuite/libffi.call/cls_20byte.c: Likewise.
4161 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4162 * testsuite/libffi.call/cls_24byte.c: Likewise.
4163 * testsuite/libffi.call/cls_2byte.c: Likewise.
4164 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4165 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4166 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4167 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4168 * testsuite/libffi.call/cls_4byte.c: Likewise.
4169 * testsuite/libffi.call/cls_64byte.c: Likewise.
4170 * testsuite/libffi.call/cls_6byte.c: Likewise.
4171 * testsuite/libffi.call/cls_7byte.c: Likewise.
4172 * testsuite/libffi.call/cls_8byte.c: Likewise.
4173 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4174 * testsuite/libffi.call/cls_9byte2.c: Likewise.
4175 * testsuite/libffi.call/cls_align_double.c: Likewise.
4176 * testsuite/libffi.call/cls_align_float.c: Likewise.
4177 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4178 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
4179 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
4180 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
4181 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
4182 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
4183 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
4184 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
4185 * testsuite/libffi.call/cls_double.c: Likewise.
4186 * testsuite/libffi.call/cls_float.c: Likewise.
4187 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
4188 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
4189 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4190 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4191 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4192 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4193 * testsuite/libffi.call/cls_schar.c: Likewise.
4194 * testsuite/libffi.call/cls_sint.c: Likewise.
4195 * testsuite/libffi.call/cls_sshort.c: Likewise.
4196 * testsuite/libffi.call/cls_uchar.c: Likewise.
4197 * testsuite/libffi.call/cls_uint.c: Likewise.
4198 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4199 * testsuite/libffi.call/cls_ushort.c: Likewise.
4200 * testsuite/libffi.call/nested_struct.c: Likewise.
4201 * testsuite/libffi.call/nested_struct1.c: Likewise.
4202 * testsuite/libffi.call/nested_struct2.c: Likewise.
4203 * testsuite/libffi.call/nested_struct3.c: Likewise.
4204 * testsuite/libffi.call/problem1.c: Likewise.
4205 * testsuite/libffi.special/unwindtest.cc: Likewise.
4206 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
4207 to zero.
4208 * testsuite/libffi.call/cls_16byte.c: Likewise.
4209 * testsuite/libffi.call/cls_5byte.c: Likewise.
4210
42112004-08-23 David Daney <daney@avtrex.com>
4212
4213 PR libgcj/13141
4214 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
4215 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
4216 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
4217 parameters and return types.
4218 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
4219 (ffi_prep_closure): Ditto.
4220 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
4221 alignment calculations.
4222 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
4223 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
4224
42252004-08-14 Casey Marshall <csm@gnu.org>
4226
4227 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
4228 contain `FFI_TYPE_UINT64' as return type for any 64-bit
4229 integer (O32 ABI only).
4230 (ffi_prep_closure): new function.
4231 (ffi_closure_mips_inner_O32): new function.
4232 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
4233 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
4234 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
4235 64 bit integers correctly.
4236 (ffi_closure_O32): new function.
4237 Added DWARF-2 unwind info for both functions.
4238
42392004-08-10 Andrew Haley <aph@redhat.com>
4240
4241 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
4242
42432004-08-01 Robert Millan <robertmh@gnu.org>
4244
4245 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
4246 * configure: Regenerate.
4247
42482004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
4249
4250 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
4251 and mmap() explicitly instead of relying on preset autoconf cache
4252 variables.
4253 * aclocal.m4: Regenerate.
4254 * configure: Regenerate.
4255
42562004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
4257
4258 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
4259 (ffi_check_float_struct): Remove unused prototype.
4260
42612004-06-30 Geoffrey Keating <geoffk@apple.com>
4262
4263 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
4264 character on Darwin, use '\n\t' instead.
4265
42662004-06-26 Matthias Klose <doko@debian.org>
4267
4268 * libtool-version: Fix typo in revision/age.
4269
42702004-06-17 Matthias Klose <doko@debian.org>
4271
4272 * libtool-version: New.
4273 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
4274 * Makefile.in: Regenerate.
4275
42762004-06-15 Paolo Bonzini <bonzini@gnu.org>
4277
4278 * Makefile.am: Remove useless multilib rules.
4279 * Makefile.in: Regenerate.
4280 * aclocal.m4: Regenerate with automake 1.8.5.
4281 * configure.ac: Remove useless multilib configury.
4282 * configure: Regenerate.
4283
42842004-06-15 Paolo Bonzini <bonzini@gnu.org>
4285
4286 * .cvsignore: New file.
4287
42882004-06-10 Jakub Jelinek <jakub@redhat.com>
4289
4290 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
4291 fp_done.
4292 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
4293 changed from 8.
4294
42952004-06-06 Sean McNeil <sean@mcneil.com>
4296
4297 * configure.ac: Add x86_64-*-freebsd* support.
4298 * configure: Regenerate.
4299
43002004-04-26 Joe Buck <jbuck@welsh-buck.org>
4301
4302 Bug 15093
4303 * configure.ac: Test for existence of mmap and sys/mman.h before
4304 checking blacklist. Fix suggested by Jim Wilson.
4305 * configure: Regenerate.
4306
43072004-04-26 Matt Austern <austern@apple.com>
4308
4309 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
4310 FDE location.
4311 * src/powerpc/darwin_closure.S: Likewise.
4312
43132004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
4314
4315 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
4316 error. Reported by Thomas Heller <theller@python.net>.
4317 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
4318 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
4319
43202004-03-20 Matthias Klose <doko@debian.org>
4321
4322 * src/pa/linux.S: Fix typo.
4323
43242004-03-19 Matthias Klose <doko@debian.org>
4325
4326 * Makefile.am: Update.
4327 * Makefile.in: Regenerate.
4328 * src/pa/ffi.h.in: Remove.
4329 * src/pa/ffitarget.h: New file.
4330
43312004-02-10 Randolph Chung <tausq@debian.org>
4332
4333 * Makefile.am: Add PA support.
4334 * Makefile.in: Regenerate.
4335 * include/Makefile.in: Regenerate.
4336 * configure.ac: Add PA target.
4337 * configure: Regenerate.
4338 * src/pa/ffi.c: New file.
4339 * src/pa/ffi.h.in: Add PA support.
4340 * src/pa/linux.S: New file.
4341 * prep_cif.c: Add PA support.
4342
43432004-03-16 Hosaka Yuji <hos@tamanegi.org>
4344
4345 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
4346 double.
4347 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
4348 with ecif->cif->flags.
4349 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
4350 with cif->flags.
4351 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
4352 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
4353 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
4354 sc_retstruct2b): Add for 1 or 2-bytes struct case.
4355
43562004-03-15 Kelley Cook <kcook@gcc.gnu.org>
4357
4358 * configure.in: Rename file to ...
4359 * configure.ac: ... this.
4360 * fficonfig.h.in: Regenerate.
4361 * Makefile.in: Regenerate.
4362 * include/Makefile.in: Regenerate.
4363 * testsuite/Makefile.in: Regenerate.
4364
43652004-03-12 Matt Austern <austern@apple.com>
4366
4367 * src/powerpc/darwin.S: Fix EH information so it corresponds to
4368 changes in EH format resulting from addition of linkonce support.
4369 * src/powerpc/darwin_closure.S: Likewise.
4370
43712004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
4372 Paolo Bonzini <bonzini@gnu.org>
4373
4374 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
4375 Remove VPATH. Remove rules for object files. Remove multilib support.
4376 (AM_CCASFLAGS): Add.
4377 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
4378 (AC_PREREQ): Bump version to 2.59.
4379 (AC_INIT): Fill with version info and bug address.
4380 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
4381 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
4382 De-precious CC so that the right flags are passed down to multilibs.
4383 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
4384 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
4385 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
4386 * configure: Rebuilt.
4387 * aclocal.m4: Likewise.
4388 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
4389 * fficonfig.h.in: Likewise.
4390
43912004-03-11 Andreas Schwab <schwab@suse.de>
4392
4393 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
4394 arguments from fp registers only for the first 8 parameter slots.
4395 Don't convert a float parameter when passed in memory.
4396
43972004-03-09 Hans-Peter Nilsson <hp@axis.com>
4398
4399 * configure: Regenerate for config/accross.m4 correction.
4400
44012004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
4402
4403 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
4404 ecif->cif->bytes to bytes.
4405 (ffi_prep_cif_machdep): Add braces around nested if statement.
4406
44072004-02-09 Alan Modra <amodra@bigpond.net.au>
4408
4409 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
4410
4411 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
4412 (ffi_closure_helper_LINUX64): Fix typo.
4413 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
4414 for powerpc64-*-*.
4415 * testsuite/libffi.call/float.c: Likewise.
4416 * testsuite/libffi.call/float2.c: Likewise.
4417
44182004-02-08 Alan Modra <amodra@bigpond.net.au>
4419
4420 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
4421 long double function return and long double arg handling.
4422 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
4423 Use "end_pfr" instead of "nf". Correct long double handling.
4424 Localise "temp".
4425 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
4426 return value.
4427 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
4428 space for long double return value. Adjust stack frame and offsets.
4429 Load f2 long double return.
4430
44312004-02-07 Alan Modra <amodra@bigpond.net.au>
4432
4433 * src/types.c: Use 16 byte long double for POWERPC64.
4434
44352004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4436
4437 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
4438 when the structure return address is passed in %o0.
4439 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
4440 (ffi_v9_layout_struct): Align the field following a nested structure
4441 on a word boundary. Use memmove instead of memcpy.
4442 (ffi_call): Update call to ffi_V9_return_struct.
4443 (ffi_prep_closure): Define 'ctx' only for V8.
4444 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
4445 and ffi_closure_sparc_inner_v9.
4446 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
4447 Always skip the structure return address. For structures and long
4448 doubles, copy the argument directly.
4449 (ffi_closure_sparc_inner_v9): Skip the structure return address only
4450 if required. Shift the maximum floating-point slot accordingly. For
4451 big structures, copy the argument directly; otherwise, left-justify the
4452 argument and call ffi_v9_layout_struct to lay out the structure on
4453 the stack.
4454 * src/sparc/v8.S: Undef STACKFRAME before defining it.
4455 (ffi_closure_v8): Pass the structure return address. Update call to
4456 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
4457 Skip the 'unimp' insn when returning long doubles and structures.
4458 * src/sparc/v9.S: Undef STACKFRAME before defining it.
4459 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
4460 FFI_TYPE_INT handling. Load structures both in integers and
4461 floating-point registers on return.
4462 * README: Update status of the SPARC port.
4463
44642004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
4465
4466 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
4467 as of type ffi_arg.
4468 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
4469
44702004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
4471
4472 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
4473 value as of type ffi_arg, not unsigned int.
4474
44752004-01-21 Michael Ritzert <ritzert@t-online.de>
4476
4477 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
4478 of the LHS.
4479
44802004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
4481
4482 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
4483 Solaris.
4484
44852004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4486
4487 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
4488 to void *.
4489
44902003-12-10 Richard Henderson <rth@redhat.com>
4491
4492 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
4493 size_t instead of int.
4494
44952003-12-04 Hosaka Yuji <hos@tamanegi.org>
4496
4497 * testsuite/libffi.call/many_win32.c: Include <float.h>.
4498 * testsuite/libffi.call/many_win32.c (main): Replace variable
4499 int i with unsigned long ul.
4500
4501 * testsuite/libffi.call/cls_align_uint64.c: New test case.
4502 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
4503 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
4504 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
4505 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
4506 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
4507 * testsuite/libffi.call/cls_align_float.c: Likewise.
4508 * testsuite/libffi.call/cls_align_double.c: Likewise.
4509 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4510 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
4511
45122003-12-02 Hosaka Yuji <hos@tamanegi.org>
4513
4514 PR other/13221
4515 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
4516 Align arguments to 32 bits.
4517
45182003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
4519
4520 PR other/13221
4521 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
4522 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4523 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4524 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
4525 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4526 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4527
4528 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
4529
45302003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4531
4532 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
4533 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4534
45352003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
4536
4537 * Makefile.in: Rebuilt.
4538 * configure: Likewise.
4539 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
4540 the right type.
4541
45422003-11-21 Andreas Jaeger <aj@suse.de>
4543 Andreas Tobler <a.tobler@schweiz.ch>
4544
4545 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
4546 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
4547 * Makefile.in: Rebuilt.
4548 * aclocal.m4: Likewise.
4549 * configure: Likewise.
4550 * fficonfig.h.in: Likewise.
4551 * testsuite/lib/libffi-dg.exp: Add include dir.
4552 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
4553 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4554 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
4555 for ffi_closure if available.
4556 * testsuite/libffi.call/closure_fn1.c: Likewise.
4557 * testsuite/libffi.call/closure_fn2.c: Likewise.
4558 * testsuite/libffi.call/closure_fn3.c: Likewise.
4559 * testsuite/libffi.call/closure_fn4.c: Likewise.
4560 * testsuite/libffi.call/closure_fn5.c: Likewise.
4561 * testsuite/libffi.call/cls_12byte.c: Likewise.
4562 * testsuite/libffi.call/cls_16byte.c: Likewise.
4563 * testsuite/libffi.call/cls_18byte.c: Likewise.
4564 * testsuite/libffi.call/cls_19byte.c: Likewise.
4565 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4566 * testsuite/libffi.call/cls_20byte.c: Likewise.
4567 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4568 * testsuite/libffi.call/cls_24byte.c: Likewise.
4569 * testsuite/libffi.call/cls_2byte.c: Likewise.
4570 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4571 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4572 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4573 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4574 * testsuite/libffi.call/cls_4byte.c: Likewise.
4575 * testsuite/libffi.call/cls_5byte.c: Likewise.
4576 * testsuite/libffi.call/cls_64byte.c: Likewise.
4577 * testsuite/libffi.call/cls_6byte.c: Likewise.
4578 * testsuite/libffi.call/cls_7byte.c: Likewise.
4579 * testsuite/libffi.call/cls_8byte.c: Likewise.
4580 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4581 * testsuite/libffi.call/cls_9byte2.c: Likewise.
4582 * testsuite/libffi.call/cls_double.c: Likewise.
4583 * testsuite/libffi.call/cls_float.c: Likewise.
4584 * testsuite/libffi.call/cls_schar.c: Likewise.
4585 * testsuite/libffi.call/cls_sint.c: Likewise.
4586 * testsuite/libffi.call/cls_sshort.c: Likewise.
4587 * testsuite/libffi.call/cls_uchar.c: Likewise.
4588 * testsuite/libffi.call/cls_uint.c: Likewise.
4589 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4590 * testsuite/libffi.call/cls_ushort.c: Likewise.
4591 * testsuite/libffi.call/nested_struct.c: Likewise.
4592 * testsuite/libffi.call/nested_struct1.c: Likewise.
4593 * testsuite/libffi.call/nested_struct2.c: Likewise.
4594 * testsuite/libffi.call/nested_struct3.c: Likewise.
4595 * testsuite/libffi.call/problem1.c: Likewise.
4596 * testsuite/libffi.special/unwindtest.cc: Likewise.
4597
45982003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
4599
4600 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
4601
46022003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
4603
4604 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
4605 Add -lgcc_s to additional flags.
4606
46072003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
4608
4609 * configure.in, include/Makefile.am: PR libgcj/11147, install
4610 the ffitarget.h header file in a gcc versioned and target
4611 dependent place.
4612 * configure: Regenerated.
4613 * Makefile.in, include/Makefile.in: Likewise.
4614 * testsuite/Makefile.in: Likewise.
4615
46162003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
4617
4618 * testsuite/libffi.call/closure_fn0.c: Print result and check
4619 with dg-output to make debugging easier.
4620 * testsuite/libffi.call/closure_fn1.c: Likewise.
4621 * testsuite/libffi.call/closure_fn2.c: Likewise.
4622 * testsuite/libffi.call/closure_fn3.c: Likewise.
4623 * testsuite/libffi.call/closure_fn4.c: Likewise.
4624 * testsuite/libffi.call/closure_fn5.c: Likewise.
4625 * testsuite/libffi.call/cls_12byte.c: Likewise.
4626 * testsuite/libffi.call/cls_16byte.c: Likewise.
4627 * testsuite/libffi.call/cls_18byte.c: Likewise.
4628 * testsuite/libffi.call/cls_19byte.c: Likewise.
4629 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4630 * testsuite/libffi.call/cls_20byte.c: Likewise.
4631 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4632 * testsuite/libffi.call/cls_24byte.c: Likewise.
4633 * testsuite/libffi.call/cls_2byte.c: Likewise.
4634 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4635 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4636 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4637 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4638 * testsuite/libffi.call/cls_4byte.c: Likewise.
4639 * testsuite/libffi.call/cls_5byte.c: Likewise.
4640 * testsuite/libffi.call/cls_64byte.c: Likewise.
4641 * testsuite/libffi.call/cls_6byte.c: Likewise.
4642 * testsuite/libffi.call/cls_7byte.c: Likewise.
4643 * testsuite/libffi.call/cls_8byte.c: Likewise.
4644 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4645 * testsuite/libffi.call/cls_9byte2.c: Likewise.
4646 * testsuite/libffi.call/cls_double.c: Likewise.
4647 * testsuite/libffi.call/cls_float.c: Likewise.
4648 * testsuite/libffi.call/cls_schar.c: Likewise.
4649 * testsuite/libffi.call/cls_sint.c: Likewise.
4650 * testsuite/libffi.call/cls_sshort.c: Likewise.
4651 * testsuite/libffi.call/cls_uchar.c: Likewise.
4652 * testsuite/libffi.call/cls_uint.c: Likewise.
4653 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4654 * testsuite/libffi.call/cls_ushort.c: Likewise.
4655 * testsuite/libffi.call/problem1.c: Likewise.
4656
4657 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
4658 static.
4659
46602003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4661
4662 * testsuite/libffi.call/cls_9byte2.c: New test case.
4663 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4664 * testsuite/libffi.call/cls_64byte.c: Likewise.
4665 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4666 * testsuite/libffi.call/cls_19byte.c: Likewise.
4667 * testsuite/libffi.call/cls_18byte.c: Likewise.
4668 * testsuite/libffi.call/closure_fn4.c: Likewise.
4669 * testsuite/libffi.call/closure_fn5.c: Likewise.
4670 * testsuite/libffi.call/cls_schar.c: Likewise.
4671 * testsuite/libffi.call/cls_sint.c: Likewise.
4672 * testsuite/libffi.call/cls_sshort.c: Likewise.
4673 * testsuite/libffi.call/nested_struct2.c: Likewise.
4674 * testsuite/libffi.call/nested_struct3.c: Likewise.
4675
46762003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4677
4678 * testsuite/libffi.call/cls_double.c: Do a check on the result.
4679 * testsuite/libffi.call/cls_uchar.c: Likewise.
4680 * testsuite/libffi.call/cls_uint.c: Likewise.
4681 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4682 * testsuite/libffi.call/cls_ushort.c: Likewise.
4683 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
4684
46852003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
4686
4687 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
4688 the initialization.
4689
46902003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
4691
4692 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
4693 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
4694
46952003-10-22 David Daney <ddaney@avtrex.com>
4696
4697 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
4698 __attribute__((__mode__(__SI__))) and friends.
4699
47002003-10-22 Andreas Schwab <schwab@suse.de>
4701
4702 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
4703
47042003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
4705
4706 * configure.in: AC_LINK_FILES(ffitarget.h).
4707 * configure: Regenerate.
4708 * Makefile.in: Likewise.
4709 * include/Makefile.in: Likewise.
4710 * testsuite/Makefile.in: Likewise.
4711 * fficonfig.h.in: Likewise.
4712
47132003-10-21 Paolo Bonzini <bonzini@gnu.org>
4714 Richard Henderson <rth@redhat.com>
4715
4716 Avoid that ffi.h includes fficonfig.h.
4717
4718 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
4719 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4720 (TARGET_SRC_MIPS_SGI): Removed.
4721 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4722 (MIPS_SGI): Removed.
4723 (CLEANFILES): Removed.
4724 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
4725 targets.
4726 * acconfig.h: Removed.
4727 * configure.in: Compute sizeofs only for double and long double.
4728 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
4729 into AC_DEFINE instead of using acconfig.h. Create
4730 include/ffitarget.h instead of include/fficonfig.h. Rename
4731 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
4732 AC_DEFINE EH_FRAME_FLAGS.
4733 * include/Makefile.am (DISTCLEANFILES): New automake macro.
4734 (hack_DATA): Add ffitarget.h.
4735 * include/ffi.h.in: Remove all system specific definitions.
4736 Declare raw API even if it is not installed, why bother?
4737 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
4738 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
4739 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
4740 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
4741 * include/ffi_common.h (bool): Do not define.
4742 (ffi_assert): Accept failed assertion.
4743 (ffi_type_test): Return void and accept file/line.
4744 (FFI_ASSERT): Pass stringized failed assertion.
4745 (FFI_ASSERT_AT): New macro.
4746 (FFI_ASSERT_VALID_TYPE): New macro.
4747 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
4748 UINT64, SINT64): Define here with gcc's __attribute__ macro
4749 instead of in ffi.h
4750 (FLOAT32, ALIGN): Define here instead of in ffi.h
4751 * include/ffi-mips.h: Removed. Its content moved to
4752 src/mips/ffitarget.h after separating assembly and C sections.
4753 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
4754 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
4755 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
4756 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
4757 SIZEOF_ARG -> FFI_SIZEOF_ARG.
4758 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
4759 * src/debug.c (ffi_assert): Accept stringized failed assertion.
4760 (ffi_type_test): Rewritten.
4761 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
4762 FFI_ASSERT_VALID_TYPE.
4763 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
4764 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
4765 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
4766 src/s390/ffitarget.h, src/sh/ffitarget.h,
4767 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
4768 src/x86/ffitarget.h: New files.
4769 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
4770 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
4771 src/powerpc/aix.S, src/powerpc/darwin.S,
4772 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
4773 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
4774 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
4775 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
4776 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
4777 include fficonfig.h
4778
47792003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4780
4781 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
4782 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
4783
47842003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
4785
4786 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
4787 Used when FFI_DEBUG = 1.
4788
47892003-10-14 Alan Modra <amodra@bigpond.net.au>
4790
4791 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
4792 and align.
4793
47942003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4795
4796 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
4797 FFI_MIPS_O32 for O32 ABI.
4798
47992003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
4800
4801 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
4802 SPARC64. Cleanup whitespaces.
4803
48042003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
4805
4806 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
4807 strongarm, xscale. Cleanup whitespaces.
4808 * testsuite/libffi.call/closure_fn1.c: Likewise.
4809 * testsuite/libffi.call/closure_fn2.c: Likewise.
4810 * testsuite/libffi.call/closure_fn3.c: Likewise.
4811 * testsuite/libffi.call/cls_12byte.c: Likewise.
4812 * testsuite/libffi.call/cls_16byte.c: Likewise.
4813 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4814 * testsuite/libffi.call/cls_20byte.c: Likewise.
4815 * testsuite/libffi.call/cls_24byte.c: Likewise.
4816 * testsuite/libffi.call/cls_2byte.c: Likewise.
4817 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4818 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4819 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4820 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4821 * testsuite/libffi.call/cls_4byte.c: Likewise.
4822 * testsuite/libffi.call/cls_5byte.c: Likewise.
4823 * testsuite/libffi.call/cls_6byte.c: Likewise.
4824 * testsuite/libffi.call/cls_7byte.c: Likewise.
4825 * testsuite/libffi.call/cls_8byte.c: Likewise.
4826 * testsuite/libffi.call/cls_double.c: Likewise.
4827 * testsuite/libffi.call/cls_float.c: Likewise.
4828 * testsuite/libffi.call/cls_uchar.c: Likewise.
4829 * testsuite/libffi.call/cls_uint.c: Likewise.
4830 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4831 * testsuite/libffi.call/cls_ushort.c: Likewise.
4832 * testsuite/libffi.call/nested_struct.c: Likewise.
4833 * testsuite/libffi.call/nested_struct1.c: Likewise.
4834 * testsuite/libffi.call/problem1.c: Likewise.
4835 * testsuite/libffi.special/unwindtest.cc: Likewise.
4836 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
4837
48382003-09-18 David Edelsohn <edelsohn@gnu.org>
4839
4840 * src/powerpc/aix.S: Cleanup whitespaces.
4841 * src/powerpc/aix_closure.S: Likewise.
4842
48432003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4844
4845 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
4846 * src/powerpc/darwin_closure.S: Likewise.
4847 * src/powerpc/ffi_darwin.c: Likewise.
4848
48492003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4850 David Edelsohn <edelsohn@gnu.org>
4851
4852 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
4853 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
4854 parameter stack.
4855 * src/powerpc/darwin_closure.S: Likewise.
4856 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4857 according to the Darwin/AIX ABI.
4858 (ffi_prep_cif_machdep): Likewise.
4859 (ffi_closure_helper_DARWIN): Likewise.
4860 Remove the outgoing parameter stack logic. Simplify the evaluation
4861 of the different CASE types.
4862 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4863 statement in the trampoline code.
4864
48652003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4866
4867 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4868 for the register size.
4869 (ffi_closure_helper_SYSV): Handle the structure return value
4870 address correctly.
4871 (ffi_closure_helper_SYSV): Return the appropriate type when
4872 the registers are used for the structure return value.
4873 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4874 the 64-bit return value. Update copyright years.
4875
48762003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4877
4878 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4879 srcdir for ffi_mips.h.
4880
48812003-09-12 Alan Modra <amodra@bigpond.net.au>
4882
4883 * src/prep_cif.c (initialize_aggregate): Include tail padding in
4884 structure size.
4885 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4886 placement of float result.
4887 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4888 cast of "resp" for big-endian 64 bit machines.
4889
48902003-09-11 Alan Modra <amodra@bigpond.net.au>
4891
4892 * src/types.c (double, longdouble): Merge identical SH and ARM
4893 typedefs, and add POWERPC64.
4894 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4895 struct split over gpr and rest.
4896 (ffi_prep_cif_machdep): Correct intarg_count for structures.
4897 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4898
48992003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
4900
4901 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4902 passing correctly.
4903
49042003-09-09 Alan Modra <amodra@bigpond.net.au>
4905
4906 * configure: Regenerate.
4907
49082003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4909
4910 * Makefile.am: Remove build rules for ffitest.
4911 * Makefile.in: Rebuilt.
4912
49132003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4914
4915 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4916 about implicit declaration of abort().
4917
49182003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4919
4920 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4921 * Makefile.in: Rebuilt.
4922 * configure.in: Add dejagnu test framework.
4923 * configure: Rebuilt.
4924
4925 * testsuite/Makefile.am: New file.
4926 * testsuite/Makefile.in: Built
4927 * testsuite/lib/libffi-dg.exp: New file.
4928 * testsuite/config/default.exp: Likewise.
4929 * testsuite/libffi.call/call.exp: Likewise.
4930 * testsuite/libffi.call/ffitest.h: Likewise.
4931 * testsuite/libffi.call/closure_fn0.c: Likewise.
4932 * testsuite/libffi.call/closure_fn1.c: Likewise.
4933 * testsuite/libffi.call/closure_fn2.c: Likewise.
4934 * testsuite/libffi.call/closure_fn3.c: Likewise.
4935 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4936 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4937 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4938 * testsuite/libffi.call/cls_2byte.c: Likewise.
4939 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4940 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4941 * testsuite/libffi.call/cls_4byte.c: Likewise.
4942 * testsuite/libffi.call/cls_5byte.c: Likewise.
4943 * testsuite/libffi.call/cls_6byte.c: Likewise.
4944 * testsuite/libffi.call/cls_7byte.c: Likewise.
4945 * testsuite/libffi.call/cls_8byte.c: Likewise.
4946 * testsuite/libffi.call/cls_12byte.c: Likewise.
4947 * testsuite/libffi.call/cls_16byte.c: Likewise.
4948 * testsuite/libffi.call/cls_20byte.c: Likewise.
4949 * testsuite/libffi.call/cls_24byte.c: Likewise.
4950 * testsuite/libffi.call/cls_double.c: Likewise.
4951 * testsuite/libffi.call/cls_float.c: Likewise.
4952 * testsuite/libffi.call/cls_uchar.c: Likewise.
4953 * testsuite/libffi.call/cls_uint.c: Likewise.
4954 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4955 * testsuite/libffi.call/cls_ushort.c: Likewise.
4956 * testsuite/libffi.call/float.c: Likewise.
4957 * testsuite/libffi.call/float1.c: Likewise.
4958 * testsuite/libffi.call/float2.c: Likewise.
4959 * testsuite/libffi.call/many.c: Likewise.
4960 * testsuite/libffi.call/many_win32.c: Likewise.
4961 * testsuite/libffi.call/nested_struct.c: Likewise.
4962 * testsuite/libffi.call/nested_struct1.c: Likewise.
4963 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
4964 * testsuite/libffi.call/problem1.c: Likewise.
4965 * testsuite/libffi.call/promotion.c: Likewise.
4966 * testsuite/libffi.call/return_ll.c: Likewise.
4967 * testsuite/libffi.call/return_sc.c: Likewise.
4968 * testsuite/libffi.call/return_uc.c: Likewise.
4969 * testsuite/libffi.call/strlen.c: Likewise.
4970 * testsuite/libffi.call/strlen_win32.c: Likewise.
4971 * testsuite/libffi.call/struct1.c: Likewise.
4972 * testsuite/libffi.call/struct2.c: Likewise.
4973 * testsuite/libffi.call/struct3.c: Likewise.
4974 * testsuite/libffi.call/struct4.c: Likewise.
4975 * testsuite/libffi.call/struct5.c: Likewise.
4976 * testsuite/libffi.call/struct6.c: Likewise.
4977 * testsuite/libffi.call/struct7.c: Likewise.
4978 * testsuite/libffi.call/struct8.c: Likewise.
4979 * testsuite/libffi.call/struct9.c: Likewise.
4980 * testsuite/libffi.special/special.exp: New file.
4981 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4982 * testsuite/libffi.special/unwindtest.cc: Likewise.
4983
4984
49852003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4986
4987 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
4988 copyright years.
4989
49902003-08-02 Alan Modra <amodra@bigpond.net.au>
4991
4992 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
4993 structure passing.
4994 (ffi_closure_helper_LINUX64): Likewise.
4995 * src/powerpc/linux64.S: Remove code writing to parm save area.
4996 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
4997 address in lr from ffi_closure_helper_LINUX64 call to calculate
4998 table address. Optimize function tail.
4999
50002003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
5001
5002 * src/sparc/ffi.c: Handle all floating point registers.
5003 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
5004
50052003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5006
5007 * README: Note that libffi is not part of GCC. Update the project
5008 URL and status.
5009
50102003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5011
5012 * src/powerpc/ppc_closure.S: Include ffi.h.
5013
50142003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5015
5016 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
5017 Use C style comments.
5018
50192003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5020
5021 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
5022 * Makefile.in: Regenerate.
5023 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
5024 * configure: Regenerate.
5025 * include/ffi.h.in: Add SHmedia support.
5026 * src/sh64/ffi.c: New file.
5027 * src/sh64/sysv.S: New file.
5028
50292003-05-16 Jakub Jelinek <jakub@redhat.com>
5030
5031 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
5032 should be read-only.
5033 * configure: Rebuilt.
5034 * fficonfig.h.in: Rebuilt.
5035 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
5036 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
5037 * src/powerpc/linux64.S: Likewise.
5038 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
5039 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
5040 if -fpic/-fPIC/-mrelocatable.
5041 * src/powerpc/powerpc_closure.S: Likewise.
5042 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
5043 #write in .eh_frame flags.
5044 * src/sparc/v9.S: Likewise.
5045 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
5046 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
5047 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
5048
50492003-05-07 Jeff Sturm <jsturm@one-point.com>
5050
5051 Fixes PR bootstrap/10656
5052 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
5053 support for .register pseudo-op.
5054 * src/sparc/v8.S: Use it.
5055 * fficonfig.h.in: Rebuilt.
5056 * configure: Rebuilt.
5057
50582003-04-18 Jakub Jelinek <jakub@redhat.com>
5059
5060 * include/ffi.h.in (POWERPC64): Define if 64-bit.
5061 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
5062 Make it the default on POWERPC64.
5063 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
5064 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
5065 * configure: Rebuilt.
5066 * src/powerpc/ffi.c (hidden): Define.
5067 (ffi_prep_args_SYSV): Renamed from
5068 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
5069 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
5070 ASM_NEEDS_REGISTERS64): New.
5071 (ffi_prep_args64): New function.
5072 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
5073 (ffi_call): Likewise.
5074 (ffi_prep_closure): Likewise.
5075 (flush_icache): Surround by #ifndef POWERPC64.
5076 (ffi_dblfl): New union type.
5077 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
5078 (ffi_closure_helper_LINUX64): New function.
5079 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
5080 __powerpc64__.
5081 * src/powerpc/sysv.S: Likewise.
5082 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
5083 * src/powerpc/linux64.S: New file.
5084 * src/powerpc/linux64_closure.S: New file.
5085 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
5086 src/powerpc/linux64_closure.S.
5087 (TARGET_SRC_POWERPC): Likewise.
5088
5089 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
5090 closure_test_fn3): Fix result printing on big-endian 64-bit
5091 machines.
5092 (main): Print tst2_arg instead of uninitialized tst2_result.
5093
5094 * src/ffitest.c (main): Hide what closure pointer really points to
5095 from the compiler.
5096
50972003-04-16 Richard Earnshaw <rearnsha@arm.com>
5098
5099 * configure.in (arm-*-netbsdelf*): Add configuration.
5100 (configure): Regenerated.
5101
51022003-04-04 Loren J. Rittle <ljrittle@acm.org>
5103
5104 * include/Makefile.in: Regenerate.
5105
51062003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5107
5108 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
5109 bit mode.
5110 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
5111 Receive closure pointer through parameter, read args using
5112 __builtin_dwarf_cfa.
5113 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
5114
51152003-03-12 Andreas Schwab <schwab@suse.de>
5116
5117 * configure.in: Avoid trailing /. in toolexeclibdir.
5118 * configure: Rebuilt.
5119
51202003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
5121
5122 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
5123
51242003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
5125
5126 * libffi/src/powerpc/darwin_closure.S:
5127 Fix alignement bug, allocate 8 bytes for the result.
5128 * libffi/src/powerpc/aix_closure.S:
5129 Likewise.
5130 * libffi/src/powerpc/ffi_darwin.c:
5131 Update stackframe description for aix/darwin_closure.S.
5132
51332003-02-06 Jakub Jelinek <jakub@redhat.com>
5134
5135 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
5136 attribute.
5137
51382003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
5139 Andreas Schwab <schwab@suse.de>
5140
5141 * configure.in: Adjust command to source config-ml.in to account
5142 for changes to the libffi_basedir definition.
5143 (libffi_basedir): Remove ${srcdir} from value and include trailing
5144 slash if nonempty.
5145
5146 * configure: Regenerate.
5147
51482003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5149
5150 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
5151
51522003-01-28 Andrew Haley <aph@redhat.com>
5153
5154 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
5155 * src/x86/ffi64.c (ffi_prep_closure): New.
5156 (ffi_closure_UNIX64_inner): New.
5157 * src/x86/unix64.S (ffi_closure_UNIX64): New.
5158
51592003-01-27 Alexandre Oliva <aoliva@redhat.com>
5160
5161 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
5162 Remove USE_LIBDIR conditional.
5163 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
5164 * Makefile.in, configure: Rebuilt.
5165
51662003-01027 David Edelsohn <edelsohn@gnu.org>
5167
5168 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
5169 * Makefile.in: Regenerate.
5170
51712003-01-22 Andrew Haley <aph@redhat.com>
5172
5173 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
5174 unwind info.
5175
51762003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
5177
5178 * src/powerpc/darwin.S: Add unwind info.
5179 * src/powerpc/darwin_closure.S: Likewise.
5180
51812003-01-14 Andrew Haley <aph@redhat.com>
5182
5183 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
5184 (ffi_prep_cif_machdep): Likewise.
5185 * src/x86/unix64.S: Add unwind info.
5186
51872003-01-14 Andreas Jaeger <aj@suse.de>
5188
5189 * src/ffitest.c (main): Only use ffi_closures if those are
5190 supported.
5191
51922003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
5193
5194 * libffi/src/ffitest.c
5195 add closure testcases
5196
51972003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
5198
5199 * libffi/src/powerpc/ffi.c
5200 fix alignment bug for float (4 byte aligned iso 8 byte)
5201
52022003-01-09 Geoffrey Keating <geoffk@apple.com>
5203
5204 * src/powerpc/ffi_darwin.c: Remove RCS version string.
5205 * src/powerpc/darwin.S: Remove RCS version string.
5206
52072003-01-03 Jeff Sturm <jsturm@one-point.com>
5208
5209 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
5210 * src/ffitest.c (main): Use static storage for closure.
5211 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
5212 * src/sparc/v8.S (ffi_closure_v8): New.
5213 * src/sparc/v9.S (ffi_closure_v9): New.
5214
52152002-11-10 Ranjit Mathew <rmathew@hotmail.com>
5216
5217 * include/ffi.h.in: Added FFI_STDCALL ffi_type
5218 enumeration for X86_WIN32.
5219 * src/x86/win32.S: Added ffi_call_STDCALL function
5220 definition.
5221 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
5222 switch cases for recognising FFI_STDCALL and
5223 calling ffi_call_STDCALL if target is X86_WIN32.
5224 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
5225 stdcall versions of the "my_strlen" and "many"
5226 test functions (for X86_WIN32).
5227 Added test cases to test stdcall invocation using
5228 these functions.
5229
52302002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
5231
5232 * src/sh/sysv.S: Add DWARF2 unwind info.
5233
52342002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
5235
5236 * src/s390/sysv.S (.eh_frame section): Make section read-only.
5237
52382002-11-26 Jim Wilson <wilson@redhat.com>
5239
5240 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
5241
52422002-11-23 H.J. Lu <hjl@gnu.org>
5243
5244 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
5245 Include ../config/accross.m4.
5246 * aclocal.m4; Rebuild.
5247 * configure: Likewise.
5248
52492002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
5250
5251 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
5252
52532002-11-11 DJ Delorie <dj@redhat.com>
5254
5255 * configure.in: Look for common files in the right place.
5256
52572002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
5258
5259 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
5260 raw data as _Jv_word values, not ffi_raw.
5261 (ffi_java_ptrarray_to_raw): Likewise.
5262 (ffi_java_rvalue_to_raw): New function.
5263 (ffi_java_raw_call): Call it.
5264 (ffi_java_raw_to_rvalue): New function.
5265 (ffi_java_translate_args): Call it.
5266 * src/ffitest.c (closure_test_fn): Interpret return value
5267 as ffi_arg, not int.
5268 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
5269 FFI_TYPE_POINTER case.
5270 (ffi_closure_helper_SYSV): Likewise. Also, assume return
5271 values extended to word size.
5272
52732002-10-02 Andreas Jaeger <aj@suse.de>
5274
5275 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
5276
52772002-10-01 Bo Thorsen <bo@smetana.suse.de>
5278
5279 * include/ffi.h.in: Fix i386 win32 compilation.
5280
52812002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
5282
5283 * configure.in: Add s390x-*-linux-* target.
5284 * configure: Regenerate.
5285 * include/ffi.h.in: Define S390X for s390x targets.
5286 (FFI_CLOSURES): Define for s390/s390x.
5287 (FFI_TRAMPOLINE_SIZE): Likewise.
5288 (FFI_NATIVE_RAW_API): Likewise.
5289 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
5290 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
5291 * src/s390/ffi.c: Major rework of existing code. Add support for
5292 s390x targets. Add closure support.
5293 * src/s390/sysv.S: Likewise.
5294
52952002-09-29 Richard Earnshaw <rearnsha@arm.com>
5296
5297 * src/arm/sysv.S: Fix typo.
5298
52992002-09-28 Richard Earnshaw <rearnsha@arm.com>
5300
5301 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
5302 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
5303 (ffi_call_SYSV): Handle soft-float.
5304
53052002-09-27 Bo Thorsen <bo@suse.de>
5306
5307 * include/ffi.h.in: Fix multilib x86-64 support.
5308
53092002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5310
5311 * Makefile.am (all-multi): Fix multilib parallel build.
5312
53132002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
5314
5315 * configure.in (sh[34]*-*-linux*): Add brackets.
5316 * configure: Regenerate.
5317
53182002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
5319
5320 * Makefile.am: Add SH support.
5321 * Makefile.in: Regenerate.
5322 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
5323 * configure: Regenerate.
5324 * include/ffi.h.in: Add SH support.
5325 * src/sh/ffi.c: New file.
5326 * src/sh/sysv.S: New file.
5327 * src/types.c: Add SH support.
5328
53292002-07-16 Bo Thorsen <bo@suse.de>
5330
5331 * src/x86/ffi64.c: New file that adds x86-64 support.
5332 * src/x86/unix64.S: New file that handles argument setup for
5333 x86-64.
5334 * src/x86/sysv.S: Don't use this on x86-64.
5335 * src/x86/ffi.c: Don't use this on x86-64.
5336 Remove unused vars.
5337 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
5338 for x86-64.
5339 * src/ffitest.c (struct6): New test that tests a special case in
5340 the x86-64 ABI.
5341 (struct7): Likewise.
5342 (struct8): Likewise.
5343 (struct9): Likewise.
5344 (closure_test_fn): Silence warning about this when it's not used.
5345 (main): Add the new tests.
5346 (main): Fix a couple of wrong casts and silence some compiler warnings.
5347 * include/ffi.h.in: Add x86-64 ABI definition.
5348 * fficonfig.h.in: Regenerate.
5349 * Makefile.am: Add x86-64 support.
5350 * configure.in: Likewise.
5351 * Makefile.in: Regenerate.
5352 * configure: Likewise.
5353
53542002-06-24 Bo Thorsen <bo@suse.de>
5355
5356 * src/types.c: Merge settings for similar architectures.
5357 Add x86-64 sizes and alignments.
5358
53592002-06-23 Bo Thorsen <bo@suse.de>
5360
5361 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
5362 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
5363 * src/mips/ffi.c (ffi_prep_args): Likewise.
5364 * src/m68k/ffi.c (ffi_prep_args): Likewise.
5365
53662002-07-18 H.J. Lu (hjl@gnu.org)
5367
5368 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
5369 (libffi_la_SOURCES): Support MIPS_LINUX.
5370 (libffi_convenience_la_SOURCES): Likewise.
5371 * Makefile.in: Regenerated.
5372
5373 * configure.in (mips64*-*): Skip.
5374 (mips*-*-linux*): New.
5375 * configure: Regenerated.
5376
5377 * src/mips/ffi.c: Include <sgidefs.h>.
5378
53792002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
5380
5381 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
5382
53832002-05-27 Roger Sayle <roger@eyesopen.com>
5384
5385 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
5386
53872002-05-27 Bo Thorsen <bo@suse.de>
5388
5389 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
5390 fix formatting.
5391
53922002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
5393
5394 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
5395 beginning of function (for older apple cc).
5396
53972002-05-08 Alexandre Oliva <aoliva@redhat.com>
5398
5399 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
5400 script entry, and set LD to it when configuring multilibs.
5401 * configure: Rebuilt.
5402
54032002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
5404
5405 * configure.in (sparc64-*-netbsd*): Add target.
5406 (sparc-*-netbsdelf*): Likewise.
5407 * configure: Regenerate.
5408
54092002-04-28 David S. Miller <davem@redhat.com>
5410
5411 * configure.in, configure: Fix SPARC test in previous change.
5412
54132002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
5414
5415 * Makefile.am: Add Linux for S/390 support.
5416 * Makefile.in: Regenerate.
5417 * configure.in: Add Linux for S/390 support.
5418 * configure: Regenerate.
5419 * include/ffi.h.in: Add Linux for S/390 support.
5420 * src/s390/ffi.c: New file from libffi CVS tree.
5421 * src/s390/sysv.S: New file from libffi CVS tree.
5422
54232002-04-28 Jakub Jelinek <jakub@redhat.com>
5424
5425 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
5426 %r_disp32().
5427 * src/sparc/v8.S: Use it.
5428 * src/sparc/v9.S: Likewise.
5429 * fficonfig.h.in: Rebuilt.
5430 * configure: Rebuilt.
5431
54322002-04-08 Hans Boehm <Hans_Boehm@hp.com>
5433
5434 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
5435 correctly.
5436 * src/ia64/unix.S: Add unwind information. Fix comments.
5437 Save sp in a way that's compatible with unwind info.
5438 (ffi_call_unix): Correctly restore sp in all cases.
5439 * src/ia64/ffi.c: Add, fix comments.
5440
54412002-04-08 Jakub Jelinek <jakub@redhat.com>
5442
5443 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
5444
54452002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
5446
5447 * configure.in (alpha*-*-netbsd*): Add target.
5448 * configure: Regenerate.
5449
54502002-04-04 Jeff Sturm <jsturm@one-point.com>
5451
5452 * src/sparc/v8.S: Add unwind info.
5453 * src/sparc/v9.S: Likewise.
5454
54552002-03-30 Krister Walfridsson <cato@df.lth.se>
5456
5457 * configure.in: Enable i*86-*-netbsdelf*.
5458 * configure: Rebuilt.
5459
54602002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
5461
5462 PR other/2620
5463 * src/mips/n32.s: Delete
5464 * src/mips/o32.s: Delete
5465
54662002-03-21 Loren J. Rittle <ljrittle@acm.org>
5467
5468 * configure.in: Enable alpha*-*-freebsd*.
5469 * configure: Rebuilt.
5470
54712002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5472
5473 * Makefile.am: libfficonvenience -> libffi_convenience.
5474 * Makefile.in: Rebuilt.
5475
5476 * Makefile.am: Define ffitest_OBJECTS.
5477 * Makefile.in: Rebuilt.
5478
54792002-03-07 Andreas Tobler <toa@pop.agri.ch>
5480 David Edelsohn <edelsohn@gnu.org>
5481
5482 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
5483 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
5484 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
5485 * Makefile.in: Regenerate.
5486 * include/ffi.h.in: Add AIX and Darwin closure definitions.
5487 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
5488 (flush_icache, flush_range): New functions.
5489 (ffi_closure_helper_DARWIN): New function.
5490 * src/powerpc/aix_closure.S: New file.
5491 * src/powerpc/darwin_closure.S: New file.
5492
54932002-02-24 Jeff Sturm <jsturm@one-point.com>
5494
5495 * include/ffi.h.in: Add typedef for ffi_arg.
5496 * src/ffitest.c (main): Declare rint with ffi_arg.
5497
54982002-02-21 Andreas Tobler <toa@pop.agri.ch>
5499
5500 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
5501 number of GPRs for floating-point arguments.
5502
55032002-01-31 Anthony Green <green@redhat.com>
5504
5505 * configure: Rebuilt.
5506 * configure.in: Replace CHECK_SIZEOF and endian tests with
5507 cross-compiler friendly macros.
5508 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
5509 macros.
5510
55112002-01-18 David Edelsohn <edelsohn@gnu.org>
5512
5513 * src/powerpc/darwin.S (_ffi_call_AIX): New.
5514 * src/powerpc/aix.S (ffi_call_DARWIN): New.
5515
55162002-01-17 David Edelsohn <edelsohn@gnu.org>
5517
5518 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
5519 (TARGET_SRC_POWERPC_AIX): New.
5520 (POWERPC_AIX): New stanza.
5521 * Makefile.in: Regenerate.
5522 * configure.in: Add AIX case.
5523 * configure: Regenerate.
5524 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
5525 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
5526 size. Fix "long double" support.
5527 (ffi_call): Add FFI_AIX case.
5528 * src/powerpc/aix.S: New.
5529
55302001-10-09 John Hornkvist <john@toastedmarshmallow.com>
5531
5532 Implement Darwin PowerPC ABI.
5533 * configure.in: Handle powerpc-*-darwin*.
5534 * Makefile.am: Set source files for POWERPC_DARWIN.
5535 * configure: Rebuilt.
5536 * Makefile.in: Rebuilt.
5537 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
5538 POWERPC_DARWIN.
5539 * src/powerpc/darwin.S: New file.
5540 * src/powerpc/ffi_darwin.c: New file.
5541
55422001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5543
5544 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
5545
55462001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5547
5548 * src/x86/sysv.S: Avoid gas-only .balign directive.
5549 Use C style comments.
5550
55512001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5552
5553 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
5554 Fixes PR bootstrap/3563.
5555
55562001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5557
5558 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
5559
55602001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5561
5562 * configure.in: Recognize sparc*-sun-* host.
5563 * configure: Regenerate.
5564
55652001-06-06 Andrew Haley <aph@redhat.com>
5566
5567 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5568
55692001-06-03 Andrew Haley <aph@redhat.com>
5570
5571 * src/alpha/osf.S: Add unwind info.
5572 * src/powerpc/sysv.S: Add unwind info.
5573 * src/powerpc/ppc_closure.S: Likewise.
5574
55752000-05-31 Jeff Sturm <jsturm@one-point.com>
5576
5577 * configure.in: Fix AC_ARG_ENABLE usage.
5578 * configure: Rebuilt.
5579
55802001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5581
5582 * configure.in: Remove warning about beta code.
5583 * configure: Rebuilt.
5584
55852001-04-25 Hans Boehm <Hans_Boehm@hp.com>
5586
5587 * src/ia64/unix.S: Restore stack pointer when returning from
5588 ffi_closure_UNIX.
5589 * src/ia64/ffi.c: Fix typo in comment.
5590
55912001-04-18 Jim Wilson <wilson@redhat.com>
5592
5593 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
5594 to eliminate RAW DV.
5595
55962001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
5597
5598 * Makefile.am: Make a libtool convenience library.
5599 * Makefile.in: Rebuilt.
5600
56012001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
5602
5603 * configure.in: Use different syntax for subdirectory creation.
5604 * configure: Rebuilt.
5605
56062001-03-27 Jon Beniston <jon@beniston.com>
5607
5608 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
5609 * configure: Rebuilt.
5610 * Makefile.am: Added X86_WIN32 target support.
5611 * Makefile.in: Rebuilt.
5612
5613 * include/ffi.h.in: Added X86_WIN32 target support.
5614
5615 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
5616 * src/types.c: Added X86_WIN32 target support.
5617
5618 * src/x86/win32.S: New file. Based on sysv.S, but with EH
5619 stuff removed and made to work with CygWin's gas.
5620
56212001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
5622
5623 * configure.in: Make target subdirectory in build dir.
5624 * Makefile.am: Override suffix based rules to specify correct output
5625 subdirectory.
5626 * Makefile.in: Rebuilt.
5627 * configure: Rebuilt.
5628
56292001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
5630
5631 * src/powerpc/ppc_closure.S: New file.
5632 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
5633 involving long long and register pairs.
5634 (ffi_prep_closure): New function.
5635 (flush_icache): Likewise.
5636 (ffi_closure_helper_SYSV): Likewise.
5637 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
5638 (FFI_TRAMPOLINE_SIZE): Likewise.
5639 (FFI_NATIVE_RAW_API): Likewise.
5640 * Makefile.in: Rebuilt.
5641 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
5642 (TARGET_SRC_POWERPC): Likewise.
5643
56442001-03-19 Tom Tromey <tromey@redhat.com>
5645
5646 * Makefile.in: Rebuilt.
5647 * Makefile.am (ffitest_LDFLAGS): New macro.
5648
56492001-03-02 Nick Clifton <nickc@redhat.com>
5650
5651 * include/ffi.h.in: Remove RCS ident string.
5652 * include/ffi_mips.h: Remove RCS ident string.
5653 * src/debug.c: Remove RCS ident string.
5654 * src/ffitest.c: Remove RCS ident string.
5655 * src/prep_cif.c: Remove RCS ident string.
5656 * src/types.c: Remove RCS ident string.
5657 * src/alpha/ffi.c: Remove RCS ident string.
5658 * src/alpha/osf.S: Remove RCS ident string.
5659 * src/arm/ffi.c: Remove RCS ident string.
5660 * src/arm/sysv.S: Remove RCS ident string.
5661 * src/mips/ffi.c: Remove RCS ident string.
5662 * src/mips/n32.S: Remove RCS ident string.
5663 * src/mips/o32.S: Remove RCS ident string.
5664 * src/sparc/ffi.c: Remove RCS ident string.
5665 * src/sparc/v8.S: Remove RCS ident string.
5666 * src/sparc/v9.S: Remove RCS ident string.
5667 * src/x86/ffi.c: Remove RCS ident string.
5668 * src/x86/sysv.S: Remove RCS ident string.
5669
56702001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
5671
5672 * include/ffi.h.in: Change sourceware.cygnus.com references to
5673 gcc.gnu.org.
5674
56752000-12-09 Richard Henderson <rth@redhat.com>
5676
5677 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
5678 (ffi_closure_osf_inner): Index rather than increment avalue
5679 and arg_types. Give ffi_closure_osf the raw return value type.
5680 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
5681 promotion.
5682
56832000-12-07 Richard Henderson <rth@redhat.com>
5684
5685 * src/raw_api.c (ffi_translate_args): Fix typo.
5686 (ffi_prep_closure): Likewise.
5687
5688 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
5689 FFI_TRAMPOLINE_SIZE.
5690 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
5691 cif->bytes for new ffi_call_osf implementation.
5692 (ffi_prep_args): Absorb into ...
5693 (ffi_call): ... here. Do all stack allocation here and
5694 avoid a callback function.
5695 (ffi_prep_closure, ffi_closure_osf_inner): New.
5696 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
5697 (ffi_closure_osf): New.
5698
56992000-09-10 Alexandre Oliva <aoliva@redhat.com>
5700
5701 * config.guess, config.sub, install-sh: Removed.
5702 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
5703 * Makefile.in: Rebuilt.
5704
5705 * acinclude.m4: Include libtool macros from the top level.
5706 * aclocal.m4, configure: Rebuilt.
5707
57082000-08-22 Alexandre Oliva <aoliva@redhat.com>
5709
5710 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
5711 * configure: Rebuilt.
5712
57132000-05-11 Scott Bambrough <scottb@netwinder.org>
5714
5715 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
5716 memory correctly. Use conditional instructions, not branches where
5717 possible.
5718
57192000-05-04 Tom Tromey <tromey@cygnus.com>
5720
5721 * configure: Rebuilt.
5722 * configure.in: Match `arm*-*-linux-*'.
5723 From Chris Dornan <cdornan@arm.com>.
5724
57252000-04-28 Jakub Jelinek <jakub@redhat.com>
5726
5727 * Makefile.am (SUBDIRS): Define.
5728 (AM_MAKEFLAGS): Likewise.
5729 (Multilib support.): Add section.
5730 * Makefile.in: Rebuilt.
5731 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
5732 New variables. Set for gcc using -print-multi-lib. Export them
5733 to libtool.
5734 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
5735 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
5736 for -shared links.
5737 (extra_compiler_flags_value, extra_compiler_flags): Check these
5738 for extra compiler options which need to be passed down in
5739 compiler_flags.
5740
57412000-04-16 Anthony Green <green@redhat.com>
5742
5743 * configure: Rebuilt.
5744 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
5745
57462000-04-14 Jakub Jelinek <jakub@redhat.com>
5747
5748 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
5749 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
5750 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
5751 Replace all void * sizeofs with sizeof(int).
5752 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
5753 different than DOUBLE.
5754 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
5755 (ffi_prep_args_v9): New function.
5756 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
5757 (ffi_V9_return_struct): New function.
5758 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
5759 32bit code (not yet cross-arch calls).
5760 * src/sparc/v8.S: Add struct return delay nop.
5761 Handle long long.
5762 * src/sparc/v9.S: New file.
5763 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
5764 is used on sparc64 only for structures larger than 32 bytes.
5765 Pass by reference for structures is done for structure arguments
5766 larger than 16 bytes.
5767 * src/ffitest.c (main): Use 64bit rint on sparc64.
5768 Run long long tests on sparc.
5769 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
5770 sparc64.
5771 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
5772 on sparc64.
5773 * configure.in (sparc-*-linux*): New supported target.
5774 (sparc64-*-linux*): Likewise.
5775 * configure: Rebuilt.
5776 * Makefile.am: Add v9.S to SPARC files.
5777 * Makefile.in: Likewise.
5778 (LINK): Surround $(CCLD) into double quotes, so that multilib
5779 compiles work correctly.
5780
57812000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
5782
5783 * configure: Rebuilt.
5784 * configure.in: (i*86-*-solaris*): New libffi target. Patch
5785 proposed by Bryce McKinlay.
5786
57872000-03-20 Tom Tromey <tromey@cygnus.com>
5788
5789 * Makefile.in: Hand edit for java_raw_api.lo.
5790
57912000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
5792
5793 * config.guess, config.sub: Update from the gcc tree.
5794 Fix for PR libgcj/168.
5795
57962000-03-03 Tom Tromey <tromey@cygnus.com>
5797
5798 * Makefile.in: Fixed ia64 by hand.
5799
5800 * configure: Rebuilt.
5801 * configure.in (--enable-multilib): New option.
5802 (libffi_basedir): New subst.
5803 (AC_OUTPUT): Added multilib code.
5804
58052000-03-02 Tom Tromey <tromey@cygnus.com>
5806
5807 * Makefile.in: Rebuilt.
5808 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
5809 directory name.
5810
58112000-02-25 Hans Boehm <boehm@acm.org>
5812
5813 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
5814 files.
5815 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
5816 list.
5817 (ffi_prep_raw_closure): Use ffi_translate_args, not
5818 ffi_closure_translate.
5819 * src/java_raw_api.c: New file.
5820 * src/ffitest.c (closure_test_fn): New function.
5821 (main): Define `rint' as long long on IA64. Added new test when
5822 FFI_CLOSURES is defined.
5823 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
5824 (ffi_abi): Recognize IA64.
5825 (ffi_raw): Added `flt' field.
5826 Added "Java raw API" code.
5827 * configure.in: Recognize ia64.
5828 * Makefile.am (TARGET_SRC_IA64): New macro.
5829 (libffi_la_common_SOURCES): Added java_raw_api.c.
5830 (libffi_la_SOURCES): Define in IA64 case.
5831
58322000-01-04 Tom Tromey <tromey@cygnus.com>
5833
5834 * Makefile.in: Rebuilt with newer automake.
5835
58361999-12-31 Tom Tromey <tromey@cygnus.com>
5837
5838 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
5839
58401999-09-01 Tom Tromey <tromey@cygnus.com>
5841
5842 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
5843 undefs.
5844 * fficonfig.h.in: Rebuilt.
5845 * configure: Rebuilt.
5846 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
5847 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
5848 * acconfig.h: Don't #undef PACKAGE or VERSION.
5849
58501999-08-09 Anthony Green <green@cygnus.com>
5851
5852 * include/ffi.h.in: Try to work around messy header problem
5853 with PACKAGE and VERSION.
5854
5855 * configure: Rebuilt.
5856 * configure.in: Change version to 2.00-beta.
5857
5858 * fficonfig.h.in: Rebuilt.
5859 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5860
5861 * src/x86/ffi.c (ffi_raw_call): Rename.
5862
58631999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
5864
5865 * src/x86/ffi.c (ffi_closure_SYSV): New function.
5866 (ffi_prep_incoming_args_SYSV): Ditto.
5867 (ffi_prep_closure): Ditto.
5868 (ffi_closure_raw_SYSV): Ditto.
5869 (ffi_prep_raw_closure): More ditto.
5870 (ffi_call_raw): Final ditto.
5871
5872 * include/ffi.h.in: Add definitions for closure and raw API.
5873
5874 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
5875 FFI_TYPE_UINT64.
5876
5877 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5878
5879 * src/raw_api.c: New file.
5880
5881 * include/ffi.h.in (ffi_raw): New type.
5882 (UINT_ARG, SINT_ARG): New defines.
5883 (ffi_closure, ffi_raw_closure): New types.
5884 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
5885
5886 * configure.in: Add check for endianness and sizeof void*.
5887
5888 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5889 instead of directly.
5890
5891 * configure: Rebuilt.
5892
5893Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
5894
5895 * configure.in: Add x86 and powerpc BeOS configurations.
5896 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
5897
58981999-05-09 Anthony Green <green@cygnus.com>
5899
5900 * configure.in: Add warning about this being beta code.
5901 Remove src/Makefile.am from the picture.
5902 * configure: Rebuilt.
5903
5904 * Makefile.am: Move logic from src/Makefile.am. Add changes
5905 to support libffi as a target library.
5906 * Makefile.in: Rebuilt.
5907
5908 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5909 Upgraded to new autoconf, automake, libtool.
5910
5911 * README: Tweaks.
5912
5913 * LICENSE: Update copyright date.
5914
5915 * src/Makefile.am, src/Makefile.in: Removed.
5916
59171998-11-29 Anthony Green <green@cygnus.com>
5918
5919 * include/ChangeLog: Removed.
5920 * src/ChangeLog: Removed.
5921 * src/mips/ChangeLog: Removed.
5922 * src/sparc/ChangeLog: Remboved.
5923 * src/x86/ChangeLog: Removed.
5924
5925 * ChangeLog.v1: Created.