~ubuntu-branches/ubuntu/trusty/python3.4/trusty-proposed

« back to all changes in this revision

Viewing changes to Modules/_ctypes/libffi/ChangeLog

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-11-25 09:44:27 UTC
  • Revision ID: package-import@ubuntu.com-20131125094427-lzxj8ap5w01lmo7f
Tags: upstream-3.4~b1
ImportĀ upstreamĀ versionĀ 3.4~b1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2013-03-17  Anthony Green  <green@moxielogic.com>
 
2
 
 
3
        * README: Update for 3.0.13.
 
4
        * configure.ac: Ditto.
 
5
        * configure: Rebuilt.
 
6
        * doc/*: Update version.
 
7
 
 
8
2013-03-17  Dave Korn  <dave.korn.cygwin@gmail.com>
 
9
 
 
10
        * src/closures.c (is_emutramp_enabled
 
11
        [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
 
12
        enclosing #if scope.
 
13
 
 
14
2013-03-17  Anthony Green  <green@moxielogic.com>
 
15
 
 
16
        * configure.ac: Only modify toolexecdir in certain cases.
 
17
        * configure: Rebuilt.
 
18
 
 
19
2013-03-16  Gilles Talis  <gilles.talis@gmail.com>
 
20
 
 
21
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
 
22
        fparg_count,etc on __NO_FPRS__ targets.
 
23
 
 
24
2013-03-16  Alan Hourihane  <alanh@fairlite.co.uk>
 
25
 
 
26
        * src/m68k/sysv.S (epilogue): Don't use extb instruction on
 
27
        m680000 machines.
 
28
 
 
29
2013-03-16  Alex Gaynor <alex.gaynor@gmail.com>
 
30
 
 
31
        * src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
 
32
 
 
33
2013-03-13  Markos Chandras <markos.chandras@imgtec.com>
 
34
 
 
35
        * configure.ac: Add support for Imagination Technologies Meta.
 
36
        * Makefile.am: Likewise.
 
37
        * README: Add Imagination Technologies Meta details.
 
38
        * src/metag/ffi.c: New.
 
39
        * src/metag/ffitarget.h: Likewise.
 
40
        * src/metag/sysv.S: Likewise.
 
41
 
 
42
2013-02-24  Andreas Schwab  <schwab@linux-m68k.org>
 
43
 
 
44
        * doc/libffi.texi (Structures): Fix missing category argument of
 
45
        @deftp.
 
46
 
 
47
2013-02-11  Anthony Green <green@moxielogic.com>
 
48
 
 
49
        * configure.ac: Update release number to 3.0.12.
 
50
        * configure: Rebuilt.
 
51
        * README: Update release info.
 
52
 
 
53
2013-02-10  Anthony Green <green@moxielogic.com>
 
54
 
 
55
        * README: Add Moxie.
 
56
        * src/moxie/ffi.c: Created.
 
57
        * src/moxie/eabi.S: Created.
 
58
        * src/moxie/ffitarget.h: Created.
 
59
        * Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
 
60
        * Makefile.in: Rebuilt.
 
61
        * configure.ac: Add Moxie.
 
62
        * configure: Rebuilt.
 
63
        * testsuite/libffi.call/huge_struct.c: Disable format string
 
64
        warnings for moxie*-*-elf tests.
 
65
 
 
66
2013-02-10  Anthony Green <green@moxielogic.com>
 
67
 
 
68
        * Makefile.am (LTLDFLAGS): Fix reference.
 
69
        * Makefile.in: Rebuilt.
 
70
 
 
71
2013-02-10  Anthony Green <green@moxielogic.com>
 
72
 
 
73
        * README: Update supported platforms.  Update test results link.
 
74
 
 
75
2013-02-09  Anthony Green <green@moxielogic.com>
 
76
 
 
77
        * testsuite/libffi.call/negint.c: Remove forced -O2.
 
78
        * testsuite/libffi.call/many2.c (foo): Remove GCCism.
 
79
        * testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
 
80
 
 
81
        * src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
 
82
        closure return type fix developed by Martin v. Lƶwis for cpython
 
83
        fork.
 
84
 
 
85
2013-02-08  Andreas Tobler  <andreast@fgznet.ch>
 
86
 
 
87
        * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
 
88
        support.
 
89
        * src/powerpc/sysv.S: Ditto.
 
90
 
 
91
2013-02-08  Anthony Green <green@moxielogic.com>
 
92
 
 
93
        * testsuite/libffi.call/cls_longdouble.c: Remove xfail for
 
94
        arm*-*-*.
 
95
 
 
96
2013-02-08  Anthony Green <green@moxielogic.com>
 
97
 
 
98
        * src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
 
99
 
 
100
2013-02-08  Matthias Klose  <doko@ubuntu.com>
 
101
 
 
102
        * man/ffi_prep_cif.3: Clean up for debian linter.
 
103
 
 
104
2013-02-08  Peter Bergner  <bergner@vnet.ibm.com>
 
105
 
 
106
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
 
107
        on the stack.
 
108
 
 
109
2013-02-08  Anthony Green <green@moxielogic.com>
 
110
 
 
111
        * Makefile.am (EXTRA_DIST): Add missing files.
 
112
        * testsuite/Makefile.am (EXTRA_DIST): Ditto.
 
113
        * Makefile.in: Rebuilt.
 
114
 
 
115
2013-02-08  Anthony Green <green@moxielogic.com>
 
116
 
 
117
        * configure.ac: Move sparc asm config checks to within functions
 
118
        for compatibility with sun tools.
 
119
        * configure: Rebuilt.
 
120
        * src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
 
121
        systems.
 
122
        * src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
 
123
        flusher.
 
124
 
 
125
2013-02-08  Nathan Rossi <nathan.rossi@xilinx.com>
 
126
 
 
127
        * src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
 
128
        small big-endian structures.
 
129
        (ffi_prep_args): Ditto.
 
130
 
 
131
2013-02-07  Anthony Green <green@moxielogic.com>
 
132
 
 
133
        * src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
 
134
        (effectively hiding ffi_call_v8).
 
135
 
 
136
2013-02-07  Anthony Green <green@moxielogic.com>
 
137
 
 
138
        * configure.ac: Update bug reporting address.
 
139
        * configure.in: Rebuild.
 
140
 
 
141
        * src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
 
142
        Sun compiler.
 
143
        * src/sparc/ffi.c (ffi_call): Remove warning.
 
144
        Call ffi_flush_icache for non-GCC builds.
 
145
        (ffi_prep_closure_loc): Use ffi_flush_icache.
 
146
 
 
147
        * Makefile.am (EXTRA_DIST): Add libtool-ldflags.
 
148
        * Makefile.in: Rebuilt.
 
149
        * libtool-ldflags: New file.
 
150
 
 
151
2013-02-07  Daniel Schepler <dschepler@gmail.com>
 
152
 
 
153
        * configure.ac: Correctly identify x32 systems as 64-bit.
 
154
        * m4/libtool.m4: Remove libtool expr error.
 
155
        * aclocal.m4, configure: Rebuilt.
 
156
 
 
157
2013-02-07  Anthony Green <green@moxielogic.com>
 
158
 
 
159
        * configure.ac: Fix GCC usage test.
 
160
        * configure: Rebuilt.
 
161
        * README: Mention LLVM/GCC x86_64 issue.
 
162
        * testsuite/Makefile.in: Rebuilt.
 
163
 
 
164
2013-02-07  Anthony Green <green@moxielogic.com>
 
165
 
 
166
        * testsuite/libffi.call/cls_double_va.c (main): Replace // style
 
167
        comments with /* */ for xlc compiler.
 
168
        * testsuite/libffi.call/stret_large.c (main): Ditto.
 
169
        * testsuite/libffi.call/stret_large2.c (main): Ditto.
 
170
        * testsuite/libffi.call/nested_struct1.c (main): Ditto.
 
171
        * testsuite/libffi.call/huge_struct.c (main): Ditto.
 
172
        * testsuite/libffi.call/float_va.c (main): Ditto.
 
173
        * testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
 
174
        * testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
 
175
        * testsuite/libffi.call/cls_pointer.c (main): Ditto.
 
176
        * testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
 
177
 
 
178
2013-02-06  Anthony Green <green@moxielogic.com>
 
179
 
 
180
        * man/ffi_prep_cif.3: Clean up for debian lintian checker.
 
181
 
 
182
2013-02-06  Anthony Green <green@moxielogic.com>
 
183
 
 
184
        * Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
 
185
        * Makefile.in: Rebuild.
 
186
 
 
187
2013-02-02  Mark H Weaver <mhw@netris.org>
 
188
 
 
189
        * src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
 
190
        via general purpose registers.
 
191
 
 
192
2013-01-21  Nathan Rossi <nathan.rossi@xilinx.com>
 
193
 
 
194
        * README: Add MicroBlaze details.
 
195
        * Makefile.am: Add MicroBlaze support.
 
196
        * configure.ac: Likewise.
 
197
        * src/microblaze/ffi.c: New.
 
198
        * src/microblaze/ffitarget.h: Likewise.
 
199
        * src/microblaze/sysv.S: Likewise.
 
200
 
 
201
2013-01-21  Nathan Rossi <nathan.rossi@xilinx.com>
 
202
        * testsuite/libffi.call/return_uc.c: Fixed issue.
 
203
 
 
204
2013-01-21  Chris Zankel   <chris@zankel.net>
 
205
 
 
206
        * README: Add Xtensa support.
 
207
        * Makefile.am: Likewise.
 
208
        * configure.ac: Likewise.
 
209
        * Makefile.in Regenerate.
 
210
        * configure: Likewise.
 
211
        * src/prep_cif.c: Handle Xtensa.
 
212
        * src/xtensa: New directory.
 
213
        * src/xtensa/ffi.c: New file.
 
214
        * src/xtensa/ffitarget.h: Ditto.
 
215
        * src/xtensa/sysv.S: Ditto.
 
216
 
 
217
2013-01-11  Anthony Green  <green@moxielogic.com>
 
218
 
 
219
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
 
220
        comments with /* */ for xlc compiler.
 
221
        * src/powerpc/aix.S (ffi_call_AIX): Ditto.
 
222
        * testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
 
223
        deprecated inline function.
 
224
        * testsuite/libffi.special/ffitestcxx.h: Ditto.
 
225
        * README: Add update for AIX support.
 
226
 
 
227
2013-01-11  Anthony Green  <green@moxielogic.com>
 
228
 
 
229
        * configure.ac: Robustify pc relative reloc check.
 
230
        * m4/ax_cc_maxopt.m4: Don't -malign-double.  This is an ABI
 
231
        changing option for 32-bit x86.
 
232
        * aclocal.m4, configure: Rebuilt.
 
233
        * README: Update supported target list.
 
234
 
 
235
2013-01-10  Anthony Green  <green@moxielogic.com>
 
236
 
 
237
        * README (tested): Add Compiler column to table.
 
238
 
 
239
2013-01-10  Anthony Green  <green@moxielogic.com>
 
240
 
 
241
        * src/x86/ffi64.c (struct register_args): Make sse array and array
 
242
        of unions for sunpro compiler compatibility.
 
243
 
 
244
2013-01-10  Anthony Green  <green@moxielogic.com>
 
245
 
 
246
        * configure.ac: Test target platform size_t size.  Handle both 32
 
247
        and 64-bit builds for x86_64-* and i?86-* targets (allowing for
 
248
        CFLAG option to change default settings).
 
249
        * configure, aclocal.m4: Rebuilt.
 
250
 
 
251
2013-01-10  Anthony Green  <green@moxielogic.com>
 
252
 
 
253
        * testsuite/libffi.special/special.exp: Only run exception
 
254
        handling tests when using GNU compiler.
 
255
 
 
256
        * m4/ax_compiler_vendor.m4: New file.
 
257
        * configure.ac: Test for compiler vendor and don't use
 
258
        AX_CFLAGS_WARN_ALL with the sun compiler.
 
259
        * aclocal.m4, configure: Rebuilt.
 
260
 
 
261
2013-01-10  Anthony Green  <green@moxielogic.com>
 
262
 
 
263
        * include/ffi_common.h: Don't use GCCisms to define types when
 
264
        building with the SUNPRO compiler.
 
265
 
 
266
2013-01-10  Anthony Green  <green@moxielogic.com>
 
267
 
 
268
        * configure.ac: Put local.exp in the right place.
 
269
        * configure: Rebuilt.
 
270
 
 
271
        * src/x86/ffi.c: Update comment about regparm function attributes.
 
272
        * src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
 
273
        that all function arguments be passed on the stack (no regparm
 
274
        support).
 
275
 
 
276
2013-01-08  Anthony Green  <green@moxielogic.com>
 
277
 
 
278
        * configure.ac: Generate local.exp.  This sets CC_FOR_TARGET
 
279
        when we are using the vendor compiler.
 
280
        * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
 
281
        ../local.exp.
 
282
        * configure, testsuite/Makefile.in: Rebuilt.
 
283
 
 
284
        * testsuite/libffi.call/call.exp: Run tests with different
 
285
        options, depending on whether or not we are using gcc or the
 
286
        vendor compiler.
 
287
        * testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
 
288
        whether or not we are building/testing with gcc.
 
289
 
 
290
2013-01-08  Anthony Green  <green@moxielogic.com>
 
291
 
 
292
        * configure.ac: Switch x86 solaris target to X86 by default.
 
293
        * configure: Rebuilt.
 
294
 
 
295
2013-01-08  Anthony Green  <green@moxielogic.com>
 
296
 
 
297
        * configure.ac: Fix test for read-only eh_frame.
 
298
        * configure: Rebuilt.
 
299
 
 
300
2013-01-08  Anthony Green  <green@moxielogic.com>
 
301
 
 
302
        * src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
 
303
        when building with the GNU toolchain.
 
304
        * testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
 
305
        compiler.
 
306
 
 
307
2013-01-07  Thorsten Glaser <tg@mirbsd.org>
 
308
 
 
309
        * testsuite/libffi.call/cls_uchar_va.c,
 
310
        testsuite/libffi.call/cls_ushort_va.c,
 
311
        testsuite/libffi.call/va_1.c: Testsuite fixes.
 
312
 
 
313
2013-01-07  Thorsten Glaser <tg@mirbsd.org>
 
314
 
 
315
        * src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
 
316
        (ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
 
317
        * src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
 
318
 
 
319
2013-01-04  Anthony Green  <green@moxielogic.com>
 
320
 
 
321
        * Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
 
322
        and -Wall.  This is set in the configure script after testing for
 
323
        GCC.
 
324
        * Makefile.in: Rebuilt.
 
325
 
 
326
2013-01-02  rofl0r <https://github.com/rofl0r>
 
327
 
 
328
        * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
 
329
        when long double == double.
 
330
 
 
331
2013-01-02  Reini Urban  <rurban@x-ray.at>
 
332
 
 
333
        * Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
 
334
        (required for shared libs on cygwin/mingw).
 
335
        * Makefile.in: Rebuilt.
 
336
 
 
337
2012-10-31  Alan Modra  <amodra@gmail.com>
 
338
 
 
339
        * src/powerpc/linux64_closure.S: Add new ABI support.
 
340
        * src/powerpc/linux64.S: Likewise.
 
341
 
 
342
2012-10-30  Magnus Granberg  <zorry@gentoo.org>
 
343
            Pavel Labushev  <pavel.labushev@runbox.ru>
 
344
 
 
345
        * configure.ac: New options pax_emutramp
 
346
        * configure, fficonfig.h.in: Regenerated
 
347
        * src/closures.c: New function emutramp_enabled_check() and
 
348
        checks.
 
349
 
 
350
2012-10-30  Frederick Cheung  <frederick.cheung@gmail.com>
 
351
 
 
352
        * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
 
353
        lion) and future version.
 
354
        * configure: Rebuild.
 
355
 
 
356
2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
 
357
            Marcus Shawcroft  <marcus.shawcroft at arm.com>
 
358
 
 
359
        * README: Add details of aarch64 port.
 
360
        * src/aarch64/ffi.c: New.
 
361
        * src/aarch64/ffitarget.h: Likewise.
 
362
        * src/aarch64/sysv.S: Likewise.
 
363
        * Makefile.am: Support aarch64.
 
364
        * configure.ac: Support aarch64.
 
365
        * Makefile.in, configure: Rebuilt.
 
366
 
 
367
2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
 
368
            Marcus Shawcroft  <marcus.shawcroft at arm.com>
 
369
 
 
370
        * testsuite/lib/libffi.exp: Add support for aarch64.
 
371
        * testsuite/libffi.call/cls_struct_va1.c: New.
 
372
        * testsuite/libffi.call/cls_uchar_va.c: Likewise.
 
373
        * testsuite/libffi.call/cls_uint_va.c: Likewise.
 
374
        * testsuite/libffi.call/cls_ulong_va.c: Likewise.
 
375
        * testsuite/libffi.call/cls_ushort_va.c: Likewise.
 
376
        * testsuite/libffi.call/nested_struct11.c: Likewise.
 
377
        * testsuite/libffi.call/uninitialized.c: Likewise.
 
378
        * testsuite/libffi.call/va_1.c: Likewise.
 
379
        * testsuite/libffi.call/va_struct1.c: Likewise.
 
380
        * testsuite/libffi.call/va_struct2.c: Likewise.
 
381
        * testsuite/libffi.call/va_struct3.c: Likewise.
 
382
 
 
383
2012-10-12  Walter Lee  <walt@tilera.com>
 
384
 
 
385
        * Makefile.am: Add TILE-Gx/TILEPro support.
 
386
        * configure.ac: Likewise.
 
387
        * Makefile.in: Regenerate.
 
388
        * configure: Likewise.
 
389
        * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
 
390
        * src/tile: New directory.
 
391
        * src/tile/ffi.c: New file.
 
392
        * src/tile/ffitarget.h: Ditto.
 
393
        * src/tile/tile.S: Ditto.
 
394
 
 
395
2012-10-12  Matthias Klose  <doko@ubuntu.com>
 
396
 
 
397
        * generate-osx-source-and-headers.py: Normalize whitespace.
 
398
 
 
399
2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
 
400
 
 
401
        * configure: Regenerated.
 
402
 
 
403
2012-08-26  Andrew Pinski  <apinski@cavium.com>
 
404
 
 
405
        PR libffi/53014
 
406
        * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
 
407
        soft-float.
 
408
 
 
409
2012-08-08  Uros Bizjak  <ubizjak@gmail.com>
 
410
 
 
411
        * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
 
412
        just return FFI_BAD_ABI when things are wrong.
 
413
 
 
414
2012-07-18  H.J. Lu  <hongjiu.lu@intel.com>
 
415
 
 
416
        PR libffi/53982
 
417
        PR libffi/53973
 
418
        * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
 
419
        (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
 
420
 
 
421
2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
 
422
 
 
423
        * configure: Regenerated.
 
424
 
 
425
2012-05-05  Nicolas Lelong
 
426
 
 
427
        * libffi.xcodeproj/project.pbxproj: Fixes.
 
428
        * README: Update for iOS builds.
 
429
 
 
430
2012-04-23  Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
 
431
 
 
432
        * configure.ac: Add Blackfin/sysv support
 
433
        * Makefile.am: Add Blackfin/sysv support
 
434
        * src/bfin/ffi.c:  Add Blackfin/sysv support
 
435
        * src/bfin/ffitarget.h: Add Blackfin/sysv support
 
436
 
 
437
2012-04-11  Anthony Green  <green@moxielogic.com>
 
438
 
 
439
        * Makefile.am (EXTRA_DIST): Add new script.
 
440
        * Makefile.in: Rebuilt.
 
441
 
 
442
2012-04-11  Zachary Waldowski  <zwaldowski@gmail.com>
 
443
 
 
444
        * generate-ios-source-and-headers.py,
 
445
        libffi.xcodeproj/project.pbxproj: Support a Mac static library via
 
446
        Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
 
447
        generation into an Xcode "run script" phase.  Include both as
 
448
        Xcode build scripts. Don't always regenerate config files.
 
449
 
 
450
2012-04-10  Anthony Green  <green@moxielogic.com>
 
451
 
 
452
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
 
453
 
 
454
2012-04-06  Anthony Green  <green@moxielogic.com>
 
455
 
 
456
        * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
 
457
        * Makefile.in: Rebuilt.
 
458
 
 
459
2012-04-06  Mike Lewis  <mikelikespie@gmail.com>
 
460
 
 
461
        * generate-ios-source-and-headers.py: New file.
 
462
        * libffi.xcodeproj/project.pbxproj: New file.
 
463
        * README: Update instructions on building iOS binary.
 
464
        * build-ios.sh: Delete.
 
465
 
 
466
2012-04-06  Anthony Green  <green@moxielogic.com>
 
467
 
 
468
        * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
 
469
        compilers, then use it.
 
470
 
 
471
2012-04-06  H.J. Lu  <hongjiu.lu@intel.com>
 
472
 
 
473
        * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
 
474
 
 
475
2012-04-06  Anthony Green  <green@moxielogic.com>
 
476
 
 
477
        * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
 
478
        * testsuite/Makefile.in: Rebuilt.
 
479
 
 
480
2012-04-05  Zachary Waldowski  <zwaldowski@gmail.com>
 
481
 
 
482
        * include/ffi.h.in: Add missing trampoline table fields.
 
483
        * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
 
484
        in CNAME.
 
485
        * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
 
486
 
 
487
2012-04-02  Peter Bergner  <bergner@vnet.ibm.com>
 
488
 
 
489
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
 
490
        Silence casting pointer to integer of different size warning.
 
491
        Delete goto to previously deleted label.
 
492
        (ffi_call): Silence possibly undefined warning.
 
493
        (ffi_closure_helper_SYSV): Declare variable type.
 
494
 
 
495
2012-04-02  Peter Rosin  <peda@lysator.liu.se>
 
496
 
 
497
        * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
 
498
        value in the Intel version as is already done for the AT&T version.
 
499
        (ffi_closure_SYSV): Likewise.
 
500
        (ffi_closure_raw_SYSV): Likewise.
 
501
        (ffi_closure_STDCALL): Likewise.
 
502
 
 
503
2012-03-29  Peter Rosin  <peda@lysator.liu.se>
 
504
 
 
505
        * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
 
506
        generation, fix the ENDP label and remove the surplus third arg
 
507
        from the 'lea' insn.
 
508
 
 
509
2012-03-29  Peter Rosin  <peda@lysator.liu.se>
 
510
 
 
511
        * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
 
512
        visible outside the PROC, so that ffi_closure_raw_THISCALL can see
 
513
        it.  Also instruct the assembler to add a frame to the function.
 
514
 
 
515
2012-03-23  Peter Rosin  <peda@lysator.liu.se>
 
516
 
 
517
        * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
 
518
        * Makefile.in: Rebuilt.
 
519
        * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
 
520
        to all data exports, when compiling libffi clients using MSVC.
 
521
 
 
522
2012-03-29  Peter Rosin  <peda@lysator.liu.se>
 
523
 
 
524
        * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
 
525
        make it the default for MSVC.
 
526
        (FFI_TYPE_MS_STRUCT): New structure return convention.
 
527
        * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
 
528
        return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
 
529
        instead of an ordinary FFI_TYPE_STRUCT.
 
530
        (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
 
531
        (ffi_call): Likewise.
 
532
        (ffi_prep_incoming_args_SYSV): Likewise.
 
533
        (ffi_raw_call): Likewise.
 
534
        (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
 
535
        * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
 
536
        return a pointer to the result structure in eax and don't pop
 
537
        that pointer from the stack, the caller takes care of it.
 
538
        (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
 
539
        (ffi_closure_raw_SYSV): Likewise.
 
540
 
 
541
2012-03-22  Peter Rosin  <peda@lysator.liu.se>
 
542
 
 
543
        * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
 
544
        assembly version with Intel syntax.
 
545
        * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
 
546
 
 
547
2012-03-23  Peter Rosin  <peda@lysator.liu.se>
 
548
 
 
549
        * testsuite/libffi.call/ffitest.h: Provide abstration of
 
550
        __attribute__((fastcall)) in the form of a __FASTCALL__
 
551
        define.  Define it to __fastcall for MSVC.
 
552
        * testsuite/libffi.call/fastthis1_win32.c: Use the above.
 
553
        * testsuite/libffi.call/fastthis2_win32.c: Likewise.
 
554
        * testsuite/libffi.call/fastthis3_win32.c: Likewise.
 
555
        * testsuite/libffi.call/strlen2_win32.c: Likewise.
 
556
        * testsuite/libffi.call/struct1_win32.c: Likewise.
 
557
        * testsuite/libffi.call/struct2_win32.c: Likewise.
 
558
 
 
559
2012-03-22  Peter Rosin  <peda@lysator.liu.se>
 
560
 
 
561
        * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
 
562
        frame on function entry, MASM adds one automatically.
 
563
 
 
564
2012-03-22  Peter Rosin  <peda@lysator.liu.se>
 
565
 
 
566
        * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
 
567
        bits in the MSVC headers.
 
568
 
 
569
2012-03-22  Peter Rosin  <peda@lysator.liu.se>
 
570
 
 
571
        * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
 
572
        with no declarations after statements.
 
573
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
574
        * testsuite/libffi.call/cls_18byte.c: Likewise.
 
575
        * testsuite/libffi.call/cls_19byte.c: Likewise.
 
576
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
577
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
578
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
 
579
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
580
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
581
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
582
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
583
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
584
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
585
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
586
        * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
 
587
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
588
        * testsuite/libffi.call/cls_64byte.c: Likewise.
 
589
        * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
 
590
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
591
        * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
 
592
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
593
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
594
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
 
595
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
 
596
        * testsuite/libffi.call/cls_align_double.c: Likewise.
 
597
        * testsuite/libffi.call/cls_align_float.c: Likewise.
 
598
        * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
 
599
        * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
 
600
        * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
 
601
        * testsuite/libffi.call/cls_align_pointer.c: Likewise.
 
602
        * testsuite/libffi.call/cls_align_sint16.c: Likewise.
 
603
        * testsuite/libffi.call/cls_align_sint32.c: Likewise.
 
604
        * testsuite/libffi.call/cls_align_sint64.c: Likewise.
 
605
        * testsuite/libffi.call/cls_align_uint16.c: Likewise.
 
606
        * testsuite/libffi.call/cls_align_uint32.c: Likewise.
 
607
        * testsuite/libffi.call/cls_align_uint64.c: Likewise.
 
608
        * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
 
609
        * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
 
610
        * testsuite/libffi.call/err_bad_typedef.c: Likewise.
 
611
        * testsuite/libffi.call/huge_struct.c: Likewise.
 
612
        * testsuite/libffi.call/nested_struct.c: Likewise.
 
613
        * testsuite/libffi.call/nested_struct1.c: Likewise.
 
614
        * testsuite/libffi.call/nested_struct10.c: Likewise.
 
615
        * testsuite/libffi.call/nested_struct2.c: Likewise.
 
616
        * testsuite/libffi.call/nested_struct3.c: Likewise.
 
617
        * testsuite/libffi.call/nested_struct4.c: Likewise.
 
618
        * testsuite/libffi.call/nested_struct5.c: Likewise.
 
619
        * testsuite/libffi.call/nested_struct6.c: Likewise.
 
620
        * testsuite/libffi.call/nested_struct7.c: Likewise.
 
621
        * testsuite/libffi.call/nested_struct8.c: Likewise.
 
622
        * testsuite/libffi.call/nested_struct9.c: Likewise.
 
623
        * testsuite/libffi.call/stret_large.c: Likewise.
 
624
        * testsuite/libffi.call/stret_large2.c: Likewise.
 
625
        * testsuite/libffi.call/stret_medium.c: Likewise.
 
626
        * testsuite/libffi.call/stret_medium2.c: Likewise.
 
627
        * testsuite/libffi.call/struct1.c: Likewise.
 
628
        * testsuite/libffi.call/struct1_win32.c: Likewise.
 
629
        * testsuite/libffi.call/struct2.c: Likewise.
 
630
        * testsuite/libffi.call/struct2_win32.c: Likewise.
 
631
        * testsuite/libffi.call/struct3.c: Likewise.
 
632
        * testsuite/libffi.call/struct4.c: Likewise.
 
633
        * testsuite/libffi.call/struct5.c: Likewise.
 
634
        * testsuite/libffi.call/struct6.c: Likewise.
 
635
        * testsuite/libffi.call/struct7.c: Likewise.
 
636
        * testsuite/libffi.call/struct8.c: Likewise.
 
637
        * testsuite/libffi.call/struct9.c: Likewise.
 
638
        * testsuite/libffi.call/testclosure.c: Likewise.
 
639
 
 
640
2012-03-21  Peter Rosin  <peda@lysator.liu.se>
 
641
 
 
642
        * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
 
643
        printing doubles (%lf is for long doubles).
 
644
        (main): Likewise.
 
645
 
 
646
2012-03-21  Peter Rosin  <peda@lysator.liu.se>
 
647
 
 
648
        * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
 
649
        (set_ld_library_path_env_vars): Add the library search dir to PATH
 
650
        (and save PATH for later).
 
651
        (restore_ld_library_path_env_vars): Restore PATH.
 
652
 
 
653
2012-03-21  Peter Rosin  <peda@lysator.liu.se>
 
654
 
 
655
        * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
 
656
        (set_ld_library_path_env_vars): Add the library search dir to PATH
 
657
        (and save PATH for later).
 
658
        (restore_ld_library_path_env_vars): Restore PATH.
 
659
 
 
660
2012-03-20  Peter Rosin  <peda@lysator.liu.se>
 
661
 
 
662
        * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
 
663
        * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
 
664
        visible outside the PROC, so that ffi_closure_THISCALL can see it.
 
665
 
 
666
2012-03-20  Peter Rosin  <peda@lysator.liu.se>
 
667
 
 
668
        * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
 
669
        * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
 
670
        visible outside the PROC, so that ffi_closure_THISCALL can see it.
 
671
 
 
672
2012-03-19  Alan Hourihane  <alanh@fairlite.co.uk>
 
673
 
 
674
        * src/m68k/ffi.c: Add MINT support.
 
675
        * src/m68k/sysv.S: Ditto.
 
676
 
 
677
2012-03-06  Chung-Lin Tang  <cltang@codesourcery.com>
 
678
 
 
679
        * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
 
680
        ffi_call_VFP().
 
681
        (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
 
682
        ffi_closure_VFP.
 
683
        * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
 
684
 
 
685
2012-03-19  chennam  <csit@axway.com>
 
686
 
 
687
        * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
 
688
        support.
 
689
 
 
690
2012-03-13  Kaz Kojima  <kkojima@gcc.gnu.org>
 
691
 
 
692
        * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
 
693
        just return FFI_BAD_ABI when things are wrong.
 
694
        * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
 
695
 
 
696
2012-03-09  David Edelsohn  <dje.gcc@gmail.com>
 
697
 
 
698
        * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
 
699
        change to return value of ffi_closure_helper_DARWIN and load type
 
700
        from return type.
 
701
 
 
702
2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
 
703
 
 
704
        * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
 
705
        long.
 
706
        (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
 
707
        (ffi_closure_unix64_inner): Cast return pointer to unsigned long
 
708
        first.
 
709
 
 
710
        * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
 
711
        (ffi_arg): Set to unsigned long long for x32.
 
712
        (ffi_sarg): Set to long long for x32.
 
713
 
 
714
2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
 
715
 
 
716
        * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
 
717
 
 
718
2012-03-03  Andoni Morales Alastruey  <ylatuya@gmail.com>
 
719
 
 
720
        * configure.ac: Add -no-undefined for both 32- and 64-bit x86
 
721
        windows-like hosts.
 
722
        * configure: Rebuilt.
 
723
 
 
724
2012-02-27  Mikael Pettersson  <mikpe@it.uu.se>
 
725
 
 
726
        PR libffi/52223
 
727
        * Makefile.am (FLAGS_TO_PASS): Define.
 
728
        * Makefile.in: Regenerate.
 
729
 
 
730
2012-02-23  Anthony Green  <green@moxielogic.com>
 
731
 
 
732
        * src/*/ffitarget.h: Ensure that users never include ffitarget.h
 
733
        directly.
 
734
 
 
735
2012-02-23  Kai Tietz  <ktietz@redhat.com>
 
736
 
 
737
        PR libffi/52221
 
738
        * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
 
739
        prototype.
 
740
        (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
 
741
        thiscall-convention.
 
742
        (ffi_raw_call): Use ffi_prep_args_raw.
 
743
        * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
 
744
        implementation for stub.
 
745
 
 
746
2012-02-10  Kai Tietz  <ktietz@redhat.com>
 
747
 
 
748
        * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
 
749
        windows target.
 
750
        * configure: Regenerated.
 
751
 
 
752
2012-02-08  Kai Tietz  <ktietz@redhat.com>
 
753
 
 
754
        * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
 
755
        also FFI_THISCALL.
 
756
        * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
 
757
        (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
 
758
        (ffi_prep_closure_loc): Add FFI_THISCALL support.
 
759
        * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
 
760
        * src/x86/win32.S (ffi_closure_THISCALL): New closure code
 
761
        for thiscall-calling convention.
 
762
        * testsuite/libffi.call/closure_thiscall.c: New test.
 
763
 
 
764
2012-01-28  Kai Tietz  <ktietz@redhat.com>
 
765
 
 
766
        * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
 
767
        argument to prototype for specify calling-convention.
 
768
        (ffi_call): Add support for stdcall/thiscall convention.
 
769
        (ffi_prep_args): Likewise.
 
770
        (ffi_raw_call): Likewise.
 
771
        * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
 
772
        FFI_FASTCALL.
 
773
        * src/x86/win32.S (_ffi_call_win32): Add support for
 
774
        fastcall/thiscall calling-convention calls.
 
775
        * testsuite/libffi.call/fastthis1_win32.c: New test.
 
776
        * testsuite/libffi.call/fastthis2_win32.c: New test.
 
777
        * testsuite/libffi.call/fastthis3_win32.c: New test.
 
778
        * testsuite/libffi.call/strlen2_win32.c: New test.
 
779
        * testsuite/libffi.call/many2_win32.c: New test.
 
780
        * testsuite/libffi.call/struct1_win32.c: New test.
 
781
        * testsuite/libffi.call/struct2_win32.c: New test.
 
782
 
 
783
2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
 
784
 
 
785
        * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
 
786
 
 
787
2012-01-23  Anthony Green  <green@moxielogic.com>
 
788
            Chris Young  <cdyoung@ntlworld.com>
 
789
 
 
790
        * configure.ac: Add Amiga support.
 
791
        * configure: Rebuilt.
 
792
 
 
793
2012-01-23  Dmitry Nadezhin  <dmitry.nadezhin@gmail.com>
 
794
 
 
795
        * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
 
796
 
 
797
2012-01-23  Andreas Schwab  <schwab@linux-m68k.org>
 
798
 
 
799
        * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
 
800
        mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
 
801
 
 
802
2012-01-19  Jakub Jelinek  <jakub@redhat.com>
 
803
 
 
804
        PR rtl-optimization/48496
 
805
        * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
 
806
 
 
807
2012-01-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
808
 
 
809
        * configure.ac (i?86-*-*): Set TARGET to X86_64.
 
810
        * configure: Regenerate.
 
811
 
 
812
2011-12-07  Andrew Pinski  <apinski@cavium.com>
 
813
 
 
814
        PR libffi/50051
 
815
        * src/mips/n32.S: Add ".set mips4".
 
816
 
 
817
2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
 
818
 
 
819
        * configure: Regenerate.
 
820
 
 
821
2011-11-12  David Gilbert <david.gilbert@linaro.org>
 
822
 
 
823
        * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
 
824
        man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
 
825
        man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
 
826
        src/cris/ffi.c, src/prep_cif.c,
 
827
        testsuite/libffi.call/cls_double_va.c,
 
828
        testsuite/libffi.call/cls_longdouble_va.c,
 
829
        testsuite/libffi.call/float_va.c: Many changes to support variadic
 
830
        function calls.
 
831
 
 
832
2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
 
833
 
 
834
        * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
 
835
        src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
 
836
        softfloat powerpc variants.
 
837
 
 
838
2011-11-12  Petr Salinger <Petr.Salinger@seznam.cz>
 
839
 
 
840
        * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
 
841
        * configure: Rebuilt.
 
842
 
 
843
2011-11-12  Timothy Wall  <twall@users.sf.net>
 
844
 
 
845
        * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
 
846
        alignment of 4 for wince on ARM.
 
847
 
 
848
2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
 
849
            Anthony Green <green@moxielogic.com>
 
850
 
 
851
        * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
 
852
        instructions (not available on some cores, like the PPC440).
 
853
 
 
854
2011-11-12  Kimura Wataru  <kimuraw@i.nifty.jp>
 
855
 
 
856
        * m4/ax_enable_builddir: Change from string comparison to numeric
 
857
        comparison for wc output.
 
858
        * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
 
859
        X 10.7.
 
860
        * configure: Rebuilt.
 
861
 
 
862
2011-11-12  Anthony Green  <green@moxielogic.com>
 
863
 
 
864
        * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
 
865
        files with debug info.
 
866
        * Makefile.in: Rebuilt.
 
867
 
 
868
2011-11-12  Jasper Lievisse Adriaanse <jasper@openbsd.org>
 
869
 
 
870
        * README: Update list of supported OpenBSD systems.
 
871
 
 
872
2011-11-12  Anthony Green  <green@moxielogic.com>
 
873
 
 
874
        * libtool-version: Update.
 
875
        * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
 
876
        FFI_DEBUG.
 
877
        (libffi_la_SOURCES): Remove src/debug.c
 
878
        (EXTRA_DIST): Add src/debug.c
 
879
        * Makefile.in: Rebuilt.
 
880
        * README: Update for 3.0.11.
 
881
 
 
882
2011-11-10  Richard Henderson  <rth@redhat.com>
 
883
 
 
884
        * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
 
885
        * configure, aclocal.m4: Rebuild.
 
886
 
 
887
2011-09-04  Iain Sandoe  <iains@gcc.gnu.org>
 
888
 
 
889
        PR libffi/49594
 
890
        * src/powerpc/darwin_closure.S (stubs): Make the stub binding
 
891
        helper reference track the architecture pointer size.
 
892
 
 
893
2011-08-25  Andrew Haley  <aph@redhat.com>
 
894
 
 
895
        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
 
896
        instructions.
 
897
        * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
 
898
 
 
899
2011-07-11  Andrew Haley  <aph@redhat.com>
 
900
 
 
901
        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
 
902
 
 
903
2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
904
 
 
905
        * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
 
906
        * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
 
907
 
 
908
2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
909
 
 
910
        PR libffi/46660
 
911
        * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
 
912
        mips-sgi-irix6*.
 
913
        * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
 
914
 
 
915
2011-06-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
916
 
 
917
        * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
 
918
        PRId8 instead of %hhu, %hhd.
 
919
        * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
 
920
        PRIu8): Define.
 
921
        [__sgi__] (PRId8, PRIu8): Define.
 
922
 
 
923
2011-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
924
 
 
925
        * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
 
926
        Define.
 
927
        Use them to handle ELF vs. ECOFF differences.
 
928
        [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
 
929
 
 
930
2011-03-30  Timothy Wall  <twall@users.sf.net>
 
931
 
 
932
        * src/powerpc/darwin.S: Fix unknown FDE encoding.
 
933
        * src/powerpc/darwin_closure.S: ditto.
 
934
 
 
935
2011-02-25  Anthony Green  <green@moxielogic.com>
 
936
 
 
937
        * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
 
938
        32-bit ABIs.
 
939
 
 
940
2011-02-15  Anthony Green  <green@moxielogic.com>
 
941
 
 
942
        * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
 
943
        * configure: Rebuilt.
 
944
 
 
945
2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
946
 
 
947
        * configure: Regenerate.
 
948
 
 
949
2011-02-13  Anthony Green  <green@moxielogic.com>
 
950
 
 
951
        * include/ffi_common.h (UNLIKELY, LIKELY): Define.
 
952
        * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
 
953
        * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
 
954
 
 
955
        * src/prep_cif.c (initialize_aggregate): Convert assertion into
 
956
        FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
 
957
 
 
958
        * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
 
959
        just return FFI_BAD_ABI when things are wrong.
 
960
        * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
 
961
        * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
 
962
        * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
 
963
        * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
 
964
        * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
 
965
 
 
966
2011-02-11  Anthony Green  <green@moxielogic.com>
 
967
 
 
968
        * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
 
969
        just return FFI_BAD_ABI when things are wrong.
 
970
 
 
971
2012-02-11  Eric Botcazou  <ebotcazou@adacore.com>
 
972
 
 
973
        * src/sparc/v9.S (STACKFRAME): Bump to 176.
 
974
 
 
975
2011-02-09  Stuart Shelton  <srcshelton@gmail.com>
 
976
 
 
977
        http://bugs.gentoo.org/show_bug.cgi?id=286911
 
978
        * src/mips/ffitarget.h: Clean up error messages.
 
979
        * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
 
980
        ffi_raw*.
 
981
        * include/ffi.h.in: Add pragma for SGI compiler.
 
982
 
 
983
2011-02-09  Anthony Green  <green@moxielogic.com>
 
984
 
 
985
        * configure.ac: Add powerpc64-*-darwin* support.
 
986
 
 
987
2011-02-09  Anthony Green <green@moxielogic.com>
 
988
 
 
989
        * README: Mention Interix.
 
990
 
 
991
2011-02-09  Jonathan Callen  <abcd@gentoo.org>
 
992
 
 
993
        * configure.ac: Add Interix to win32/cygwin/mingw case.
 
994
        * configure: Ditto.
 
995
        * src/closures.c: Treat Interix like Cygwin, instead of as a
 
996
        generic win32.
 
997
 
 
998
2011-02-09  Anthony Green <green@moxielogic.com>
 
999
 
 
1000
        * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
 
1001
        * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
 
1002
        * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
 
1003
        (ffi_prep_closure_loc): Check for bad ABI.
 
1004
        * src/prep_cif.c (UNLIKELY, LIKELY): Define.
 
1005
        (initialize_aggregate): Check for bad types.
 
1006
 
 
1007
2011-02-09  Landon Fuller <landonf@plausible.coop>
 
1008
 
 
1009
        * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
 
1010
        src/arm/trampoline.S.
 
1011
        (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
 
1012
        * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
 
1013
        * src/arm/ffi.c (ffi_trampoline_table)
 
1014
        (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
 
1015
        (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
 
1016
        (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
 
1017
        (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
 
1018
        Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
 
1019
        (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
 
1020
        separately.
 
1021
        * src/arm/sysv.S: Handle Apple iOS host.
 
1022
        * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
 
1023
        * build-ios.sh: New file.
 
1024
        * fficonfig.h.in, configure, Makefile.in: Rebuilt.
 
1025
        * README: Mention ARM iOS.
 
1026
 
 
1027
2011-02-08  Oren Held  <orenhe@il.ibm.com>
 
1028
 
 
1029
        * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
 
1030
        redefinition of mallinfo on HP-UX.
 
1031
 
 
1032
2011-02-08  Ginn Chen  <ginn.chen@oracle.com>
 
1033
 
 
1034
        * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
 
1035
        aggregate return ABI.  Flush cache.
 
1036
        (ffi_prep_closure_loc): Flush cache.
 
1037
 
 
1038
2011-02-11  Anthony Green  <green@moxielogic.com>
 
1039
 
 
1040
        From Tom Honermann <tom.honermann@oracle.com>:
 
1041
        * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
 
1042
        AIX.  Declare .ffi_prep_args.  Insert nops after branch
 
1043
        instructions so that the AIX linker can insert TOC reload
 
1044
        instructions.
 
1045
        * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
 
1046
 
 
1047
2011-02-08  Ed  <ed@kdtc.net>
 
1048
 
 
1049
        * src/powerpc/asm.h: Fix grammar nit in comment.
 
1050
 
 
1051
2011-02-08  Uli Link  <ul.mcamafia@linkitup.de>
 
1052
 
 
1053
        * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
 
1054
 
 
1055
2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1056
 
 
1057
        PR libffi/46661
 
1058
        * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
 
1059
        uintptr_t first.
 
1060
        * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
 
1061
 
 
1062
2011-02-08  Rafael Avila de Espindola  <respindola@mozilla.com>
 
1063
 
 
1064
        * configure.ac: Fix x86 test for pc related relocs.
 
1065
        * configure: Rebuilt.
 
1066
 
 
1067
2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
 
1068
 
 
1069
        * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
 
1070
        Handle case when CPU variant does not have long double support.
 
1071
        * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
 
1072
        and cores with soft floating point.
 
1073
 
 
1074
2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
 
1075
 
 
1076
        * configure.ac: Add mips*-*-rtems* support.
 
1077
        * configure: Regenerate.
 
1078
        * src/mips/ffitarget.h: Ensure needed constants are available
 
1079
        for targets which do not have sgidefs.h.
 
1080
 
 
1081
2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
 
1082
 
 
1083
        PR target/40125
 
1084
        * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
 
1085
        * configure: Regenerate.
 
1086
 
 
1087
2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
 
1088
 
 
1089
        PR libffi/29152
 
1090
        PR libffi/42378
 
1091
        * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
 
1092
        update comments.
 
1093
        * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
 
1094
        (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
 
1095
        * src/powerpc/darwin.S: Provide Darwin64 implementation,
 
1096
        update comments.
 
1097
        * src/powerpc/ffi_darwin.c: Likewise.
 
1098
 
 
1099
2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1100
 
 
1101
        * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
 
1102
        backslashes.
 
1103
        (libffi_cv_as_string_pseudo_op): Likewise.
 
1104
        * configure: Regenerate.
 
1105
 
 
1106
2010-12-03  Chung-Lin Tang  <cltang@codesourcery.com>
 
1107
 
 
1108
        * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
 
1109
        (ffi_closure_VFP): Same.
 
1110
        (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
 
1111
        directive.
 
1112
 
 
1113
2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1114
 
 
1115
        * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
 
1116
        (PRIuPTR): Define.
 
1117
 
 
1118
2010-11-29  Richard Henderson  <rth@redhat.com>
 
1119
            Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1120
 
 
1121
        * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
 
1122
        (.eh_frame): Use FDE_ENCODING.
 
1123
        (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
 
1124
 
 
1125
2010-11-22  Jacek Caban <jacek@codeweavers.com>
 
1126
 
 
1127
        * configure.ac: Check for symbol underscores on mingw-w64.
 
1128
        * configure: Rebuilt.
 
1129
        * src/x86/win64.S: Correctly access extern symbols in respect to
 
1130
        underscores.
 
1131
 
 
1132
2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1133
 
 
1134
        * testsuite/lib/libffi-dg.exp: Rename ...
 
1135
        * testsuite/lib/libffi.exp: ... to this.
 
1136
        * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
 
1137
        * libffi/testsuite/libffi.special/special.exp: Likewise.
 
1138
 
 
1139
2010-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
 
1140
 
 
1141
        * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
 
1142
        code, new parameter, and return value. Update comments.
 
1143
        (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
 
1144
        call to layout_vfp_args().
 
1145
        (ffi_call_SYSV): Update declaration.
 
1146
        (ffi_call_VFP): New declaration.
 
1147
        (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
 
1148
        when ABI is FFI_VFP.
 
1149
        (ffi_closure_VFP): New declaration.
 
1150
        (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
 
1151
        ffi_prep_incoming_args_SYSV().
 
1152
        (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
 
1153
        case handling.
 
1154
        (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
 
1155
        construction under VFP hard-float.
 
1156
        (rec_vfp_type_p): New function.
 
1157
        (vfp_type_p): Same.
 
1158
        (place_vfp_arg): Same.
 
1159
        (layout_vfp_args): Same.
 
1160
        * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
 
1161
        based on __ARM_PCS_VFP.
 
1162
        (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
 
1163
        fields.
 
1164
        (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
 
1165
        (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
 
1166
        * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
 
1167
        direct call. Move function pointer load upwards.
 
1168
        (ffi_call_VFP): New function.
 
1169
        (ffi_closure_VFP): Same.
 
1170
 
 
1171
        * testsuite/lib/libffi-dg.exp (check-flags): New function.
 
1172
        (dg-skip-if): New function.
 
1173
        * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
 
1174
        and compiler options include -mfloat-abi=hard.
 
1175
        * testsuite/libffi.call/cls_longdouble_va.c: Same.
 
1176
 
 
1177
2010-10-01  Jakub Jelinek  <jakub@redhat.com>
 
1178
 
 
1179
        PR libffi/45677
 
1180
        * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
 
1181
        a multiple of 8.
 
1182
        * testsuite/libffi.call/many2.c: New test.
 
1183
 
 
1184
2010-08-20  Mark Wielaard  <mjw@redhat.com>
 
1185
 
 
1186
        * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
 
1187
        returns NULL.
 
1188
 
 
1189
2010-08-09  Andreas Tobler  <andreast@fgznet.ch>
 
1190
 
 
1191
        * configure.ac: Add target powerpc64-*-freebsd*.
 
1192
        * configure: Regenerate.
 
1193
        * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
 
1194
        -mlong-double-128 only to linux targets.
 
1195
        * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
 
1196
        * testsuite/libffi.call/cls_longdouble.c: Likewise.
 
1197
        * testsuite/libffi.call/huge_struct.c: Likewise.
 
1198
 
 
1199
2010-08-05  Dan Witte  <dwitte@mozilla.com>
 
1200
 
 
1201
        * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
 
1202
        debug CRT when --enable-debug is given.
 
1203
        * configure.ac: Define it.
 
1204
        * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
 
1205
 
 
1206
2010-08-04  Dan Witte  <dwitte@mozilla.com>
 
1207
 
 
1208
        * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
 
1209
        platforms.
 
1210
        * src/x86/ffi.c: Remove redundant ifdef checks.
 
1211
        * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
 
1212
        for X86_ANY so return value space doesn't get added twice.
 
1213
 
 
1214
2010-08-03  Neil Rashbrooke <neil@parkwaycc.co.uk>
 
1215
 
 
1216
        * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
 
1217
 
 
1218
2010-07-22  Dan Witte  <dwitte@mozilla.com>
 
1219
 
 
1220
        * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
 
1221
        * src/prep_cif.c: Fix ABI assertion.
 
1222
        * src/cris/ffi.c: Ditto.
 
1223
 
 
1224
2010-07-10  Evan Phoenix  <evan@fallingsnow.net>
 
1225
 
 
1226
        * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
 
1227
 
 
1228
2010-07-07  Dan HorĆ”k <dan@danny.cz>
 
1229
 
 
1230
        * include/ffi.h.in: Protect #define with #ifndef.
 
1231
        * src/powerpc/ffitarget.h: Ditto.
 
1232
        * src/s390/ffitarget.h: Ditto.
 
1233
        * src/sparc/ffitarget.h: Ditto.
 
1234
 
 
1235
2010-07-07   Neil Roberts <neil@linux.intel.com>
 
1236
 
 
1237
        * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
 
1238
        16-bytes.
 
1239
 
 
1240
2010-07-02  Jakub Jelinek  <jakub@redhat.com>
 
1241
 
 
1242
        * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
 
1243
        * Makefile.in: Regenerated.
 
1244
 
 
1245
2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1246
 
 
1247
        * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
 
1248
        output, too.
 
1249
        (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
 
1250
        (libffi_cv_as_string_pseudo_op): Check for .string.
 
1251
        * configure: Regenerate.
 
1252
        * fficonfig.h.in: Regenerate.
 
1253
        * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
 
1254
 
 
1255
2010-05-11  Dan Witte  <dwitte@mozilla.com>
 
1256
 
 
1257
        * doc/libffi.tex: Document previous change.
 
1258
 
 
1259
2010-05-11  Makoto Kato <m_kato@ga2.so-net.ne.jp>
 
1260
 
 
1261
        * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
 
1262
 
 
1263
2010-05-05  Michael Kohler <michaelkohler@live.com>
 
1264
 
 
1265
        * src/dlmalloc.c (dlfree): Fix spelling.
 
1266
        * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
 
1267
        * configure.ac: Ditto.
 
1268
        * configure: Rebuilt.
 
1269
 
 
1270
2010-04-13  Dan Witte  <dwitte@mozilla.com>
 
1271
 
 
1272
        * msvcc.sh: Build with -W3 instead of -Wall.
 
1273
        * src/powerpc/ffi_darwin.c: Remove build warnings.
 
1274
        * src/x86/ffi.c: Ditto.
 
1275
        * src/x86/ffitarget.h: Ditto.
 
1276
 
 
1277
2010-04-12  Dan Witte  <dwitte@mozilla.com>
 
1278
            Walter Meinl <wuno@lsvw.de>
 
1279
 
 
1280
        * configure.ac: Add OS/2 support.
 
1281
        * configure: Rebuilt.
 
1282
        * src/closures.c: Ditto.
 
1283
        * src/dlmalloc.c: Ditto.
 
1284
        * src/x86/win32.S: Ditto.
 
1285
 
 
1286
2010-04-07  Jakub Jelinek  <jakub@redhat.com>
 
1287
 
 
1288
        * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
 
1289
 
 
1290
2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
1291
 
 
1292
        * Makefile.in: Regenerate.
 
1293
        * aclocal.m4: Regenerate.
 
1294
        * include/Makefile.in: Regenerate.
 
1295
        * man/Makefile.in: Regenerate.
 
1296
        * testsuite/Makefile.in: Regenerate.
 
1297
 
 
1298
2010-03-30  Dan Witte  <dwitte@mozilla.com>
 
1299
 
 
1300
        * msvcc.sh: Disable build warnings.
 
1301
        * README (tested): Clarify windows build procedure.
 
1302
 
 
1303
2010-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1304
 
 
1305
        * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
 
1306
        * configure: Regenerate.
 
1307
        * fficonfig.h.in: Regenerate.
 
1308
        * libffi/src/x86/unix64.S (.eh_frame)
 
1309
        [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
 
1310
 
 
1311
2010-03-14  Matthias Klose  <doko@ubuntu.com>
 
1312
 
 
1313
        * src/x86/ffi64.c: Fix typo in comment.
 
1314
        * src/x86/ffi.c: Use /* ... */ comment style.
 
1315
 
 
1316
2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1317
 
 
1318
        * doc/libffi.texi (The Closure API): Fix typo.
 
1319
        * doc/libffi.info: Remove.
 
1320
 
 
1321
2010-02-15  Matthias Klose  <doko@ubuntu.com>
 
1322
 
 
1323
        * src/arm/sysv.S (__ARM_ARCH__): Define for processor
 
1324
        __ARM_ARCH_7EM__.
 
1325
 
 
1326
2010-01-15  Anthony Green  <green@redhat.com>
 
1327
 
 
1328
        * README: Add notes on building with Microsoft Visual C++.
 
1329
 
 
1330
2010-01-15  Daniel Witte  <dwitte@mozilla.com>
 
1331
 
 
1332
        * msvcc.sh: New file.
 
1333
 
 
1334
        * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
 
1335
        * src/x86/ffi.c: Tweak function declaration and remove excess
 
1336
        parens.
 
1337
        * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
 
1338
        ffi_closure.
 
1339
 
 
1340
        * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
 
1341
        function ffi_call_win32 on X86_WIN32.
 
1342
        * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
 
1343
        (ffi_call_STDCALL): Remove.
 
1344
 
 
1345
        * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
 
1346
        to ffi_prep_cif_machdep for x86.
 
1347
        * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
 
1348
 
 
1349
2010-01-15  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
1350
 
 
1351
        * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
 
1352
        Sun Studio compiler compatibility.
 
1353
 
 
1354
2010-01-12  Conrad Irwin <conrad.irwin@gmail.com>
 
1355
 
 
1356
        * doc/libffi.texi: Add closure example.
 
1357
 
 
1358
2010-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1359
 
 
1360
        PR libffi/40701
 
1361
        * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
 
1362
        PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
 
1363
        * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
 
1364
        alpha*-dec-osf*.
 
1365
        * testsuite/libffi.call/cls_align_uint64.c: Likewise.
 
1366
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
1367
        * testsuite/libffi.call/return_ll1.c: Likewise.
 
1368
        * testsuite/libffi.call/stret_medium2.c: Likewise.
 
1369
        * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
 
1370
        MAP_FAILED to char *.
 
1371
 
 
1372
2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1373
 
 
1374
        * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
 
1375
 
 
1376
2009-12-31  Anthony Green  <green@redhat.com>
 
1377
 
 
1378
        * README: Update for libffi 3.0.9.
 
1379
 
 
1380
2009-12-27  Matthias Klose  <doko@ubuntu.com>
 
1381
 
 
1382
        * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
 
1383
        appropriate.
 
1384
        * configure: Rebuilt.
 
1385
 
 
1386
2009-12-26  Anthony Green  <green@redhat.com>
 
1387
 
 
1388
        * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
 
1389
        avr32*-*-*.
 
1390
        * testsuite/libffi.call/cls_double_va.c: Ditto.
 
1391
 
 
1392
2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
 
1393
 
 
1394
        * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
 
1395
        and inttypes.h.
 
1396
        * testsuite/libffi.special/unwindtest.cc: Ditto.
 
1397
 
 
1398
2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
 
1399
 
 
1400
        * configure.ac: Add amd64-*-openbsd*.
 
1401
        * configure: Rebuilt.
 
1402
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
 
1403
        openbsd programs with -lpthread.
 
1404
 
 
1405
2009-12-26  Anthony Green  <green@redhat.com>
 
1406
 
 
1407
        * testsuite/libffi.call/cls_double_va.c,
 
1408
        testsuite/libffi.call/cls_longdouble.c,
 
1409
        testsuite/libffi.call/cls_longdouble_va.c,
 
1410
        testsuite/libffi.call/cls_pointer.c,
 
1411
        testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
 
1412
        mips*-*-* and arm*-*-*.
 
1413
        * testsuite/libffi.call/cls_align_longdouble_split.c,
 
1414
        testsuite/libffi.call/cls_align_longdouble_split2.c,
 
1415
        testsuite/libffi.call/stret_medium2.c,
 
1416
        testsuite/libffi.call/stret_medium.c,
 
1417
        testsuite/libffi.call/stret_large.c,
 
1418
        testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
 
1419
 
 
1420
2009-12-31  Kay Tietz  <ktietz70@googlemail.com>
 
1421
 
 
1422
        * testsuite/libffi.call/ffitest.h,
 
1423
        testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
 
1424
        definitions.
 
1425
 
 
1426
2009-12-31  Carlo Bramini  <carlo.bramix@libero.it>
 
1427
 
 
1428
        * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
 
1429
        * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
 
1430
        * configure: Rebuilt.
 
1431
        * Makefile.in: Rebuilt.
 
1432
 
 
1433
2009-12-31  Anthony Green  <green@redhat.com>
 
1434
            Blake Chaffin.
 
1435
 
 
1436
        * testsuite/libffi.call/huge_struct.c: New test case from Blake
 
1437
        Chaffin @ Apple.
 
1438
 
 
1439
2009-12-28  David Edelsohn  <edelsohn@gnu.org>
 
1440
 
 
1441
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
 
1442
        local variables.
 
1443
        (aix_adjust_aggregate_sizes): New function.
 
1444
        (ffi_prep_cif_machdep): Call it.
 
1445
 
 
1446
2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
 
1447
 
 
1448
        * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
 
1449
        * configure: Regenerate.
 
1450
        * fficonfig.h.in: Likewise.
 
1451
        * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
 
1452
        Solaris/x86.
 
1453
 
 
1454
2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
 
1455
 
 
1456
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
 
1457
        when a float arguments is passed in memory.
 
1458
        (ffi_closure_helper_SYSV): Mark general registers as used up when
 
1459
        a 64bit or soft-float long double argument is passed in memory.
 
1460
 
 
1461
2009-12-25  Matthias Klose  <doko@ubuntu.com>
 
1462
 
 
1463
        * man/ffi_call.3: Fix #include in examples.
 
1464
        * doc/libffi.texi: Add dircategory.
 
1465
 
 
1466
2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
 
1467
 
 
1468
        * include/ffi.h.in: Placed '__GNUC__' ifdef around
 
1469
        '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
 
1470
        IRIX MIPSPro c99.
 
1471
        * include/ffi_common.h: Added '__sgi' define to non
 
1472
        '__attribute__((__mode__()))' integer typedefs.
 
1473
        * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
 
1474
        ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
 
1475
        (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
 
1476
        FFI_LONGDOUBLE support and alignment(N32 only).
 
1477
        * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
 
1478
        fixed non '__attribute__((__mode__()))' integer typedefs.
 
1479
        * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
 
1480
        since they are Linux/GNU Assembler specific.
 
1481
 
 
1482
2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
 
1483
 
 
1484
        * configure.ac, Makefile.am, src/avr32/ffi.c,
 
1485
        src/avr32/ffitarget.h,
 
1486
        src/avr32/sysv.S: Add AVR32 port.
 
1487
        * configure, Makefile.in: Rebuilt.
 
1488
 
 
1489
2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
 
1490
 
 
1491
        * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
 
1492
        * configure: Regenerate.
 
1493
 
 
1494
2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
1495
 
 
1496
        * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
 
1497
 
 
1498
2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
1499
 
 
1500
        * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
 
1501
        type on HP-UX.
 
1502
 
 
1503
2012-02-13  Kai Tietz  <ktietz@redhat.com>
 
1504
 
 
1505
        PR libffi/52221
 
1506
        * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
 
1507
        support for X86_WIN32.
 
1508
        (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
 
1509
 
 
1510
2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
 
1511
 
 
1512
        * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
 
1513
        double' arguments.
 
1514
 
 
1515
2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
 
1516
 
 
1517
        * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
 
1518
 
 
1519
2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
1520
 
 
1521
        PR libffi/40700
 
1522
        * src/closures.c [X86_64 && __sun__ && __svr4__]
 
1523
        (FFI_MMAP_EXEC_WRIT): Define.
 
1524
 
 
1525
2009-12-08  David Daney  <ddaney@caviumnetworks.com>
 
1526
 
 
1527
        * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
 
1528
        * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
 
1529
        * testsuite/libffi.call/stret_large.c: Same.
 
1530
        * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
 
1531
        * testsuite/libffi.call/stret_large2.c: Same.
 
1532
        * testsuite/libffi.call/stret_medium2.c: Same.
 
1533
 
 
1534
2009-12-07  David Edelsohn  <edelsohn@gnu.org>
 
1535
 
 
1536
        * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
 
1537
        typo.
 
1538
 
 
1539
2009-12-05  David Edelsohn  <edelsohn@gnu.org>
 
1540
 
 
1541
        * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
 
1542
        code.
 
1543
        * src/powerpc/aix_closure.S: Same.
 
1544
 
 
1545
2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
1546
 
 
1547
        * Makefile.in: Regenerate.
 
1548
        * configure: Regenerate.
 
1549
        * include/Makefile.in: Regenerate.
 
1550
        * man/Makefile.in: Regenerate.
 
1551
        * testsuite/Makefile.in: Regenerate.
 
1552
 
 
1553
2009-12-04  David Edelsohn  <edelsohn@gnu.org>
 
1554
 
 
1555
        * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
 
1556
        linux64_closure.S.
 
1557
 
 
1558
2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
 
1559
 
 
1560
        PR libffi/41908
 
1561
        * src/x86/ffi64.c (classify_argument): Update from
 
1562
        gcc/config/i386/i386.c.
 
1563
        (ffi_closure_unix64_inner): Do not use the address of two consecutive
 
1564
        SSE registers directly.
 
1565
        * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
 
1566
        for x86_64 linux targets.
 
1567
 
 
1568
2009-12-04  David Edelsohn  <edelsohn@gnu.org>
 
1569
 
 
1570
        * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
 
1571
        pfr for long double split between fpr13 and stack.
 
1572
 
 
1573
2009-12-03  David Edelsohn  <edelsohn@gnu.org>
 
1574
 
 
1575
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
 
1576
        fparg_count twice for long double.
 
1577
 
 
1578
2009-12-03  David Edelsohn  <edelsohn@gnu.org>
 
1579
 
 
1580
        PR libffi/42243
 
1581
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
 
1582
 
 
1583
2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
 
1584
 
 
1585
        * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
 
1586
        Remove xfails for x86 linux targets.
 
1587
 
 
1588
2009-12-02  David Edelsohn  <edelsohn@gnu.org>
 
1589
 
 
1590
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
 
1591
        case.
 
1592
 
 
1593
2009-12-01  David Edelsohn  <edelsohn@gnu.org>
 
1594
 
 
1595
        * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
 
1596
        register usage.  Call ffi_prep_args directly.  Add long double
 
1597
        return value support.
 
1598
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
 
1599
        applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
 
1600
        Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
 
1601
        (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
 
1602
        mode.
 
1603
        (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
 
1604
        into case.
 
1605
        * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
 
1606
        Allocate result area between params and FPRs.
 
1607
 
 
1608
2009-11-30  David Edelsohn  <edelsohn@gnu.org>
 
1609
 
 
1610
        PR target/35484
 
1611
        * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
 
1612
        AIX64.
 
1613
        * src/powerpc/aix.S: Implement AIX64 version.
 
1614
        * src/powerpc/aix_closure.S: Implement AIX64 version.
 
1615
        (ffi_closure_ASM): Use extsb, lha and displament addresses.
 
1616
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
 
1617
        support.
 
1618
        (ffi_prep_cif_machdep): Same.
 
1619
        (ffi_call): Same.
 
1620
        (ffi_closure_helper_DARWIN): Same.
 
1621
 
 
1622
2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
 
1623
 
 
1624
        PR libffi/41908
 
1625
        * testsuite/libffi.call/testclosure.c: New test.
 
1626
 
 
1627
2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
 
1628
 
 
1629
        * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
 
1630
        assembly version use of ___chkstk.
 
1631
 
 
1632
2009-09-23  Matthias Klose  <doko@ubuntu.com>
 
1633
 
 
1634
        PR libffi/40242, PR libffi/41443
 
1635
        * src/arm/sysv.S (__ARM_ARCH__): Define for processors
 
1636
        __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
 
1637
        __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
 
1638
        Change the conditionals to __SOFTFP__ || __ARM_EABI__
 
1639
        for -mfloat-abi=softfp to work.
 
1640
 
 
1641
2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
 
1642
 
 
1643
        PR testsuite/32843 (strikes again)
 
1644
        * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
 
1645
        enable proper extension on char and short.
 
1646
 
 
1647
2009-09-15  David Daney  <ddaney@caviumnetworks.com>
 
1648
 
 
1649
        * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
 
1650
        handling for FFI_TYPE_POINTER.
 
1651
        * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
 
1652
        FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
 
1653
        FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
 
1654
        FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
 
1655
        (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
 
1656
        (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
 
1657
        * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
 
1658
        structure and pointer returns.
 
1659
        (ffi_closure_N32): Add handling for pointer returns.
 
1660
        * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
 
1661
        calc_n32_return_struct_flags): Handle soft-float.
 
1662
        (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
 
1663
        (ffi_call_N32): Declare proper argument types.
 
1664
        (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
 
1665
        soft-float.
 
1666
 
 
1667
2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
1668
 
 
1669
        * configure.ac (AC_PREREQ): Bump to 2.64.
 
1670
 
 
1671
2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
1672
 
 
1673
        * Makefile.am (install-html, install-pdf): Remove.
 
1674
        * Makefile.in: Regenerate.
 
1675
 
 
1676
        * Makefile.in: Regenerate.
 
1677
        * aclocal.m4: Regenerate.
 
1678
        * configure: Regenerate.
 
1679
        * fficonfig.h.in: Regenerate.
 
1680
        * include/Makefile.in: Regenerate.
 
1681
        * man/Makefile.in: Regenerate.
 
1682
        * testsuite/Makefile.in: Regenerate.
 
1683
 
 
1684
2011-08-22  Jasper Lievisse Adriaanse <jasper@openbsd.org>
 
1685
 
 
1686
        * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
 
1687
        * configure: Rebuilt.
 
1688
 
 
1689
2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
1690
 
 
1691
        * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
 
1692
 
 
1693
2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
 
1694
 
 
1695
        PR libffi/40807
 
1696
        * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
 
1697
        return types for X86_WIN32.
 
1698
        * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
 
1699
        (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
 
1700
        _ffi_closure_STDCALL): Likewise.
 
1701
 
 
1702
        * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
 
1703
        (dlmmap, dlmunmap): Also use these functions on Cygwin.
 
1704
 
 
1705
2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
 
1706
 
 
1707
        PR testsuite/40699
 
1708
        PR testsuite/40707
 
1709
        PR testsuite/40709
 
1710
        * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
 
1711
        2009-06-30 commits.
 
1712
 
 
1713
2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
 
1714
 
 
1715
        * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
 
1716
        to "" before adding paths.  (This reinstates an assignment that
 
1717
        was removed by my 2009-06-30 commit, but changes the initial
 
1718
        value from "." to "".)
 
1719
 
 
1720
2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
 
1721
 
 
1722
        PR testsuite/40601
 
1723
        * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
 
1724
        gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
 
1725
        empty.
 
1726
 
 
1727
2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
 
1728
 
 
1729
        * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
 
1730
        to ld_library_path.  Use add_path.  Add just find_libgcc_s
 
1731
        to ld_library_path, not every libgcc multilib directory.
 
1732
 
 
1733
2009-06-16  Wim Lewis  <wiml@hhhh.org>
 
1734
 
 
1735
        * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
 
1736
        supposed to be callee-saved.
 
1737
        * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
 
1738
        return buffer for odd-size structs.
 
1739
 
 
1740
2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
 
1741
 
 
1742
        PR libffi/40444
 
1743
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
 
1744
        allow_stack_execute for Darwin.
 
1745
 
 
1746
2009-06-16  Andrew Haley  <aph@redhat.com>
 
1747
 
 
1748
        * configure.ac (TARGETDIR): Add missing blank lines.
 
1749
        * configure: Regenerate.
 
1750
 
 
1751
2009-06-16  Andrew Haley  <aph@redhat.com>
 
1752
 
 
1753
        * testsuite/libffi.call/cls_align_sint64.c,
 
1754
        testsuite/libffi.call/cls_align_uint64.c,
 
1755
        testsuite/libffi.call/cls_longdouble_va.c,
 
1756
        testsuite/libffi.call/cls_ulonglong.c,
 
1757
        testsuite/libffi.call/return_ll1.c,
 
1758
        testsuite/libffi.call/stret_medium2.c: Fix printf format
 
1759
        specifiers.
 
1760
        * testsuite/libffi.call/ffitest.h,
 
1761
        testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
 
1762
 
 
1763
2009-06-15  Andrew Haley  <aph@redhat.com>
 
1764
 
 
1765
        * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
 
1766
        * testsuite/libffi.call/err_bad_abi.c: Likewise.
 
1767
 
 
1768
2009-06-12  Andrew Haley  <aph@redhat.com>
 
1769
 
 
1770
        * Makefile.am: Remove info_TEXINFOS.
 
1771
 
 
1772
2009-06-12  Andrew Haley  <aph@redhat.com>
 
1773
 
 
1774
        * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
 
1775
        testsuite/libffi.call/cls_align_uint64.c,
 
1776
        testsuite/libffi.call/cls_ulonglong.c,
 
1777
        testsuite/libffi.call/return_ll1.c,
 
1778
        testsuite/libffi.call/stret_medium2.c: Fix printf format
 
1779
        specifiers.
 
1780
        testsuite/libffi.special/unwindtest.cc: include stdint.h.
 
1781
 
 
1782
2009-06-11  Timothy Wall  <twall@users.sf.net>
 
1783
 
 
1784
        * Makefile.am,
 
1785
        configure.ac,
 
1786
        include/ffi.h.in,
 
1787
        include/ffi_common.h,
 
1788
        src/closures.c,
 
1789
        src/dlmalloc.c,
 
1790
        src/x86/ffi.c,
 
1791
        src/x86/ffitarget.h,
 
1792
        src/x86/win64.S (new),
 
1793
        README: Added win64 support (mingw or MSVC)
 
1794
        * Makefile.in,
 
1795
        include/Makefile.in,
 
1796
        man/Makefile.in,
 
1797
        testsuite/Makefile.in,
 
1798
        configure,
 
1799
        aclocal.m4: Regenerated
 
1800
        * ltcf-c.sh: properly escape cygwin/w32 path
 
1801
        * man/ffi_call.3: Clarify size requirements for return value.
 
1802
        * src/x86/ffi64.c: Fix filename in comment.
 
1803
        * src/x86/win32.S: Remove unused extern.
 
1804
 
 
1805
        * testsuite/libffi.call/closure_fn0.c,
 
1806
        testsuite/libffi.call/closure_fn1.c,
 
1807
        testsuite/libffi.call/closure_fn2.c,
 
1808
        testsuite/libffi.call/closure_fn3.c,
 
1809
        testsuite/libffi.call/closure_fn4.c,
 
1810
        testsuite/libffi.call/closure_fn5.c,
 
1811
        testsuite/libffi.call/closure_fn6.c,
 
1812
        testsuite/libffi.call/closure_stdcall.c,
 
1813
        testsuite/libffi.call/cls_12byte.c,
 
1814
        testsuite/libffi.call/cls_16byte.c,
 
1815
        testsuite/libffi.call/cls_18byte.c,
 
1816
        testsuite/libffi.call/cls_19byte.c,
 
1817
        testsuite/libffi.call/cls_1_1byte.c,
 
1818
        testsuite/libffi.call/cls_20byte.c,
 
1819
        testsuite/libffi.call/cls_20byte1.c,
 
1820
        testsuite/libffi.call/cls_24byte.c,
 
1821
        testsuite/libffi.call/cls_2byte.c,
 
1822
        testsuite/libffi.call/cls_3_1byte.c,
 
1823
        testsuite/libffi.call/cls_3byte1.c,
 
1824
        testsuite/libffi.call/cls_3byte2.c,
 
1825
        testsuite/libffi.call/cls_4_1byte.c,
 
1826
        testsuite/libffi.call/cls_4byte.c,
 
1827
        testsuite/libffi.call/cls_5_1_byte.c,
 
1828
        testsuite/libffi.call/cls_5byte.c,
 
1829
        testsuite/libffi.call/cls_64byte.c,
 
1830
        testsuite/libffi.call/cls_6_1_byte.c,
 
1831
        testsuite/libffi.call/cls_6byte.c,
 
1832
        testsuite/libffi.call/cls_7_1_byte.c,
 
1833
        testsuite/libffi.call/cls_7byte.c,
 
1834
        testsuite/libffi.call/cls_8byte.c,
 
1835
        testsuite/libffi.call/cls_9byte1.c,
 
1836
        testsuite/libffi.call/cls_9byte2.c,
 
1837
        testsuite/libffi.call/cls_align_double.c,
 
1838
        testsuite/libffi.call/cls_align_float.c,
 
1839
        testsuite/libffi.call/cls_align_longdouble.c,
 
1840
        testsuite/libffi.call/cls_align_longdouble_split.c,
 
1841
        testsuite/libffi.call/cls_align_longdouble_split2.c,
 
1842
        testsuite/libffi.call/cls_align_pointer.c,
 
1843
        testsuite/libffi.call/cls_align_sint16.c,
 
1844
        testsuite/libffi.call/cls_align_sint32.c,
 
1845
        testsuite/libffi.call/cls_align_sint64.c,
 
1846
        testsuite/libffi.call/cls_align_uint16.c,
 
1847
        testsuite/libffi.call/cls_align_uint32.c,
 
1848
        testsuite/libffi.call/cls_align_uint64.c,
 
1849
        testsuite/libffi.call/cls_dbls_struct.c,
 
1850
        testsuite/libffi.call/cls_double.c,
 
1851
        testsuite/libffi.call/cls_double_va.c,
 
1852
        testsuite/libffi.call/cls_float.c,
 
1853
        testsuite/libffi.call/cls_longdouble.c,
 
1854
        testsuite/libffi.call/cls_longdouble_va.c,
 
1855
        testsuite/libffi.call/cls_multi_schar.c,
 
1856
        testsuite/libffi.call/cls_multi_sshort.c,
 
1857
        testsuite/libffi.call/cls_multi_sshortchar.c,
 
1858
        testsuite/libffi.call/cls_multi_uchar.c,
 
1859
        testsuite/libffi.call/cls_multi_ushort.c,
 
1860
        testsuite/libffi.call/cls_multi_ushortchar.c,
 
1861
        testsuite/libffi.call/cls_pointer.c,
 
1862
        testsuite/libffi.call/cls_pointer_stack.c,
 
1863
        testsuite/libffi.call/cls_schar.c,
 
1864
        testsuite/libffi.call/cls_sint.c,
 
1865
        testsuite/libffi.call/cls_sshort.c,
 
1866
        testsuite/libffi.call/cls_uchar.c,
 
1867
        testsuite/libffi.call/cls_uint.c,
 
1868
        testsuite/libffi.call/cls_ulonglong.c,
 
1869
        testsuite/libffi.call/cls_ushort.c,
 
1870
        testsuite/libffi.call/err_bad_abi.c,
 
1871
        testsuite/libffi.call/err_bad_typedef.c,
 
1872
        testsuite/libffi.call/float2.c,
 
1873
        testsuite/libffi.call/huge_struct.c,
 
1874
        testsuite/libffi.call/nested_struct.c,
 
1875
        testsuite/libffi.call/nested_struct1.c,
 
1876
        testsuite/libffi.call/nested_struct10.c,
 
1877
        testsuite/libffi.call/nested_struct2.c,
 
1878
        testsuite/libffi.call/nested_struct3.c,
 
1879
        testsuite/libffi.call/nested_struct4.c,
 
1880
        testsuite/libffi.call/nested_struct5.c,
 
1881
        testsuite/libffi.call/nested_struct6.c,
 
1882
        testsuite/libffi.call/nested_struct7.c,
 
1883
        testsuite/libffi.call/nested_struct8.c,
 
1884
        testsuite/libffi.call/nested_struct9.c,
 
1885
        testsuite/libffi.call/problem1.c,
 
1886
        testsuite/libffi.call/return_ldl.c,
 
1887
        testsuite/libffi.call/return_ll1.c,
 
1888
        testsuite/libffi.call/stret_large.c,
 
1889
        testsuite/libffi.call/stret_large2.c,
 
1890
        testsuite/libffi.call/stret_medium.c,
 
1891
        testsuite/libffi.call/stret_medium2.c,
 
1892
        testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
 
1893
        of checking for MMAP.  Use intptr_t instead of long casts.
 
1894
 
 
1895
2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
 
1896
 
 
1897
        * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
 
1898
        * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
 
1899
        * testsuite/libffi.call/err_bad_typedef.c: Likewise.
 
1900
 
 
1901
2009-06-09  Andrew Haley  <aph@redhat.com>
 
1902
 
 
1903
        * src/x86/freebsd.S: Add missing file.
 
1904
 
 
1905
2009-06-08  Andrew Haley  <aph@redhat.com>
 
1906
 
 
1907
        Import from libffi 3.0.8:
 
1908
 
 
1909
        * doc/libffi.texi: New file.
 
1910
        * doc/libffi.info: Likewise.
 
1911
        * doc/stamp-vti: Likewise.
 
1912
        * man/Makefile.am: New file.
 
1913
        * man/ffi_call.3: New file.
 
1914
 
 
1915
        * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
 
1916
        src/dlmalloc.c.
 
1917
        (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
 
1918
 
 
1919
        * configure.ac: Bump version to 3.0.8.
 
1920
        parisc*-*-linux*: Add.
 
1921
        i386-*-freebsd* | i386-*-openbsd*: Add.
 
1922
        powerpc-*-beos*: Add.
 
1923
        AM_CONDITIONAL X86_FREEBSD: Add.
 
1924
        AC_CONFIG_FILES: Add man/Makefile.
 
1925
 
 
1926
        * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
 
1927
 
 
1928
2009-06-08  Andrew Haley  <aph@redhat.com>
 
1929
 
 
1930
        * README: Import from libffi 3.0.8.
 
1931
 
 
1932
2009-06-08  Andrew Haley  <aph@redhat.com>
 
1933
 
 
1934
        * testsuite/libffi.call/err_bad_abi.c: Add xfails.
 
1935
        * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
 
1936
        * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
 
1937
        * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
 
1938
 
 
1939
        * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
 
1940
        * testsuite/libffi.call/stret_medium.c: Likewise.
 
1941
        * testsuite/libffi.call/stret_large2.c: Likewise.
 
1942
        * testsuite/libffi.call/stret_large.c:  Likewise.
 
1943
 
 
1944
2008-12-26  Timothy Wall  <twall@users.sf.net>
 
1945
 
 
1946
        * testsuite/libffi.call/cls_longdouble.c,
 
1947
        testsuite/libffi.call/cls_longdouble_va.c,
 
1948
        testsuite/libffi.call/cls_align_longdouble.c,
 
1949
        testsuite/libffi.call/cls_align_longdouble_split.c,
 
1950
        testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
 
1951
        failures on x86_64 cygwin/mingw.
 
1952
 
 
1953
2008-12-22  Timothy Wall  <twall@users.sf.net>
 
1954
 
 
1955
        * testsuite/libffi.call/closure_fn0.c,
 
1956
        testsuite/libffi.call/closure_fn1.c,
 
1957
        testsuite/libffi.call/closure_fn2.c,
 
1958
        testsuite/libffi.call/closure_fn3.c,
 
1959
        testsuite/libffi.call/closure_fn4.c,
 
1960
        testsuite/libffi.call/closure_fn5.c,
 
1961
        testsuite/libffi.call/closure_fn6.c,
 
1962
        testsuite/libffi.call/closure_loc_fn0.c,
 
1963
        testsuite/libffi.call/closure_stdcall.c,
 
1964
        testsuite/libffi.call/cls_align_pointer.c,
 
1965
        testsuite/libffi.call/cls_pointer.c,
 
1966
        testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
 
1967
        pointer to integer (intptr_t).
 
1968
        * testsuite/libffi.call/cls_longdouble.c: disable for win64.
 
1969
 
 
1970
2008-07-24  Anthony Green  <green@redhat.com>
 
1971
 
 
1972
        * testsuite/libffi.call/cls_dbls_struct.c,
 
1973
        testsuite/libffi.call/cls_double_va.c,
 
1974
        testsuite/libffi.call/cls_longdouble.c,
 
1975
        testsuite/libffi.call/cls_longdouble_va.c,
 
1976
        testsuite/libffi.call/cls_pointer.c,
 
1977
        testsuite/libffi.call/cls_pointer_stack.c,
 
1978
        testsuite/libffi.call/err_bad_abi.c: Clean up failures from
 
1979
        compiler warnings.
 
1980
 
 
1981
2008-03-04  Anthony Green  <green@redhat.com>
 
1982
            Blake Chaffin
 
1983
            hos@tamanegi.org
 
1984
 
 
1985
        * testsuite/libffi.call/cls_align_longdouble_split2.c
 
1986
          testsuite/libffi.call/cls_align_longdouble_split.c
 
1987
          testsuite/libffi.call/cls_dbls_struct.c
 
1988
          testsuite/libffi.call/cls_double_va.c
 
1989
          testsuite/libffi.call/cls_longdouble.c
 
1990
          testsuite/libffi.call/cls_longdouble_va.c
 
1991
          testsuite/libffi.call/cls_pointer.c
 
1992
          testsuite/libffi.call/cls_pointer_stack.c
 
1993
          testsuite/libffi.call/err_bad_abi.c
 
1994
          testsuite/libffi.call/err_bad_typedef.c
 
1995
          testsuite/libffi.call/stret_large2.c
 
1996
          testsuite/libffi.call/stret_large.c
 
1997
          testsuite/libffi.call/stret_medium2.c
 
1998
          testsuite/libffi.call/stret_medium.c: New tests from Apple.
 
1999
 
 
2000
2009-06-05  Andrew Haley  <aph@redhat.com>
 
2001
 
 
2002
        * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
 
2003
        libffi.
 
2004
 
 
2005
2009-06-04  Andrew Haley  <aph@redhat.com>
 
2006
 
 
2007
        * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
 
2008
        stdcall changes.
 
2009
 
 
2010
2008-02-26  Anthony Green  <green@redhat.com>
 
2011
            Thomas Heller  <theller@ctypes.org>
 
2012
 
 
2013
        * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
 
2014
        comment.
 
2015
 
 
2016
2008-02-03  Timothy Wall  <twall@users.sf.net>
 
2017
 
 
2018
        * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
 
2019
          offset based on code pointer, not data pointer.
 
2020
 
 
2021
2008-01-31  Timothy Wall <twall@users.sf.net>
 
2022
 
 
2023
        * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
 
2024
        closures.
 
2025
        * src/x86/ffitarget.h: Increase size of trampoline for stdcall
 
2026
        closures.
 
2027
        * src/x86/win32.S: Add assembly for stdcall closure.
 
2028
        * src/x86/ffi.c: Initialize stdcall closure trampoline.
 
2029
 
 
2030
2009-06-04  Andrew Haley  <aph@redhat.com>
 
2031
 
 
2032
        * include/ffi.h.in: Change void (*)() to void (*)(void).
 
2033
        * src/x86/ffi.c: Likewise.
 
2034
 
 
2035
2009-06-04  Andrew Haley  <aph@redhat.com>
 
2036
 
 
2037
        * src/powerpc/ppc_closure.S: Insert licence header.
 
2038
        * src/powerpc/linux64_closure.S: Likewise.
 
2039
        * src/m68k/sysv.S: Likewise.
 
2040
 
 
2041
        * src/sh64/ffi.c: Change void (*)() to void (*)(void).
 
2042
        * src/powerpc/ffi.c: Likewise.
 
2043
        * src/powerpc/ffi_darwin.c: Likewise.
 
2044
        * src/m32r/ffi.c: Likewise.
 
2045
        * src/sh64/ffi.c: Likewise.
 
2046
        * src/x86/ffi64.c: Likewise.
 
2047
        * src/alpha/ffi.c: Likewise.
 
2048
        * src/alpha/osf.S: Likewise.
 
2049
        * src/frv/ffi.c: Likewise.
 
2050
        * src/s390/ffi.c: Likewise.
 
2051
        * src/pa/ffi.c: Likewise.
 
2052
        * src/pa/hpux32.S: Likewise.
 
2053
        * src/ia64/unix.S: Likewise.
 
2054
        * src/ia64/ffi.c: Likewise.
 
2055
        * src/sparc/ffi.c: Likewise.
 
2056
        * src/mips/ffi.c: Likewise.
 
2057
        * src/sh/ffi.c: Likewise.
 
2058
 
 
2059
2008-02-15  David Daney  <ddaney@avtrex.com>
 
2060
 
 
2061
        * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
 
2062
        Define (conditionally), and use it to include cachectl.h.
 
2063
        (ffi_prep_closure_loc): Fix cache flushing.
 
2064
        * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
 
2065
 
 
2066
2009-06-04  Andrew Haley  <aph@redhat.com>
 
2067
 
 
2068
        include/ffi.h.in,
 
2069
        src/arm/ffitarget.h,
 
2070
        src/arm/ffi.c,
 
2071
        src/arm/sysv.S,
 
2072
        src/powerpc/ffitarget.h,
 
2073
        src/closures.c,
 
2074
        src/sh64/ffitarget.h,
 
2075
        src/sh64/ffi.c,
 
2076
        src/sh64/sysv.S,
 
2077
        src/types.c,
 
2078
        src/x86/ffi64.c,
 
2079
        src/x86/ffitarget.h,
 
2080
        src/x86/win32.S,
 
2081
        src/x86/darwin.S,
 
2082
        src/x86/ffi.c,
 
2083
        src/x86/sysv.S,
 
2084
        src/x86/unix64.S,
 
2085
        src/alpha/ffitarget.h,
 
2086
        src/alpha/ffi.c,
 
2087
        src/alpha/osf.S,
 
2088
        src/m68k/ffitarget.h,
 
2089
        src/frv/ffitarget.h,
 
2090
        src/frv/ffi.c,
 
2091
        src/s390/ffitarget.h,
 
2092
        src/s390/sysv.S,
 
2093
        src/cris/ffitarget.h,
 
2094
        src/pa/linux.S,
 
2095
        src/pa/ffitarget.h,
 
2096
        src/pa/ffi.c,
 
2097
        src/raw_api.c,
 
2098
        src/ia64/ffitarget.h,
 
2099
        src/ia64/unix.S,
 
2100
        src/ia64/ffi.c,
 
2101
        src/ia64/ia64_flags.h,
 
2102
        src/java_raw_api.c,
 
2103
        src/debug.c,
 
2104
        src/sparc/v9.S,
 
2105
        src/sparc/ffitarget.h,
 
2106
        src/sparc/ffi.c,
 
2107
        src/sparc/v8.S,
 
2108
        src/mips/ffitarget.h,
 
2109
        src/mips/n32.S,
 
2110
        src/mips/o32.S,
 
2111
        src/mips/ffi.c,
 
2112
        src/prep_cif.c,
 
2113
        src/sh/ffitarget.h,
 
2114
        src/sh/ffi.c,
 
2115
        src/sh/sysv.S: Update license text.
 
2116
 
 
2117
2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
 
2118
 
 
2119
        * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
 
2120
        (.eh_frame):  Add FDE for it.
 
2121
 
 
2122
2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
 
2123
 
 
2124
        * configure.ac:  Also check if assembler supports pc-relative
 
2125
        relocs on X86_WIN32 targets.
 
2126
        * configure:  Regenerate.
 
2127
        * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
 
2128
        (_ffi_call_SYSV):  Add missing function type symbol .def and
 
2129
        add EH markup labels.
 
2130
        (_ffi_call_STDCALL):  Likewise.
 
2131
        (_ffi_closure_SYSV):  Likewise.
 
2132
        (_ffi_closure_raw_SYSV):  Likewise.
 
2133
        (.eh_frame):  Add hand-crafted EH data.
 
2134
 
 
2135
2009-04-09  Jakub Jelinek  <jakub@redhat.com>
 
2136
 
 
2137
        * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
 
2138
        version 3 of the GNU General Public License and to point readers
 
2139
        at the COPYING3 file and the FSF's license web page.
 
2140
        * testsuite/libffi.call/call.exp: Likewise.
 
2141
        * testsuite/libffi.special/special.exp: Likewise.
 
2142
 
 
2143
2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
2144
 
 
2145
        * configure: Regenerate.
 
2146
 
 
2147
2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
2148
 
 
2149
        PR libffi/26048
 
2150
        * configure.ac (HAVE_AS_X86_PCREL): New test.
 
2151
        * configure: Regenerate.
 
2152
        * fficonfig.h.in: Regenerate.
 
2153
        * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
 
2154
        RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
 
2155
        RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
 
2156
        (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
 
2157
        * src/x86/unix64.S (.Lstore_table): Move to .text section.
 
2158
        (.Lload_table): Likewise.
 
2159
        (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
 
2160
 
 
2161
2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
2162
 
 
2163
        * configure: Regenerate.
 
2164
 
 
2165
2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
 
2166
 
 
2167
        * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
 
2168
        signed/unsigned int8/16 return values.
 
2169
        * src/sparc/v8.S (ffi_call_v8): Likewise.
 
2170
        (ffi_closure_v8): Likewise.
 
2171
 
 
2172
2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
 
2173
            Steve Ellcey  <sje@cup.hp.com>
 
2174
 
 
2175
        * configure: Regenerate for new libtool.
 
2176
        * Makefile.in: Ditto.
 
2177
        * include/Makefile.in: Ditto.
 
2178
        * aclocal.m4: Ditto.
 
2179
 
 
2180
2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
 
2181
 
 
2182
        * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
 
2183
        FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
 
2184
        Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
 
2185
        Adjust copyright notice.
 
2186
        * src/powerpc/ffi.c: Add two new flags to indicate if we have one
 
2187
        register or two register to use for FFI_SYSV structs.
 
2188
        (ffi_prep_cif_machdep): Pass the right register flag introduced above.
 
2189
        (ffi_closure_helper_SYSV): Fix the return type for
 
2190
        FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
 
2191
        Adjust copyright notice.
 
2192
 
 
2193
2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
 
2194
 
 
2195
        * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
 
2196
        int.
 
2197
 
 
2198
2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
2199
 
 
2200
        * configure: Regenerate.
 
2201
        * include/Makefile.in: Regenerate.
 
2202
        * testsuite/Makefile.in: Regenerate.
 
2203
 
 
2204
2008-06-07  Joseph Myers  <joseph@codesourcery.com>
 
2205
 
 
2206
        * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
 
2207
        powerpc-*-beos*): Remove.
 
2208
        * configure: Regenerate.
 
2209
 
 
2210
2008-05-09  Julian Brown  <julian@codesourcery.com>
 
2211
 
 
2212
        * Makefile.am (LTLDFLAGS): New.
 
2213
        (libffi_la_LDFLAGS): Use above.
 
2214
        * Makefile.in: Regenerate.
 
2215
 
 
2216
2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
 
2217
 
 
2218
        PR bootstrap/35457
 
2219
        * aclocal.m4: Regenerate.
 
2220
        * configure: Regenerate.
 
2221
 
 
2222
2008-03-26  Kaz Kojima  <kkojima@gcc.gnu.org>
 
2223
 
 
2224
        * src/sh/sysv.S: Add .note.GNU-stack on Linux.
 
2225
        * src/sh64/sysv.S: Likewise.
 
2226
 
 
2227
2008-03-26  Daniel Jacobowitz  <dan@debian.org>
 
2228
 
 
2229
        * src/arm/sysv.S: Fix ARM comment marker.
 
2230
 
 
2231
2008-03-26  Jakub Jelinek  <jakub@redhat.com>
 
2232
 
 
2233
        * src/alpha/osf.S: Add .note.GNU-stack on Linux.
 
2234
        * src/s390/sysv.S: Likewise.
 
2235
        * src/powerpc/ppc_closure.S: Likewise.
 
2236
        * src/powerpc/sysv.S: Likewise.
 
2237
        * src/x86/unix64.S: Likewise.
 
2238
        * src/x86/sysv.S: Likewise.
 
2239
        * src/sparc/v8.S: Likewise.
 
2240
        * src/sparc/v9.S: Likewise.
 
2241
        * src/m68k/sysv.S: Likewise.
 
2242
        * src/arm/sysv.S: Likewise.
 
2243
 
 
2244
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
2245
 
 
2246
        * aclocal.m4: Regenerate.
 
2247
        * configure: Likewise.
 
2248
        * Makefile.in: Likewise.
 
2249
        * include/Makefile.in: Likewise.
 
2250
        * testsuite/Makefile.in: Likewise.
 
2251
 
 
2252
2008-02-12  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
 
2253
            Andreas Tobler  <a.tobler@schweiz.org>
 
2254
 
 
2255
        * configure.ac: Add amd64-*-freebsd* target.
 
2256
        * configure: Regenerate.
 
2257
 
 
2258
2008-01-30  H.J. Lu  <hongjiu.lu@intel.com>
 
2259
 
 
2260
        PR libffi/34612
 
2261
        * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
 
2262
        returning struct.
 
2263
 
 
2264
        * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
 
2265
        tests.
 
2266
 
 
2267
2008-01-24  David Edelsohn  <edelsohn@gnu.org>
 
2268
 
 
2269
        * configure: Regenerate.
 
2270
 
 
2271
2008-01-06  Andreas Tobler  <a.tobler@schweiz.org>
 
2272
 
 
2273
        * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
 
2274
 
 
2275
2008-01-05  Andreas Tobler  <a.tobler@schweiz.org>
 
2276
 
 
2277
        PR testsuite/32843
 
2278
        * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
 
2279
        signed/unsigned int8/16 for X86_DARWIN.
 
2280
        Updated copyright info.
 
2281
        Handle one and two byte structs with special cif->flags.
 
2282
        * src/x86/ffitarget.h: Add special types for one and two byte structs.
 
2283
        Updated copyright info.
 
2284
        * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
 
2285
        sysv.S
 
2286
        Remove code to pop args from the stack after call.
 
2287
        Special-case signed/unsigned for int8/16, one and two byte structs.
 
2288
        (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
 
2289
        FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
 
2290
        FFI_TYPE_SINT32.
 
2291
        Updated copyright info.
 
2292
 
 
2293
2007-12-08  David Daney  <ddaney@avtrex.com>
 
2294
 
 
2295
        * src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with
 
2296
        SUBU, add with ADDU and use smaller code sequences.
 
2297
 
 
2298
2007-12-07  David Daney  <ddaney@avtrex.com>
 
2299
 
 
2300
        * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
 
2301
        type.
 
2302
 
 
2303
2007-12-06  David Daney  <ddaney@avtrex.com>
 
2304
 
 
2305
        * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
 
2306
        defined.
 
2307
        (ffi_java_raw): New typedef.
 
2308
        (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
 
2309
        ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
 
2310
        ffi_java_raw.
 
2311
        (ffi_java_raw_closure) : Same.
 
2312
        (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
 
2313
        parameter types.
 
2314
        * src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
 
2315
        FFI_SIZEOF_JAVA_RAW.
 
2316
        (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
 
2317
        Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
 
2318
        sizeof(ffi_java_raw) for alignment calculations.
 
2319
        (ffi_java_ptrarray_to_raw): Same.
 
2320
        (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
 
2321
        if FFI_SIZEOF_JAVA_RAW == 4.
 
2322
        (ffi_java_raw_to_rvalue): Same.
 
2323
        (ffi_java_raw_call): Change type of raw to ffi_java_raw.
 
2324
        (ffi_java_translate_args): Same.
 
2325
        (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
 
2326
        parameter types.
 
2327
        * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
 
2328
 
 
2329
2007-12-06  David Daney  <ddaney@avtrex.com>
 
2330
 
 
2331
        * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
 
2332
        pointer values.
 
2333
 
 
2334
2007-12-01  Andreas Tobler  <a.tobler@schweiz.org>
 
2335
 
 
2336
        PR libffi/31937
 
2337
        * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
 
2338
        Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
 
2339
        * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
 
2340
        set the NUM_FPR_ARG_REGISTERS according to.
 
2341
        Add support for potential soft-float support under hard-float
 
2342
        architecture.
 
2343
        (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
 
2344
        FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
 
2345
        to the FFI_LINUX_SOFT_FLOAT ABI.
 
2346
        (ffi_prep_cif_machdep): Likewise.
 
2347
        (ffi_closure_helper_SYSV): Likewise.
 
2348
        * src/powerpc/ppc_closure.S: Make sure not to store float/double
 
2349
        on archs where __NO_FPRS__ is true.
 
2350
        Add FFI_TYPE_UINT128 support.
 
2351
        * src/powerpc/sysv.S: Add support for soft-float long-double-128.
 
2352
        Adjust copyright notice.
 
2353
 
 
2354
2007-11-25  Andreas Tobler  <a.tobler@schweiz.org>
 
2355
 
 
2356
        * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
 
2357
        * include/ffi_common.h: ... here.
 
2358
        Update copyright.
 
2359
 
 
2360
2007-11-17  Andreas Tobler  <a.tobler@schweiz.org>
 
2361
 
 
2362
        * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
 
2363
        * src/powerpc/linux64.S: Likewise.
 
2364
        * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
 
2365
        * testsuite/libffi.call/return_ldl.c: New test.
 
2366
 
 
2367
2007-09-04    <aph@redhat.com>
 
2368
 
 
2369
        * src/arm/sysv.S (UNWIND): New.
 
2370
        (Whole file): Conditionally compile unwinder directives.
 
2371
        * src/arm/sysv.S: Add unwinder directives.
 
2372
 
 
2373
        * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
 
2374
        Only treat r0 as a struct address if we're actually returning a
 
2375
        struct by address.
 
2376
        Only copy the bytes that are actually within a struct.
 
2377
        (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
 
2378
        is returned in r0, not passed by address.
 
2379
        (ffi_call): Allocate a word-sized temporary for the case where
 
2380
        a composite is returned in r0.
 
2381
        (ffi_prep_incoming_args_SYSV): Align as necessary.
 
2382
 
 
2383
2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>
 
2384
 
 
2385
        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
 
2386
        directly using the sys_cacheflush syscall.
 
2387
 
 
2388
2007-07-27  Andrew Haley  <aph@redhat.com>
 
2389
 
 
2390
        * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
 
2391
 
 
2392
2007-09-03  Maciej W. Rozycki  <macro@linux-mips.org>
 
2393
 
 
2394
        * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
 
2395
        * configure.ac: Likewise.
 
2396
        * Makefile.in: Regenerate.
 
2397
        * include/Makefile.in: Likewise.
 
2398
        * testsuite/Makefile.in: Likewise.
 
2399
        * configure: Likewise.
 
2400
 
 
2401
2007-08-24  David Daney  <ddaney@avtrex.com>
 
2402
 
 
2403
        * testsuite/libffi.call/return_sl.c: New test.
 
2404
 
 
2405
2007-08-10  David Daney  <ddaney@avtrex.com>
 
2406
 
 
2407
        * testsuite/libffi.call/cls_multi_ushort.c,
 
2408
        testsuite/libffi.call/cls_align_uint16.c,
 
2409
        testsuite/libffi.call/nested_struct1.c,
 
2410
        testsuite/libffi.call/nested_struct3.c,
 
2411
        testsuite/libffi.call/cls_7_1_byte.c,
 
2412
        testsuite/libffi.call/nested_struct5.c,
 
2413
        testsuite/libffi.call/cls_double.c,
 
2414
        testsuite/libffi.call/nested_struct7.c,
 
2415
        testsuite/libffi.call/cls_sint.c,
 
2416
        testsuite/libffi.call/nested_struct9.c,
 
2417
        testsuite/libffi.call/cls_20byte1.c,
 
2418
        testsuite/libffi.call/cls_multi_sshortchar.c,
 
2419
        testsuite/libffi.call/cls_align_sint64.c,
 
2420
        testsuite/libffi.call/cls_3byte2.c,
 
2421
        testsuite/libffi.call/cls_multi_schar.c,
 
2422
        testsuite/libffi.call/cls_multi_uchar.c,
 
2423
        testsuite/libffi.call/cls_19byte.c,
 
2424
        testsuite/libffi.call/cls_9byte1.c,
 
2425
        testsuite/libffi.call/cls_align_float.c,
 
2426
        testsuite/libffi.call/closure_fn1.c,
 
2427
        testsuite/libffi.call/problem1.c,
 
2428
        testsuite/libffi.call/closure_fn3.c,
 
2429
        testsuite/libffi.call/cls_sshort.c,
 
2430
        testsuite/libffi.call/closure_fn5.c,
 
2431
        testsuite/libffi.call/cls_align_double.c,
 
2432
        testsuite/libffi.call/nested_struct.c,
 
2433
        testsuite/libffi.call/cls_2byte.c,
 
2434
        testsuite/libffi.call/nested_struct10.c,
 
2435
        testsuite/libffi.call/cls_4byte.c,
 
2436
        testsuite/libffi.call/cls_6byte.c,
 
2437
        testsuite/libffi.call/cls_8byte.c,
 
2438
        testsuite/libffi.call/cls_multi_sshort.c,
 
2439
        testsuite/libffi.call/cls_align_sint16.c,
 
2440
        testsuite/libffi.call/cls_align_uint32.c,
 
2441
        testsuite/libffi.call/cls_20byte.c,
 
2442
        testsuite/libffi.call/cls_float.c,
 
2443
        testsuite/libffi.call/nested_struct2.c,
 
2444
        testsuite/libffi.call/cls_5_1_byte.c,
 
2445
        testsuite/libffi.call/nested_struct4.c,
 
2446
        testsuite/libffi.call/cls_24byte.c,
 
2447
        testsuite/libffi.call/nested_struct6.c,
 
2448
        testsuite/libffi.call/cls_64byte.c,
 
2449
        testsuite/libffi.call/nested_struct8.c,
 
2450
        testsuite/libffi.call/cls_uint.c,
 
2451
        testsuite/libffi.call/cls_multi_ushortchar.c,
 
2452
        testsuite/libffi.call/cls_schar.c,
 
2453
        testsuite/libffi.call/cls_uchar.c,
 
2454
        testsuite/libffi.call/cls_align_uint64.c,
 
2455
        testsuite/libffi.call/cls_ulonglong.c,
 
2456
        testsuite/libffi.call/cls_align_longdouble.c,
 
2457
        testsuite/libffi.call/cls_1_1byte.c,
 
2458
        testsuite/libffi.call/cls_12byte.c,
 
2459
        testsuite/libffi.call/cls_3_1byte.c,
 
2460
        testsuite/libffi.call/cls_3byte1.c,
 
2461
        testsuite/libffi.call/cls_4_1byte.c,
 
2462
        testsuite/libffi.call/cls_6_1_byte.c,
 
2463
        testsuite/libffi.call/cls_16byte.c,
 
2464
        testsuite/libffi.call/cls_18byte.c,
 
2465
        testsuite/libffi.call/closure_fn0.c,
 
2466
        testsuite/libffi.call/cls_9byte2.c,
 
2467
        testsuite/libffi.call/closure_fn2.c,
 
2468
        testsuite/libffi.call/closure_fn4.c,
 
2469
        testsuite/libffi.call/cls_ushort.c,
 
2470
        testsuite/libffi.call/closure_fn6.c,
 
2471
        testsuite/libffi.call/cls_5byte.c,
 
2472
        testsuite/libffi.call/cls_align_pointer.c,
 
2473
        testsuite/libffi.call/cls_7byte.c,
 
2474
        testsuite/libffi.call/cls_align_sint32.c,
 
2475
        testsuite/libffi.special/unwindtest_ffi_call.cc,
 
2476
        testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
 
2477
 
 
2478
2007-08-10  David Daney  <ddaney@avtrex.com>
 
2479
 
 
2480
        PR libffi/28313
 
2481
        * configure.ac: Don't treat mips64 as a special case.
 
2482
        * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
 
2483
        * configure: Regenerate
 
2484
        * Makefile.in: Ditto.
 
2485
        * fficonfig.h.in: Ditto.
 
2486
        * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
 
2487
        (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
 
2488
        (FFI_DEFAULT_ABI): Set for n64 case.
 
2489
        (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
 
2490
        * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
 
2491
        (ffi_closure_N32): New function.
 
2492
        (.eh_frame): New section
 
2493
        * src/mips/o32.S: Clean up comments.
 
2494
        (ffi_closure_O32): Pass ffi_closure parameter in $12.
 
2495
        * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
 
2496
        _MIPS_SIM == _ABIN32 throughout.
 
2497
        (FFI_MIPS_STOP_HERE): New, use in place of
 
2498
        ffi_stop_here.
 
2499
        (ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
 
2500
        to support n32/n64 ABIs.
 
2501
        (calc_n32_struct_flags): Rewrite.
 
2502
        (calc_n32_return_struct_flags): Remove unused variable.  Reverse
 
2503
        position of flag bits.
 
2504
        (ffi_prep_cif_machdep): Rewrite n32 portion.
 
2505
        (ffi_call): Enable for n64.  Add special handling for small structure
 
2506
        return values.
 
2507
        (ffi_prep_closure_loc): Add n32 and n64 support.
 
2508
        (ffi_closure_mips_inner_O32): Add cast to silence warning.
 
2509
        (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
 
2510
 
 
2511
2007-08-08  David Daney  <ddaney@avtrex.com>
 
2512
 
 
2513
        * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
 
2514
        * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
 
2515
        specifiers.
 
2516
        * testsuite/libffi.call/nested_struct1.c (main): Ditto.
 
2517
        * testsuite/libffi.call/cls_sint.c (main): Ditto.
 
2518
        * testsuite/libffi.call/nested_struct9.c (main): Ditto.
 
2519
        * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
 
2520
        * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
 
2521
        * testsuite/libffi.call/closure_fn1.c (main): Ditto.
 
2522
        * testsuite/libffi.call/closure_fn3.c (main): Ditto.
 
2523
        * testsuite/libffi.call/return_dbl2.c (main): Ditto.
 
2524
        * testsuite/libffi.call/cls_sshort.c (main): Ditto.
 
2525
        * testsuite/libffi.call/return_fl3.c (main): Ditto.
 
2526
        * testsuite/libffi.call/closure_fn5.c (main): Ditto.
 
2527
        * testsuite/libffi.call/nested_struct.c (main): Ditto.
 
2528
        * testsuite/libffi.call/nested_struct10.c (main): Ditto.
 
2529
        * testsuite/libffi.call/return_ll1.c (main): Ditto.
 
2530
        * testsuite/libffi.call/cls_8byte.c (main): Ditto.
 
2531
        * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
 
2532
        * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
 
2533
        * testsuite/libffi.call/cls_20byte.c (main): Ditto.
 
2534
        * testsuite/libffi.call/nested_struct2.c (main): Ditto.
 
2535
        * testsuite/libffi.call/cls_24byte.c (main): Ditto.
 
2536
        * testsuite/libffi.call/nested_struct6.c (main): Ditto.
 
2537
        * testsuite/libffi.call/cls_uint.c (main): Ditto.
 
2538
        * testsuite/libffi.call/cls_12byte.c (main): Ditto.
 
2539
        * testsuite/libffi.call/cls_16byte.c (main): Ditto.
 
2540
        * testsuite/libffi.call/closure_fn0.c (main): Ditto.
 
2541
        * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
 
2542
        * testsuite/libffi.call/closure_fn2.c (main): Ditto.
 
2543
        * testsuite/libffi.call/return_dbl1.c (main): Ditto.
 
2544
        * testsuite/libffi.call/closure_fn4.c (main): Ditto.
 
2545
        * testsuite/libffi.call/closure_fn6.c (main): Ditto.
 
2546
        * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
 
2547
 
 
2548
2007-08-07  Andrew Haley  <aph@redhat.com>
 
2549
 
 
2550
        * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
 
2551
        checkin.
 
2552
 
 
2553
2007-08-06  Andrew Haley  <aph@redhat.com>
 
2554
 
 
2555
        PR testsuite/32843
 
2556
        * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
 
2557
        FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
 
2558
        FFI_TYPE_SINT32.
 
2559
 
 
2560
2007-08-02  David Daney  <ddaney@avtrex.com>
 
2561
 
 
2562
        * testsuite/libffi.call/return_ul.c (main): Define return type as
 
2563
        ffi_arg.  Use proper printf conversion specifier.
 
2564
 
 
2565
2007-07-30  Andrew Haley  <aph@redhat.com>
 
2566
 
 
2567
        PR testsuite/32843
 
2568
        * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
 
2569
        signed/unsigned int8/16.
 
2570
        * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
 
2571
        Use a jump table.
 
2572
        Remove code to pop args from the stack after call.
 
2573
        Special-case signed/unsigned int8/16.
 
2574
        * testsuite/libffi.call/return_sc.c (main): Revert.
 
2575
 
 
2576
2007-07-26  Richard Guenther  <rguenther@suse.de>
 
2577
 
 
2578
        PR testsuite/32843
 
2579
        * testsuite/libffi.call/return_sc.c (main): Verify call
 
2580
        result as signed char, not ffi_arg.
 
2581
 
 
2582
2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
2583
 
 
2584
        * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
 
2585
        * configure: Regenerate.
 
2586
 
 
2587
2007-07-11  David Daney  <ddaney@avtrex.com>
 
2588
 
 
2589
        * src/mips/ffi.c: Don't include sys/cachectl.h.
 
2590
        (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
 
2591
        cacheflush().
 
2592
 
 
2593
2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
 
2594
 
 
2595
        * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
 
2596
        from (ffi_prep_closure): ... this.
 
2597
        (FFI_INIT_TRAMPOLINE): Adjust.
 
2598
 
 
2599
2005-12-31  Phil Blundell  <pb@reciva.com>
 
2600
 
 
2601
        * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
 
2602
        ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
 
2603
        * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
 
2604
        * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
 
2605
        (FFI_CLOSURES): Enable closure support.
 
2606
 
 
2607
2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
 
2608
 
 
2609
        * testsuite/libffi.call/cls_multi_ushort.c,
 
2610
        testsuite/libffi.call/cls_align_uint16.c,
 
2611
        testsuite/libffi.call/nested_struct1.c,
 
2612
        testsuite/libffi.call/nested_struct3.c,
 
2613
        testsuite/libffi.call/cls_7_1_byte.c,
 
2614
        testsuite/libffi.call/cls_double.c,
 
2615
        testsuite/libffi.call/nested_struct5.c,
 
2616
        testsuite/libffi.call/nested_struct7.c,
 
2617
        testsuite/libffi.call/cls_sint.c,
 
2618
        testsuite/libffi.call/nested_struct9.c,
 
2619
        testsuite/libffi.call/cls_20byte1.c,
 
2620
        testsuite/libffi.call/cls_multi_sshortchar.c,
 
2621
        testsuite/libffi.call/cls_align_sint64.c,
 
2622
        testsuite/libffi.call/cls_3byte2.c,
 
2623
        testsuite/libffi.call/cls_multi_schar.c,
 
2624
        testsuite/libffi.call/cls_multi_uchar.c,
 
2625
        testsuite/libffi.call/cls_19byte.c,
 
2626
        testsuite/libffi.call/cls_9byte1.c,
 
2627
        testsuite/libffi.call/cls_align_float.c,
 
2628
        testsuite/libffi.call/closure_fn1.c,
 
2629
        testsuite/libffi.call/problem1.c,
 
2630
        testsuite/libffi.call/closure_fn3.c,
 
2631
        testsuite/libffi.call/cls_sshort.c,
 
2632
        testsuite/libffi.call/closure_fn5.c,
 
2633
        testsuite/libffi.call/cls_align_double.c,
 
2634
        testsuite/libffi.call/cls_2byte.c,
 
2635
        testsuite/libffi.call/nested_struct.c,
 
2636
        testsuite/libffi.call/nested_struct10.c,
 
2637
        testsuite/libffi.call/cls_4byte.c,
 
2638
        testsuite/libffi.call/cls_6byte.c,
 
2639
        testsuite/libffi.call/cls_8byte.c,
 
2640
        testsuite/libffi.call/cls_multi_sshort.c,
 
2641
        testsuite/libffi.call/cls_align_uint32.c,
 
2642
        testsuite/libffi.call/cls_align_sint16.c,
 
2643
        testsuite/libffi.call/cls_float.c,
 
2644
        testsuite/libffi.call/cls_20byte.c,
 
2645
        testsuite/libffi.call/cls_5_1_byte.c,
 
2646
        testsuite/libffi.call/nested_struct2.c,
 
2647
        testsuite/libffi.call/cls_24byte.c,
 
2648
        testsuite/libffi.call/nested_struct4.c,
 
2649
        testsuite/libffi.call/nested_struct6.c,
 
2650
        testsuite/libffi.call/cls_64byte.c,
 
2651
        testsuite/libffi.call/nested_struct8.c,
 
2652
        testsuite/libffi.call/cls_uint.c,
 
2653
        testsuite/libffi.call/cls_multi_ushortchar.c,
 
2654
        testsuite/libffi.call/cls_schar.c,
 
2655
        testsuite/libffi.call/cls_uchar.c,
 
2656
        testsuite/libffi.call/cls_align_uint64.c,
 
2657
        testsuite/libffi.call/cls_ulonglong.c,
 
2658
        testsuite/libffi.call/cls_align_longdouble.c,
 
2659
        testsuite/libffi.call/cls_1_1byte.c,
 
2660
        testsuite/libffi.call/cls_12byte.c,
 
2661
        testsuite/libffi.call/cls_3_1byte.c,
 
2662
        testsuite/libffi.call/cls_3byte1.c,
 
2663
        testsuite/libffi.call/cls_4_1byte.c,
 
2664
        testsuite/libffi.call/cls_6_1_byte.c,
 
2665
        testsuite/libffi.call/cls_16byte.c,
 
2666
        testsuite/libffi.call/cls_18byte.c,
 
2667
        testsuite/libffi.call/closure_fn0.c,
 
2668
        testsuite/libffi.call/cls_9byte2.c,
 
2669
        testsuite/libffi.call/closure_fn2.c,
 
2670
        testsuite/libffi.call/closure_fn4.c,
 
2671
        testsuite/libffi.call/cls_ushort.c,
 
2672
        testsuite/libffi.call/closure_fn6.c,
 
2673
        testsuite/libffi.call/cls_5byte.c,
 
2674
        testsuite/libffi.call/cls_align_pointer.c,
 
2675
        testsuite/libffi.call/cls_7byte.c,
 
2676
        testsuite/libffi.call/cls_align_sint32.c,
 
2677
        testsuite/libffi.special/unwindtest_ffi_call.cc,
 
2678
        testsuite/libffi.special/unwindtest.cc: Enable for ARM.
 
2679
 
 
2680
2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
 
2681
 
 
2682
        * aclocal.m4: Regenerated.
 
2683
 
 
2684
2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
 
2685
 
 
2686
        * configure: Regenerate.
 
2687
 
 
2688
2007-05-23  Steve Ellcey  <sje@cup.hp.com>
 
2689
 
 
2690
        * Makefile.in: Regenerate.
 
2691
        * configure: Regenerate.
 
2692
        * aclocal.m4: Regenerate.
 
2693
        * include/Makefile.in: Regenerate.
 
2694
        * testsuite/Makefile.in: Regenerate.
 
2695
 
 
2696
2007-05-10  Roman Zippel <zippel@linux-m68k.org>
 
2697
 
 
2698
        * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
 
2699
        ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
 
2700
        * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
 
2701
        * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
 
2702
        (FFI_CLOSURES): Enable closure support.
 
2703
 
 
2704
2007-05-10  Roman Zippel <zippel@linux-m68k.org>
 
2705
 
 
2706
        * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
 
2707
        * configure: Regenerate.
 
2708
        * fficonfig.h.in: Regenerate.
 
2709
        * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
 
2710
        CFI_OFFSET,CFI_DEF_CFA): New macros.
 
2711
        (ffi_call_SYSV): Add callframe annotation.
 
2712
 
 
2713
2007-05-10  Roman Zippel <zippel@linux-m68k.org>
 
2714
 
 
2715
        * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
 
2716
        numerous test suite failures.
 
2717
        * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
 
2718
 
 
2719
2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
 
2720
 
 
2721
        * Makefile.am (EXTRA_DIST): Bring up to date.
 
2722
        * Makefile.in: Regenerate.
 
2723
        * src/frv/eabi.S: Remove RCS keyword.
 
2724
 
 
2725
2007-04-06  Richard Henderson  <rth@redhat.com>
 
2726
 
 
2727
        * configure.ac: Tidy target case.
 
2728
        (HAVE_LONG_DOUBLE): Allow the target to override.
 
2729
        * configure: Regenerate.
 
2730
        * include/ffi.h.in: Don't define ffi_type_foo if
 
2731
        LIBFFI_HIDE_BASIC_TYPES is defined.
 
2732
        (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
 
2733
        to ffi_type_double.
 
2734
        * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
 
2735
        (FFI_TYPEDEF, ffi_type_void): Mark the data const.
 
2736
        (ffi_type_longdouble): Special case for Alpha.  Don't define
 
2737
        if long double == double.
 
2738
 
 
2739
        * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
 
2740
        (ffi_prep_cif_machdep): Handle it as the 128-bit type.
 
2741
        (ffi_call, ffi_closure_osf_inner): Likewise.
 
2742
        (ffi_closure_osf_inner): Likewise.  Mark hidden.
 
2743
        (ffi_call_osf, ffi_closure_osf): Mark hidden.
 
2744
        * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
 
2745
        * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
 
2746
        (load_table): Handle 128-bit long double.
 
2747
 
 
2748
        * testsuite/libffi.call/float4.c: Add -mieee for alpha.
 
2749
 
 
2750
2007-04-06  Tom Tromey  <tromey@redhat.com>
 
2751
 
 
2752
        PR libffi/31491:
 
2753
        * README: Fixed bug in example.
 
2754
 
 
2755
2007-04-03  Jakub Jelinek  <jakub@redhat.com>
 
2756
 
 
2757
        * src/closures.c: Include sys/statfs.h.
 
2758
        (_GNU_SOURCE): Define on Linux.
 
2759
        (FFI_MMAP_EXEC_SELINUX): Define.
 
2760
        (selinux_enabled): New variable.
 
2761
        (selinux_enabled_check): New function.
 
2762
        (is_selinux_enabled): Define.
 
2763
        (dlmmap): Use it.
 
2764
 
 
2765
2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
 
2766
 
 
2767
        * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
 
2768
        Use 'volatile float sum' to create sum of floats to avoid false
 
2769
        negative due to excess precision on ix86 targets.
 
2770
        (main): Ditto.
 
2771
 
 
2772
2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
 
2773
 
 
2774
        * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
 
2775
        patch.
 
2776
        (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
 
2777
 
 
2778
2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
 
2779
 
 
2780
        * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
 
2781
        (ffi_prep_closure_loc): New.
 
2782
        (ffi_prep_raw_closure_loc): New.
 
2783
        (ffi_prep_java_raw_closure_loc): New.
 
2784
        * src/closures.c: New file.
 
2785
        * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
 
2786
        Replace sflags with exec_offset.
 
2787
        [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
 
2788
        sub_segment_exec_offset): New macros.
 
2789
        (get_segment_flags, set_segment_flags, check_segment_merge): New
 
2790
        macros.
 
2791
        (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
 
2792
        (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
 
2793
        destroy_mspace): Use new macros.
 
2794
        (sys_alloc): Silence warning.
 
2795
        * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
 
2796
        * Makefile.in: Rebuilt.
 
2797
        * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
 
2798
        terms of ffi_prep_closure_loc.
 
2799
        * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
 
2800
        from...
 
2801
        (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
 
2802
        renamed version.
 
2803
        * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
 
2804
        adjusted from...
 
2805
        (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
 
2806
        the renamed version.
 
2807
        * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
 
2808
        (ffi_prep_closure): ... this.
 
2809
        * src/pa/ffi.c: Likewise.
 
2810
        * src/cris/ffi.c: Likewise.  Adjust.
 
2811
        * src/frv/ffi.c: Likewise.
 
2812
        * src/ia64/ffi.c: Likewise.
 
2813
        * src/mips/ffi.c: Likewise.
 
2814
        * src/powerpc/ffi_darwin.c: Likewise.
 
2815
        * src/s390/ffi.c: Likewise.
 
2816
        * src/sh/ffi.c: Likewise.
 
2817
        * src/sh64/ffi.c: Likewise.
 
2818
        * src/sparc/ffi.c: Likewise.
 
2819
        * src/x86/ffi64.c: Likewise.
 
2820
        * src/x86/ffi.c: Likewise.
 
2821
        (FFI_INIT_TRAMPOLINE): Adjust.
 
2822
        (ffi_prep_raw_closure_loc): Renamed and adjusted from...
 
2823
        (ffi_prep_raw_closure): ... this.
 
2824
        * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
 
2825
        (ffi_prep_closure): ... this.
 
2826
        (flush_icache): Adjust.
 
2827
 
 
2828
2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
 
2829
 
 
2830
        * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
 
2831
        Lea's malloc.
 
2832
 
 
2833
2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
 
2834
 
 
2835
        * Makefile.am: Add dummy install-pdf target.
 
2836
        * Makefile.in: Regenerate
 
2837
 
 
2838
2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
 
2839
 
 
2840
        * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
 
2841
        ffi_closure_helper_SYSV): Add long double handling.
 
2842
 
 
2843
2007-02-02  Jakub Jelinek  <jakub@redhat.com>
 
2844
 
 
2845
        * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
 
2846
        immediately after bctrl instruction.
 
2847
 
 
2848
2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
 
2849
 
 
2850
        * Makefile.am (all-recursive, install-recursive,
 
2851
        mostlyclean-recursive, clean-recursive, distclean-recursive,
 
2852
        maintainer-clean-recursive): Add missing targets.
 
2853
        * Makefile.in: Rebuilt.
 
2854
 
 
2855
2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
 
2856
 
 
2857
        * configure.ac: Add TARGET for x86_64-*-darwin*.
 
2858
        * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
 
2859
        for X86_DARWIN.
 
2860
        * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
 
2861
        * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
 
2862
        * configure: Regenerate.
 
2863
        * Makefile.in: Regenerate.
 
2864
        * include/Makefile.in: Regenerate.
 
2865
        * testsuite/Makefile.in: Regenerate.
 
2866
        * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
 
2867
        ffi_call only.
 
2868
 
 
2869
2006-12-13  Andreas Tobler <a.tobler@schweiz.org>
 
2870
 
 
2871
        * aclocal.m4: Regenerate with aclocal -I .. as written in the
 
2872
        Makefile.am.
 
2873
 
 
2874
2006-10-31  Geoffrey Keating  <geoffk@apple.com>
 
2875
 
 
2876
        * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
 
2877
        (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
 
2878
        Darwin.
 
2879
        * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
 
2880
        * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
 
2881
 
 
2882
2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
 
2883
            Sandro Tolaini  <tolaini@libero.it>
 
2884
 
 
2885
        * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
 
2886
        conditional.
 
2887
        * configure: Regenerated.
 
2888
        * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
 
2889
        (EXTRA_DIST): Add src/x86/darwin.S.
 
2890
        * Makefile.in: Regenerated.
 
2891
        * include/Makefile.in: Regenerated.
 
2892
        * testsuite/Makefile.in: Regenerated.
 
2893
 
 
2894
        * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
 
2895
        X86_WIN32, and additionally align stack to 16 bytes.
 
2896
        * src/x86/darwin.S: New, based on sysv.S.
 
2897
        * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
 
2898
 
 
2899
2006-09-12  David Daney  <ddaney@avtrex.com>
 
2900
 
 
2901
        PR libffi/23935
 
2902
        * include/Makefile.am: Install both ffi.h and ffitarget.h in
 
2903
        $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
 
2904
        * aclocal.m4: Regenerated for automake 1.9.6.
 
2905
        * Makefile.in: Regenerated.
 
2906
        * include/Makefile.in: Regenerated.
 
2907
        * testsuite/Makefile.in: Regenerated.
 
2908
 
 
2909
2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
 
2910
 
 
2911
        * include/ffi_common.h (struct): Revert accidental commit.
 
2912
 
 
2913
2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
 
2914
 
 
2915
        * include/ffi_common.h: Remove lint directives.
 
2916
        * include/ffi.h.in: Likewise.
 
2917
 
 
2918
2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
 
2919
 
 
2920
        * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
 
2921
        for 32-bit architectures.
 
2922
        * testsuite/libffi.call/return_ul.c: New test case.
 
2923
 
 
2924
2006-07-19  David Daney  <ddaney@avtrex.com>
 
2925
 
 
2926
        * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
 
2927
        xfail remains for mips64.
 
2928
 
 
2929
2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
 
2930
 
 
2931
        * Makefile.am: Add install-html target. Add install-html to .PHONY
 
2932
        * Makefile.in: Regenerate.
 
2933
        * aclocal.m4: Regenerate.
 
2934
        * include/Makefile.in: Regenerate.
 
2935
        * testsuite/Makefile.in: Regenerate.
 
2936
 
 
2937
2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
2938
 
 
2939
        * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
 
2940
        stack slot.
 
2941
 
 
2942
2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
 
2943
 
 
2944
        * README: Remove notice about 'Crazy Comments'.
 
2945
        * src/debug.c: Remove lint directives. Cleanup white spaces.
 
2946
        * src/java_raw_api.c: Likewise.
 
2947
        * src/prep_cif.c: Likewise.
 
2948
        * src/raw_api.c: Likewise.
 
2949
        * src/ffitest.c: Delete. No longer needed, all test cases migrated
 
2950
        to the testsuite.
 
2951
        * src/arm/ffi.c: Remove lint directives.
 
2952
        * src/m32r/ffi.c: Likewise.
 
2953
        * src/pa/ffi.c: Likewise.
 
2954
        * src/powerpc/ffi.c: Likewise.
 
2955
        * src/powerpc/ffi_darwin.c: Likewise.
 
2956
        * src/sh/ffi.c: Likewise.
 
2957
        * src/sh64/ffi.c: Likewise.
 
2958
        * src/x86/ffi.c: Likewise.
 
2959
        * testsuite/libffi.call/float2.c: Likewise.
 
2960
        * testsuite/libffi.call/promotion.c: Likewise.
 
2961
        * testsuite/libffi.call/struct1.c: Likewise.
 
2962
 
 
2963
2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
 
2964
 
 
2965
        * src/pa/hpux32.S: Correct unwind offset calculation for
 
2966
        ffi_closure_pa32.
 
2967
        * src/pa/linux.S: Likewise.
 
2968
 
 
2969
2006-04-12  James E Wilson  <wilson@specifix.com>
 
2970
 
 
2971
        PR libgcj/26483
 
2972
        * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
 
2973
        (hfa_type_load): Call stf_spill.
 
2974
        (hfa_type_store): Call ldf_fill.
 
2975
        (ffi_call): Adjust calls to above routines.  Add local temps for
 
2976
        macro result.
 
2977
 
 
2978
2006-04-10  Matthias Klose  <doko@debian.org>
 
2979
 
 
2980
        * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
 
2981
        directory names containing underscores.
 
2982
 
 
2983
2006-04-07  James E Wilson  <wilson@specifix.com>
 
2984
 
 
2985
        * testsuite/libffi.call/float4.c: New testcase.
 
2986
 
 
2987
2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
2988
            Andreas Tobler  <a.tobler@schweiz.ch>
 
2989
 
 
2990
        * Makefile.am: Add PA_HPUX port.
 
2991
        * Makefile.in: Regenerate.
 
2992
        * include/Makefile.in: Likewise.
 
2993
        * testsuite/Makefile.in: Likewise.
 
2994
        * configure.ac: Add PA_HPUX rules.
 
2995
        * configure: Regenerate.
 
2996
        * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
 
2997
        Add PA_HPUX and PA64_HPUX.
 
2998
        Rename FFI_LINUX ABI to FFI_PA32 ABI.
 
2999
        (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
 
3000
        (FFI_TYPE_SMALL_STRUCT2): Define.
 
3001
        (FFI_TYPE_SMALL_STRUCT4): Likewise.
 
3002
        (FFI_TYPE_SMALL_STRUCT8): Likewise.
 
3003
        (FFI_TYPE_SMALL_STRUCT3): Redefine.
 
3004
        (FFI_TYPE_SMALL_STRUCT5): Likewise.
 
3005
        (FFI_TYPE_SMALL_STRUCT6): Likewise.
 
3006
        (FFI_TYPE_SMALL_STRUCT7): Likewise.
 
3007
        * src/pa/ffi.c (ROUND_DOWN): Delete.
 
3008
        (fldw, fstw, fldd, fstd): Use '__asm__'.
 
3009
        (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
 
3010
        FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
 
3011
        (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
 
3012
        Simplify incrementing of stack slot variable. Change type of local
 
3013
        'n' to unsigned int.
 
3014
        (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
 
3015
        double on PA_HPUX.
 
3016
        (ffi_prep_cif_machdep): Likewise.
 
3017
        (ffi_call): Likewise.
 
3018
        (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
 
3019
        return type to ffi_status. Simplify incrementing of stack slot
 
3020
        variable. Only copy floating point argument registers when PA_LINUX
 
3021
        is true. Reformat debug statement.
 
3022
        Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
 
3023
        FFI_TYPE_SMALL_STRUCT8.
 
3024
        (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
 
3025
        declaration.
 
3026
        (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
 
3027
        Add nops to cache flush.  Add trampoline for PA_HPUX.
 
3028
        * src/pa/hpux32.S: New file.
 
3029
        * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
 
3030
        ffi_prep_args_LINUX to ffi_prep_args_pa32.
 
3031
        Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
 
3032
        unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
 
3033
        argument type checks so that common argument types appear first.
 
3034
        (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
 
3035
        ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
 
3036
 
 
3037
2006-03-24  Alan Modra  <amodra@bigpond.net.au>
 
3038
 
 
3039
        * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
 
3040
        for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
 
3041
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
 
3042
        FFI_TYPE_LONGDOUBLE.
 
3043
        (ffi_prep_args64): Assert using IBM extended double.
 
3044
        (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
 
3045
        Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
 
3046
        (ffi_call): Handle FFI_LINUX.
 
3047
        (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
 
3048
        gpr3 return pointer as for struct return.  Handle FFI_LINUX
 
3049
        FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
 
3050
        unnecessarily.
 
3051
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
 
3052
        for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
 
3053
        Don't use r6 as pointer to results, instead use sp offset.  Don't
 
3054
        make a special call to load lr with case table address, instead
 
3055
        use offset from previous call.
 
3056
        * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
 
3057
        * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
 
3058
        return.
 
3059
 
 
3060
2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3061
 
 
3062
        * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
 
3063
        passed with FP registers correctly.
 
3064
        (ffi_closure_helper_SYSV): Likewise.
 
3065
        * src/sh64/sysv.S: Likewise.
 
3066
 
 
3067
2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
 
3068
 
 
3069
        * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
 
3070
        args and userdata unused.
 
3071
        (closure_test_fn1): Mark cif and userdata unused.
 
3072
        (main): Remove unused res.
 
3073
 
 
3074
2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
 
3075
 
 
3076
        * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
 
3077
        -O2, -O3, -Os and the warning flags -W -Wall.
 
3078
        * testsuite/libffi.special/special.exp: Likewise.
 
3079
        * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
 
3080
        unused parameter unused for gcc or else do nothing.
 
3081
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
 
3082
        * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
 
3083
        and userdata unused.
 
3084
        * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
 
3085
        * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
 
3086
        * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
 
3087
        * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
 
3088
        * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
 
3089
        * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
 
3090
        * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
 
3091
        * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
 
3092
        * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
 
3093
        * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
 
3094
        * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
 
3095
        * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
 
3096
        * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
 
3097
        * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
 
3098
        * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
 
3099
        * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
 
3100
        * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
 
3101
        * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
 
3102
        * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
 
3103
        * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
 
3104
        * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
 
3105
        * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
 
3106
        * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
 
3107
        * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
 
3108
        Likewise.
 
3109
        * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
 
3110
        Likewise.
 
3111
        * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
 
3112
        Likewise.
 
3113
        * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
 
3114
        void* to avoid compiler warning.
 
3115
        (main): Likewise.
 
3116
        (cls_struct_align_gn): Mark cif and userdata unused.
 
3117
        * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
 
3118
        Likewise.
 
3119
        * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
 
3120
        Likewise.
 
3121
        * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
 
3122
        Likewise.
 
3123
        * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
 
3124
        Likewise.
 
3125
        * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
 
3126
        Likewise.
 
3127
        * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
 
3128
        * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
 
3129
        * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
 
3130
        data unused.
 
3131
        (main): Cast res_call to silence gcc.
 
3132
        * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
 
3133
        data unused.
 
3134
        (main): Cast res_call to silence gcc.
 
3135
        * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
 
3136
        and data unused.
 
3137
        (main): Cast res_call to silence gcc.
 
3138
        * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
 
3139
        data unused.
 
3140
        (main): Cast res_call to silence gcc.
 
3141
        * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
 
3142
        data unused.
 
3143
        (main): Cast res_call to silence gcc.
 
3144
        * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
 
3145
        and data unused.
 
3146
        (main): Cast res_call to silence gcc.
 
3147
        * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
 
3148
        userdata unused.
 
3149
        (cls_ret_schar_fn): Cast printf parameter to silence gcc.
 
3150
        * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
 
3151
        userdata unused.
 
3152
        (cls_ret_sint_fn): Cast printf parameter to silence gcc.
 
3153
        * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
 
3154
        userdata unused.
 
3155
        (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
 
3156
        * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
 
3157
        userdata unused.
 
3158
        (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
 
3159
        * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
 
3160
        userdata unused.
 
3161
        (cls_ret_uint_fn): Cast printf parameter to silence gcc.
 
3162
        * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
 
3163
        and userdata unused.
 
3164
        * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
 
3165
        userdata unused.
 
3166
        (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
 
3167
        * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
 
3168
        * testsuite/libffi.call/float1.c (main): Remove unused variable i.
 
3169
        Cleanup white spaces.
 
3170
        * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
 
3171
        * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
 
3172
        cif and userdata unused.
 
3173
        * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
 
3174
        Likewise.
 
3175
        * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
 
3176
        * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
 
3177
        formatters to silence gcc.
 
3178
        (B_gn): Mark cif and userdata unused.
 
3179
        * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
 
3180
        unused.
 
3181
        * testsuite/libffi.call/nested_struct4.c: Mention related PR.
 
3182
        (B_gn): Mark cif and userdata unused.
 
3183
        * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
 
3184
        unused.
 
3185
        * testsuite/libffi.call/nested_struct6.c: Mention related PR.
 
3186
        (B_gn): Mark cif and userdata unused.
 
3187
        * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
 
3188
        unused.
 
3189
        * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
 
3190
        * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
 
3191
        * testsuite/libffi.call/problem1.c (stub): Likewise.
 
3192
        * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
 
3193
        gcc.
 
3194
        * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
 
3195
        in the last commit for this test case in the test case itself.
 
3196
        * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
 
3197
        unused.
 
3198
        * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
 
3199
        * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
 
3200
        * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
 
3201
        * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
 
3202
        * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
 
3203
        * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
 
3204
 
 
3205
2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3206
 
 
3207
        * src/sh/sysv.S: Fix register numbers in the FDE for
 
3208
        ffi_closure_SYSV.
 
3209
 
 
3210
2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
 
3211
 
 
3212
        * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
 
3213
        declaration to avoid a false negative on ix86. See PR323.
 
3214
 
 
3215
2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3216
 
 
3217
        * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
 
3218
        and cast integer to void * if needed.  Update the pointer to
 
3219
        the FP register saved area correctly.
 
3220
 
 
3221
2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
 
3222
 
 
3223
        * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
 
3224
        is fixed.
 
3225
        * testsuite/libffi.call/nested_struct4.c: Likewise.
 
3226
 
 
3227
2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
 
3228
 
 
3229
        * testsuite/libffi.call/return_dbl.c: New test case.
 
3230
        * testsuite/libffi.call/return_dbl1.c: Likewise.
 
3231
        * testsuite/libffi.call/return_dbl2.c: Likewise.
 
3232
        * testsuite/libffi.call/return_fl.c: Likewise.
 
3233
        * testsuite/libffi.call/return_fl1.c: Likewise.
 
3234
        * testsuite/libffi.call/return_fl2.c: Likewise.
 
3235
        * testsuite/libffi.call/return_fl3.c: Likewise.
 
3236
        * testsuite/libffi.call/closure_fn6.c: Likewise.
 
3237
 
 
3238
        * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
 
3239
        definition.
 
3240
        * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
 
3241
        here to be used by other test cases too.
 
3242
 
 
3243
        * testsuite/libffi.call/nested_struct10.c: New test case.
 
3244
        * testsuite/libffi.call/nested_struct9.c: Likewise.
 
3245
        * testsuite/libffi.call/nested_struct8.c: Likewise.
 
3246
        * testsuite/libffi.call/nested_struct7.c: Likewise.
 
3247
        * testsuite/libffi.call/nested_struct6.c: Likewise.
 
3248
        * testsuite/libffi.call/nested_struct5.c: Likewise.
 
3249
        * testsuite/libffi.call/nested_struct4.c: Likewise.
 
3250
 
 
3251
2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
 
3252
 
 
3253
        * configure.ac: Enable libffi for sparc64-*-freebsd*.
 
3254
        * configure: Rebuilt.
 
3255
 
 
3256
2006-01-18  Jakub Jelinek  <jakub@redhat.com>
 
3257
 
 
3258
        * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
 
3259
        instead do the shifting inline.
 
3260
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
 
3261
        shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
 
3262
        and 8 byte structs, for the remaining struct sizes don't call
 
3263
        __lshrdi3, instead do the shifting inline.
 
3264
 
 
3265
2005-12-07  Thiemo Seufer  <ths@networkno.de>
 
3266
 
 
3267
        * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
 
3268
        missing parentheses.
 
3269
        * src/mips/o32.S (ffi_call_O32): Code formatting. Define
 
3270
        and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
 
3271
        (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
 
3272
        A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
 
3273
        V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
 
3274
        FA_0_0_OFF2.
 
3275
        * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
 
3276
        endianness bugs.
 
3277
        (ffi_prep_closure): Improve trampoline instruction scheduling.
 
3278
        (ffi_closure_mips_inner_O32): Fix endianness bugs.
 
3279
 
 
3280
2005-12-03  Alan Modra  <amodra@bigpond.net.au>
 
3281
 
 
3282
        * src/powerpc/ffi.c: Formatting.
 
3283
        (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
 
3284
        (ffi_prep_args64): Likewise.
 
3285
 
 
3286
2005-09-30  Geoffrey Keating  <geoffk@apple.com>
 
3287
 
 
3288
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
 
3289
        darwin, use -shared-libgcc not -lgcc_s, and explain why.
 
3290
 
 
3291
2005-09-26  Tom Tromey  <tromey@redhat.com>
 
3292
 
 
3293
        * testsuite/libffi.call/float1.c (value_type): New typedef.
 
3294
        (CANARY): New define.
 
3295
        (main): Check for result buffer overflow.
 
3296
        * src/powerpc/linux64.S: Handle linux64 long double returns.
 
3297
        * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
 
3298
        (ffi_prep_cif_machdep): Handle linux64 long double returns.
 
3299
 
 
3300
2005-08-25  Alan Modra  <amodra@bigpond.net.au>
 
3301
 
 
3302
        PR target/23404
 
3303
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
 
3304
        homed fp args.
 
3305
        (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
 
3306
 
 
3307
2005-08-11  Jakub Jelinek  <jakub@redhat.com>
 
3308
 
 
3309
        * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
 
3310
        (AH_BOTTOM): Add FFI_HIDDEN definition.
 
3311
        * configure: Rebuilt.
 
3312
        * fficonfig.h.in: Rebuilt.
 
3313
        * src/powerpc/ffi.c (hidden): Remove.
 
3314
        (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
 
3315
        ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
 
3316
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
 
3317
        .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
 
3318
        * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
 
3319
        add FFI_HIDDEN to its prototype.
 
3320
        (ffi_closure_SYSV_inner): New.
 
3321
        * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
 
3322
        * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
 
3323
 
 
3324
2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
 
3325
 
 
3326
        PR libffi/21819:
 
3327
        * configure: Rebuilt.
 
3328
        * configure.ac: Handle i*86-*-gnu*.
 
3329
 
 
3330
2005-08-09  Jakub Jelinek  <jakub@redhat.com>
 
3331
 
 
3332
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
 
3333
        DW_CFA_offset_extended_sf rather than
 
3334
        DW_CFA_GNU_negative_offset_extended.
 
3335
        * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
 
3336
 
 
3337
2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
 
3338
 
 
3339
        * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
 
3340
        on sh3.
 
3341
        (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
 
3342
        * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
 
3343
        partially on register.
 
3344
        (ffi_closure_helper_SYSV): Likewise.
 
3345
        (ffi_prep_cif_machdep): Don't set too many cif->flags.
 
3346
 
 
3347
2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3348
 
 
3349
        * src/sh/ffi.c (ffi_call): Handle small structures correctly.
 
3350
        Remove empty line.
 
3351
        * src/sh64/ffi.c (simple_type): Remove.
 
3352
        (return_type): Handle small structures correctly.
 
3353
        (ffi_prep_args): Likewise.
 
3354
        (ffi_call): Likewise.
 
3355
        (ffi_closure_helper_SYSV): Likewise.
 
3356
        * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
 
3357
        Emit position independent code if PIC and remove wrong datalabel
 
3358
        prefixes from EH data.
 
3359
 
 
3360
2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
 
3361
 
 
3362
        * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
 
3363
        * Makefile.in: Regenerate.
 
3364
        * include/Makefile.in: Likewise.
 
3365
        * testsuite/Makefile.in: Likewise.
 
3366
        * configure.ac: Add POWERPC_FREEBSD rules.
 
3367
        * configure: Regenerate.
 
3368
        * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
 
3369
        (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
 
3370
        * src/powerpc/ffi.c: Add flags to handle small structure returns
 
3371
        in ffi_call_SYSV.
 
3372
        (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
 
3373
        Aka FFI_SYSV.
 
3374
        (ffi_closure_helper_SYSV): Likewise.
 
3375
        * src/powerpc/ppc_closure.S: Add return types for small structures.
 
3376
        * src/powerpc/sysv.S: Add bits to handle small structures for
 
3377
        final SYSV 4 ABI.
 
3378
 
 
3379
2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
 
3380
 
 
3381
        * testsuite/libffi.call/cls_5_1_byte.c: New test file.
 
3382
        * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
 
3383
        * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
 
3384
 
 
3385
2005-07-05  Randolph Chung  <tausq@debian.org>
 
3386
 
 
3387
        * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
 
3388
        as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
 
3389
        structures.  Kill compilation warnings.
 
3390
        (ffi_closure_inner_LINUX): Print return values as hex in debug
 
3391
        message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
 
3392
        Properly handle 5-7 byte structure returns.
 
3393
        * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
 
3394
        (FFI_TYPE_SMALL_STRUCT2): Remove.
 
3395
        (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
 
3396
        (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
 
3397
        * src/pa/linux.S: Mark source file as using PA1.1 assembly.
 
3398
        (checksmst1, checksmst2): Remove.
 
3399
        (checksmst3): Optimize handling of 3-byte struct returns.
 
3400
        (checksmst567): Properly handle 5-7 byte struct returns.
 
3401
 
 
3402
2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
3403
 
 
3404
        PR libgcj/21943
 
3405
        * src/mips/n32.S: Enforce PIC code.
 
3406
        * src/mips/o32.S: Likewise.
 
3407
 
 
3408
2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
3409
 
 
3410
        * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
 
3411
        * configure: Regenerate.
 
3412
 
 
3413
2005-06-01  Alan Modra  <amodra@bigpond.net.au>
 
3414
 
 
3415
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
 
3416
        to call ffi_closure_helper_SYSV.  Append @local instead.
 
3417
        * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
 
3418
 
 
3419
2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
 
3420
 
 
3421
        * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
 
3422
        Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
 
3423
        * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
 
3424
        * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
 
3425
        include/Makefile.in, testsuite/Makefile.in: Regenerate.
 
3426
 
 
3427
2005-05-09  Mike Stump  <mrs@apple.com>
 
3428
 
 
3429
        * configure: Regenerate.
 
3430
 
 
3431
2005-05-08  Richard Henderson  <rth@redhat.com>
 
3432
 
 
3433
        PR libffi/21285
 
3434
        * src/alpha/osf.S: Update unwind into to match code.
 
3435
 
 
3436
2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
 
3437
            Richard Henderson  <rth@redhat.com>
 
3438
 
 
3439
        * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
 
3440
        bit 11 of flags.
 
3441
        (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
 
3442
        (ffi_prep_closure): Set carry bit if sse-used flag set.
 
3443
        * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
 
3444
        Only load sse registers if ssecount non-zero.
 
3445
        (ffi_closure_unix64): Only save sse registers if carry set on entry.
 
3446
 
 
3447
2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
3448
 
 
3449
        * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
 
3450
        powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
 
3451
        * configure: Regenerate.
 
3452
 
 
3453
2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
 
3454
 
 
3455
        * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
 
3456
        have Tcl8.3-compatible intermediate variable.
 
3457
 
 
3458
2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
 
3459
            Hans-Peter Nilsson  <hp@axis.com>
 
3460
 
 
3461
        * Makefile.am: Add CRIS support.
 
3462
        * configure.ac: Likewise.
 
3463
        * Makefile.in, configure, testsuite/Makefile.in,
 
3464
        include/Makefile.in: Regenerate.
 
3465
        * src/cris: New directory.
 
3466
        * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
 
3467
        * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
 
3468
 
 
3469
        * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
 
3470
        \r?\n in output tests.
 
3471
 
 
3472
2005-04-12  Mike Stump  <mrs@apple.com>
 
3473
 
 
3474
        * configure: Regenerate.
 
3475
 
 
3476
2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
 
3477
 
 
3478
        * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
 
3479
 
 
3480
2005-03-30  Steve Ellcey  <sje@cup.hp.com>
 
3481
 
 
3482
        * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
 
3483
        (ffi_sarg) Ditto.
 
3484
        * src/ia64/unix.S (ffi_closure_unix): Extend gp
 
3485
        to 64 bits in ILP32 mode.
 
3486
        Load 64 bits even for short data.
 
3487
 
 
3488
2005-03-23  Mike Stump  <mrs@apple.com>
 
3489
 
 
3490
        * src/powerpc/darwin.S: Update for -m64 multilib.
 
3491
        * src/powerpc/darwin_closure.S: Likewise.
 
3492
 
 
3493
2005-03-21  Zack Weinberg  <zack@codesourcery.com>
 
3494
 
 
3495
        * configure.ac: Do not invoke TL_AC_GCC_VERSION.
 
3496
        Do not set tool_include_dir.
 
3497
        * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
 
3498
        Regenerate.
 
3499
        * include/Makefile.am: Set gcc_version and toollibffidir.
 
3500
        * include/Makefile.in: Regenerate.
 
3501
 
 
3502
2005-02-22  Andrew Haley  <aph@redhat.com>
 
3503
 
 
3504
        * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
 
3505
        odd-numbered register pairs for 64-bit integer types.
 
3506
 
 
3507
2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
 
3508
 
 
3509
        PR libffi/20104
 
3510
        * testsuite/libffi.call/return_ll1.c: New test case.
 
3511
 
 
3512
2005-02-11  Janis Johnson  <janis187@us.ibm.com>
 
3513
 
 
3514
        * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
 
3515
        * testsuite/libffi.call/float.c: Ditto.
 
3516
        * testsuite/libffi.call/float2.c: Ditto.
 
3517
        * testsuite/libffi.call/float3.c: Ditto.
 
3518
 
 
3519
2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
 
3520
 
 
3521
        * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
 
3522
 
 
3523
2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
3524
 
 
3525
        * testsuite/libffi.special/special.exp (cxx_options): Add
 
3526
        -shared-libgcc.
 
3527
 
 
3528
2004-12-31  Richard Henderson  <rth@redhat.com>
 
3529
 
 
3530
        * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
 
3531
        (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
 
3532
        offset parameters with a type parameter; deduce size and structure
 
3533
        alignment.  Update all users.
 
3534
 
 
3535
2004-12-31  Richard Henderson  <rth@redhat.com>
 
3536
 
 
3537
        * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
 
3538
        (FFI_TYPE_LONGDOUBLE): Fix for ia64.
 
3539
        * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
 
3540
        into ffi_prep_closure.
 
3541
        * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
 
3542
        from scratch.
 
3543
 
 
3544
2004-12-27  Richard Henderson  <rth@redhat.com>
 
3545
 
 
3546
        * src/x86/unix64.S: Fix typo in unwind info.
 
3547
 
 
3548
2004-12-25  Richard Henderson  <rth@redhat.com>
 
3549
 
 
3550
        * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
 
3551
        (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
 
3552
        (merge_classes): Check for it.
 
3553
        (SSE_CLASS_P): New.
 
3554
        (classify_argument): Pass byte_offset by value; perform all updates
 
3555
        inside struct case.
 
3556
        (examine_argument): Add classes argument; handle
 
3557
        X86_64_COMPLEX_X87_CLASS.
 
3558
        (ffi_prep_args): Merge into ...
 
3559
        (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
 
3560
        (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
 
3561
        (ffi_fill_return_value): Remove.
 
3562
        (ffi_prep_closure): Remove dead assert.
 
3563
        (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
 
3564
        Rewrite to use struct register_args instead of va_list.  Create
 
3565
        flags for handling structure returns.
 
3566
        * src/x86/unix64.S: Remove dead strings.
 
3567
        (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
 
3568
        stack frame with ffi_call.  Handle structure returns properly.
 
3569
        (float2sse, floatfloat2sse, double2sse): Remove.
 
3570
        (sse2float, sse2double, sse2floatfloat): Remove.
 
3571
        (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
 
3572
        to handle structure returns properly.
 
3573
 
 
3574
2004-12-08  David Edelsohn  <edelsohn@gnu.org>
 
3575
 
 
3576
        * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
 
3577
        PICFLAG.
 
3578
        * Makefile.in: Regenerated.
 
3579
 
 
3580
2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
 
3581
 
 
3582
        * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
 
3583
        * configure, aclocal.m4, Makefile.in: Regenerate.
 
3584
        * include/Makefile.in, testsuite/Makefile.in: Regenerate.
 
3585
 
 
3586
2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
 
3587
 
 
3588
        * configure: Regenerate for libtool change.
 
3589
 
 
3590
2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
 
3591
 
 
3592
        * configure: Regenerate for libtool reversion.
 
3593
 
 
3594
2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
 
3595
 
 
3596
        * configure: Regenerate for libtool change.
 
3597
 
 
3598
2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
3599
 
 
3600
        * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
 
3601
 
 
3602
2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
 
3603
 
 
3604
        * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
 
3605
        of jal.  Use an absolute encoding for the frame information.
 
3606
 
 
3607
2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
 
3608
 
 
3609
        * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
 
3610
        * acinclude.m4: Delete logic for sincludes.
 
3611
        * aclocal.m4, Makefile.in, configure: Regenerate.
 
3612
        * include/Makefile: Likewise.
 
3613
        * testsuite/Makefile: Likewise.
 
3614
 
 
3615
2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
3616
 
 
3617
        * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
 
3618
        on a 8-byte boundary.
 
3619
        * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
 
3620
 
 
3621
2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
 
3622
 
 
3623
        * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
 
3624
        long long values.  Round stack allocation to a multiple of 8 bytes
 
3625
        for ATPCS compatibility.
 
3626
        * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
 
3627
        names.  Handle returning long long types.  Add Thumb and interworking
 
3628
        support.  Improve soft-float code.
 
3629
 
 
3630
2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
 
3631
 
 
3632
        * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
 
3633
        (libffi_exit): New function.
 
3634
        (libffi_init): Build the testglue wrapper if needed.
 
3635
 
 
3636
2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
3637
 
 
3638
        PR other/18138
 
3639
        * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
 
3640
 
 
3641
2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
 
3642
 
 
3643
        * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
 
3644
 
 
3645
2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3646
 
 
3647
        * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
 
3648
        * testsuite/libffi.call/float3.c: New test case.
 
3649
 
 
3650
2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3651
 
 
3652
        * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
 
3653
        the function returning a structure pointed with R2.
 
3654
        * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
 
3655
        the structure return value if T bit set.  Emit position
 
3656
        independent code and EH data if PIC.
 
3657
 
 
3658
2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
 
3659
 
 
3660
        * Makefile.am: Add m32r support.
 
3661
        * configure.ac: Likewise.
 
3662
        * Makefile.in: Regenerate.
 
3663
        * confiugre: Regenerate.
 
3664
        * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
 
3665
        (uint64, sint64, double, longdouble)
 
3666
        * src/m32r: New directory.
 
3667
        * src/m32r/ffi.c: New file.
 
3668
        * src/m32r/sysv.S: Likewise.
 
3669
        * src/m32r/ffitarget.h: Likewise.
 
3670
 
 
3671
2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
 
3672
 
 
3673
        * testsuite/libffi.call/negint.c: New test case.
 
3674
 
 
3675
2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
 
3676
 
 
3677
        PR libgcj/17465
 
3678
        * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
 
3679
        Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
 
3680
        LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
 
3681
        DYLD_LIBRARY_PATH.
 
3682
 
 
3683
2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
 
3684
 
 
3685
        * testsuite/libffi.call/many_win32.c: Remove whitespaces.
 
3686
        * testsuite/libffi.call/promotion.c: Likewise.
 
3687
        * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
 
3688
        whitespaces.
 
3689
        * testsuite/libffi.call/return_sc.c: Likewise.
 
3690
        * testsuite/libffi.call/return_uc.c: Likewise.
 
3691
 
 
3692
2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
 
3693
 
 
3694
        * src/powerpc/darwin.S: Fix comments and identation.
 
3695
        * src/powerpc/darwin_closure.S: Likewise.
 
3696
 
 
3697
2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
 
3698
 
 
3699
        * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
 
3700
        (ffi_prep_args): Handle longdouble arguments.
 
3701
        (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
 
3702
        longdouble.
 
3703
        (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
 
3704
        * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
 
3705
        values.
 
3706
        * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
 
3707
        * src/types.c: Defined longdouble size and alignment for darwin.
 
3708
 
 
3709
2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
 
3710
 
 
3711
        * src/powerpc/aix.S: Remove whitespaces.
 
3712
        * src/powerpc/aix_closure.S: Likewise.
 
3713
        * src/powerpc/asm.h: Likewise.
 
3714
        * src/powerpc/ffi.c: Likewise.
 
3715
        * src/powerpc/ffitarget.h: Likewise.
 
3716
        * src/powerpc/linux64.S: Likewise.
 
3717
        * src/powerpc/linux64_closure.S: Likewise.
 
3718
        * src/powerpc/ppc_closure.S: Likewise.
 
3719
        * src/powerpc/sysv.S: Likewise.
 
3720
 
 
3721
2004-08-30  Anthony Green  <green@redhat.com>
 
3722
 
 
3723
        * Makefile.am: Add frv support.
 
3724
        * Makefile.in, testsuite/Makefile.in: Rebuilt.
 
3725
        * configure.ac: Read configure.host.
 
3726
        * configure.in: Read configure.host.
 
3727
        * configure.host: New file.  frv-elf needs libgloss.
 
3728
        * include/ffi.h.in: Force ffi_closure to have a nice big (8)
 
3729
        alignment.  This is needed to frv and shouldn't harm the others.
 
3730
        * include/ffi_common.h (ALIGN_DOWN): New macro.
 
3731
        * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
 
3732
 
 
3733
2004-08-24  David Daney  <daney@avtrex.com>
 
3734
 
 
3735
        * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
 
3736
        * testsuite/libffi.call/closure_fn1.c: Likewise.
 
3737
        * testsuite/libffi.call/closure_fn2.c  Likewise.
 
3738
        * testsuite/libffi.call/closure_fn3.c: Likewise.
 
3739
        * testsuite/libffi.call/closure_fn4.c: Likewise.
 
3740
        * testsuite/libffi.call/closure_fn5.c: Likewise.
 
3741
        * testsuite/libffi.call/cls_18byte.c: Likewise.
 
3742
        * testsuite/libffi.call/cls_19byte.c: Likewise.
 
3743
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
3744
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
3745
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
 
3746
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
3747
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
3748
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
3749
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
3750
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
3751
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
3752
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
3753
        * testsuite/libffi.call/cls_64byte.c: Likewise.
 
3754
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
3755
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
3756
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
3757
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
 
3758
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
 
3759
        * testsuite/libffi.call/cls_align_double.c: Likewise.
 
3760
        * testsuite/libffi.call/cls_align_float.c: Likewise.
 
3761
        * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
 
3762
        * testsuite/libffi.call/cls_align_pointer.c: Likewise.
 
3763
        * testsuite/libffi.call/cls_align_sint16.c: Likewise.
 
3764
        * testsuite/libffi.call/cls_align_sint32.c: Likewise.
 
3765
        * testsuite/libffi.call/cls_align_sint64.c: Likewise.
 
3766
        * testsuite/libffi.call/cls_align_uint16.c: Likewise.
 
3767
        * testsuite/libffi.call/cls_align_uint32.c: Likewise.
 
3768
        * testsuite/libffi.call/cls_align_uint64.c: Likewise.
 
3769
        * testsuite/libffi.call/cls_double.c: Likewise.
 
3770
        * testsuite/libffi.call/cls_float.c: Likewise.
 
3771
        * testsuite/libffi.call/cls_multi_schar.c: Likewise.
 
3772
        * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
 
3773
        * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
 
3774
        * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
 
3775
        * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
 
3776
        * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
 
3777
        * testsuite/libffi.call/cls_schar.c: Likewise.
 
3778
        * testsuite/libffi.call/cls_sint.c: Likewise.
 
3779
        * testsuite/libffi.call/cls_sshort.c: Likewise.
 
3780
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
3781
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
3782
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
3783
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
3784
        * testsuite/libffi.call/nested_struct.c: Likewise.
 
3785
        * testsuite/libffi.call/nested_struct1.c: Likewise.
 
3786
        * testsuite/libffi.call/nested_struct2.c: Likewise.
 
3787
        * testsuite/libffi.call/nested_struct3.c: Likewise.
 
3788
        * testsuite/libffi.call/problem1.c: Likewise.
 
3789
        * testsuite/libffi.special/unwindtest.cc: Likewise.
 
3790
        * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
 
3791
        to zero.
 
3792
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
3793
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
3794
 
 
3795
2004-08-23  David Daney <daney@avtrex.com>
 
3796
 
 
3797
        PR libgcj/13141
 
3798
        * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
 
3799
        * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
 
3800
        (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
 
3801
        parameters and return types.
 
3802
        (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
 
3803
        (ffi_prep_closure): Ditto.
 
3804
        (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
 
3805
        alignment calculations.
 
3806
        * src/mips/o32.S (ffi_closure_O32): Don't use floating point
 
3807
        instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
 
3808
 
 
3809
2004-08-14  Casey Marshall <csm@gnu.org>
 
3810
 
 
3811
        * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
 
3812
        contain `FFI_TYPE_UINT64' as return type for any 64-bit
 
3813
        integer (O32 ABI only).
 
3814
        (ffi_prep_closure): new function.
 
3815
        (ffi_closure_mips_inner_O32): new function.
 
3816
        * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
 
3817
        `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
 
3818
        * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
 
3819
        64 bit integers correctly.
 
3820
        (ffi_closure_O32): new function.
 
3821
        Added DWARF-2 unwind info for both functions.
 
3822
 
 
3823
2004-08-10  Andrew Haley  <aph@redhat.com>
 
3824
 
 
3825
        * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
 
3826
 
 
3827
2004-08-01  Robert Millan  <robertmh@gnu.org>
 
3828
 
 
3829
        * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
 
3830
        * configure: Regenerate.
 
3831
 
 
3832
2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
 
3833
 
 
3834
        * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
 
3835
        and mmap() explicitly instead of relying on preset autoconf cache
 
3836
        variables.
 
3837
        * aclocal.m4: Regenerate.
 
3838
        * configure: Regenerate.
 
3839
 
 
3840
2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
 
3841
 
 
3842
        * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
 
3843
        (ffi_check_float_struct): Remove unused prototype.
 
3844
 
 
3845
2004-06-30  Geoffrey Keating  <geoffk@apple.com>
 
3846
 
 
3847
        * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
 
3848
        character on Darwin, use '\n\t' instead.
 
3849
 
 
3850
2004-06-26  Matthias Klose  <doko@debian.org>
 
3851
 
 
3852
        * libtool-version: Fix typo in revision/age.
 
3853
 
 
3854
2004-06-17  Matthias Klose  <doko@debian.org>
 
3855
 
 
3856
        * libtool-version: New.
 
3857
        * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
 
3858
        * Makefile.in: Regenerate.
 
3859
 
 
3860
2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
 
3861
 
 
3862
        * Makefile.am: Remove useless multilib rules.
 
3863
        * Makefile.in: Regenerate.
 
3864
        * aclocal.m4: Regenerate with automake 1.8.5.
 
3865
        * configure.ac: Remove useless multilib configury.
 
3866
        * configure: Regenerate.
 
3867
 
 
3868
2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
 
3869
 
 
3870
        * .cvsignore: New file.
 
3871
 
 
3872
2004-06-10  Jakub Jelinek  <jakub@redhat.com>
 
3873
 
 
3874
        * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
 
3875
        fp_done.
 
3876
        (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
 
3877
        changed from 8.
 
3878
 
 
3879
2004-06-06  Sean McNeil  <sean@mcneil.com>
 
3880
 
 
3881
        * configure.ac: Add x86_64-*-freebsd* support.
 
3882
        * configure: Regenerate.
 
3883
 
 
3884
2004-04-26  Joe Buck <jbuck@welsh-buck.org>
 
3885
 
 
3886
        Bug 15093
 
3887
        * configure.ac: Test for existence of mmap and sys/mman.h before
 
3888
        checking blacklist.  Fix suggested by Jim Wilson.
 
3889
        * configure: Regenerate.
 
3890
 
 
3891
2004-04-26  Matt Austern  <austern@apple.com>
 
3892
 
 
3893
        * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
 
3894
        FDE location.
 
3895
        * src/powerpc/darwin_closure.S: Likewise.
 
3896
 
 
3897
2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
 
3898
 
 
3899
        * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
 
3900
        error. Reported by Thomas Heller <theller@python.net>.
 
3901
        * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
 
3902
        * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
 
3903
 
 
3904
2004-03-20  Matthias Klose  <doko@debian.org>
 
3905
 
 
3906
        * src/pa/linux.S: Fix typo.
 
3907
 
 
3908
2004-03-19  Matthias Klose  <doko@debian.org>
 
3909
 
 
3910
        * Makefile.am: Update.
 
3911
        * Makefile.in: Regenerate.
 
3912
        * src/pa/ffi.h.in: Remove.
 
3913
        * src/pa/ffitarget.h: New file.
 
3914
 
 
3915
2004-02-10  Randolph Chung  <tausq@debian.org>
 
3916
 
 
3917
        * Makefile.am: Add PA support.
 
3918
        * Makefile.in: Regenerate.
 
3919
        * include/Makefile.in: Regenerate.
 
3920
        * configure.ac: Add PA target.
 
3921
        * configure: Regenerate.
 
3922
        * src/pa/ffi.c: New file.
 
3923
        * src/pa/ffi.h.in: Add PA support.
 
3924
        * src/pa/linux.S: New file.
 
3925
        * prep_cif.c: Add PA support.
 
3926
 
 
3927
2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
 
3928
 
 
3929
        * src/types.c: Fix alignment size of X86_WIN32 case int64 and
 
3930
        double.
 
3931
        * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
 
3932
        with ecif->cif->flags.
 
3933
        (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
 
3934
        with cif->flags.
 
3935
        (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
 
3936
        (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
 
3937
        * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
 
3938
        sc_retstruct2b): Add for 1 or 2-bytes struct case.
 
3939
 
 
3940
2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
 
3941
 
 
3942
        * configure.in: Rename file to ...
 
3943
        * configure.ac: ... this.
 
3944
        * fficonfig.h.in: Regenerate.
 
3945
        * Makefile.in: Regenerate.
 
3946
        * include/Makefile.in: Regenerate.
 
3947
        * testsuite/Makefile.in: Regenerate.
 
3948
 
 
3949
2004-03-12  Matt Austern  <austern@apple.com>
 
3950
 
 
3951
        * src/powerpc/darwin.S: Fix EH information so it corresponds to
 
3952
        changes in EH format resulting from addition of linkonce support.
 
3953
        * src/powerpc/darwin_closure.S: Likewise.
 
3954
 
 
3955
2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
 
3956
            Paolo Bonzini  <bonzini@gnu.org>
 
3957
 
 
3958
        * Makefile.am (AUTOMAKE_OPTIONS): Set them.
 
3959
        Remove VPATH. Remove rules for object files. Remove multilib support.
 
3960
        (AM_CCASFLAGS): Add.
 
3961
        * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
 
3962
        (AC_PREREQ): Bump version to 2.59.
 
3963
        (AC_INIT): Fill with version info and bug address.
 
3964
        (ORIGINAL_LD_FOR_MULTILIBS): Remove.
 
3965
        (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
 
3966
        De-precious CC so that the right flags are passed down to multilibs.
 
3967
        (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
 
3968
        (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
 
3969
        (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
 
3970
        * configure: Rebuilt.
 
3971
        * aclocal.m4: Likewise.
 
3972
        * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
 
3973
        * fficonfig.h.in: Likewise.
 
3974
 
 
3975
2004-03-11  Andreas Schwab  <schwab@suse.de>
 
3976
 
 
3977
        * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
 
3978
        arguments from fp registers only for the first 8 parameter slots.
 
3979
        Don't convert a float parameter when passed in memory.
 
3980
 
 
3981
2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
 
3982
 
 
3983
        * configure: Regenerate for config/accross.m4 correction.
 
3984
 
 
3985
2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
 
3986
 
 
3987
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
 
3988
        ecif->cif->bytes to bytes.
 
3989
        (ffi_prep_cif_machdep): Add braces around nested if statement.
 
3990
 
 
3991
2004-02-09  Alan Modra  <amodra@bigpond.net.au>
 
3992
 
 
3993
        * src/types.c (pointer): POWERPC64 has 8 byte pointers.
 
3994
 
 
3995
        * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
 
3996
        (ffi_closure_helper_LINUX64): Fix typo.
 
3997
        * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
 
3998
        for powerpc64-*-*.
 
3999
        * testsuite/libffi.call/float.c: Likewise.
 
4000
        * testsuite/libffi.call/float2.c: Likewise.
 
4001
 
 
4002
2004-02-08  Alan Modra  <amodra@bigpond.net.au>
 
4003
 
 
4004
        * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
 
4005
        long double function return and long double arg handling.
 
4006
        (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
 
4007
        Use "end_pfr" instead of "nf".  Correct long double handling.
 
4008
        Localise "temp".
 
4009
        * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
 
4010
        return value.
 
4011
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
 
4012
        space for long double return value.  Adjust stack frame and offsets.
 
4013
        Load f2 long double return.
 
4014
 
 
4015
2004-02-07  Alan Modra  <amodra@bigpond.net.au>
 
4016
 
 
4017
        * src/types.c: Use 16 byte long double for POWERPC64.
 
4018
 
 
4019
2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
4020
 
 
4021
        * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
 
4022
        when the structure return address is passed in %o0.
 
4023
        (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
 
4024
        (ffi_v9_layout_struct): Align the field following a nested structure
 
4025
        on a word boundary.  Use memmove instead of memcpy.
 
4026
        (ffi_call): Update call to ffi_V9_return_struct.
 
4027
        (ffi_prep_closure): Define 'ctx' only for V8.
 
4028
        (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
 
4029
        and ffi_closure_sparc_inner_v9.
 
4030
        (ffi_closure_sparc_inner_v8): Return long doubles by reference.
 
4031
        Always skip the structure return address.  For structures and long
 
4032
        doubles, copy the argument directly.
 
4033
        (ffi_closure_sparc_inner_v9): Skip the structure return address only
 
4034
        if required.  Shift the maximum floating-point slot accordingly.  For
 
4035
        big structures, copy the argument directly; otherwise, left-justify the
 
4036
        argument and call ffi_v9_layout_struct to lay out the structure on
 
4037
        the stack.
 
4038
        * src/sparc/v8.S: Undef STACKFRAME before defining it.
 
4039
        (ffi_closure_v8): Pass the structure return address.  Update call to
 
4040
        ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
 
4041
        Skip the 'unimp' insn when returning long doubles and structures.
 
4042
        * src/sparc/v9.S: Undef STACKFRAME before defining it.
 
4043
        (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
 
4044
        FFI_TYPE_INT handling.  Load structures both in integers and
 
4045
        floating-point registers on return.
 
4046
        * README: Update status of the SPARC port.
 
4047
 
 
4048
2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
 
4049
 
 
4050
        * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
 
4051
        as of type ffi_arg.
 
4052
        * testsuite/libffi.call/struct3.c (main): Fix CHECK.
 
4053
 
 
4054
2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
 
4055
 
 
4056
        * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
 
4057
        value as of type ffi_arg, not unsigned int.
 
4058
 
 
4059
2004-01-21  Michael Ritzert  <ritzert@t-online.de>
 
4060
 
 
4061
        * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
 
4062
        of the LHS.
 
4063
 
 
4064
2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
 
4065
 
 
4066
        * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
 
4067
        Solaris.
 
4068
 
 
4069
2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
4070
 
 
4071
        * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
 
4072
        to void *.
 
4073
 
 
4074
2003-12-10  Richard Henderson  <rth@redhat.com>
 
4075
 
 
4076
        * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
 
4077
        size_t instead of int.
 
4078
 
 
4079
2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
 
4080
 
 
4081
        * testsuite/libffi.call/many_win32.c: Include <float.h>.
 
4082
        * testsuite/libffi.call/many_win32.c (main): Replace variable
 
4083
        int i with unsigned long ul.
 
4084
 
 
4085
        * testsuite/libffi.call/cls_align_uint64.c: New test case.
 
4086
        * testsuite/libffi.call/cls_align_sint64.c: Likewise.
 
4087
        * testsuite/libffi.call/cls_align_uint32.c: Likewise.
 
4088
        * testsuite/libffi.call/cls_align_sint32.c: Likewise.
 
4089
        * testsuite/libffi.call/cls_align_uint16.c: Likewise.
 
4090
        * testsuite/libffi.call/cls_align_sint16.c: Likewise.
 
4091
        * testsuite/libffi.call/cls_align_float.c: Likewise.
 
4092
        * testsuite/libffi.call/cls_align_double.c: Likewise.
 
4093
        * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
 
4094
        * testsuite/libffi.call/cls_align_pointer.c: Likewise.
 
4095
 
 
4096
2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
 
4097
 
 
4098
        PR other/13221
 
4099
        * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
 
4100
        Align arguments to 32 bits.
 
4101
 
 
4102
2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
 
4103
 
 
4104
        PR other/13221
 
4105
        * testsuite/libffi.call/cls_multi_sshort.c: New test case.
 
4106
        * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
 
4107
        * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
 
4108
        * testsuite/libffi.call/cls_multi_schar.c: Likewise.
 
4109
        * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
 
4110
        * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
 
4111
 
 
4112
        * testsuite/libffi.special/unwindtest.cc: Cosmetics.
 
4113
 
 
4114
2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
4115
 
 
4116
        * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
 
4117
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
 
4118
 
 
4119
2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
 
4120
 
 
4121
        * Makefile.in: Rebuilt.
 
4122
        * configure: Likewise.
 
4123
        * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
 
4124
        the right type.
 
4125
 
 
4126
2003-11-21  Andreas Jaeger  <aj@suse.de>
 
4127
            Andreas Tobler  <a.tobler@schweiz.ch>
 
4128
 
 
4129
        * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
 
4130
        * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
 
4131
        * Makefile.in: Rebuilt.
 
4132
        * aclocal.m4: Likewise.
 
4133
        * configure: Likewise.
 
4134
        * fficonfig.h.in: Likewise.
 
4135
        * testsuite/lib/libffi-dg.exp: Add include dir.
 
4136
        * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
 
4137
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
 
4138
        * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
 
4139
        for ffi_closure if available.
 
4140
        * testsuite/libffi.call/closure_fn1.c: Likewise.
 
4141
        * testsuite/libffi.call/closure_fn2.c: Likewise.
 
4142
        * testsuite/libffi.call/closure_fn3.c: Likewise.
 
4143
        * testsuite/libffi.call/closure_fn4.c: Likewise.
 
4144
        * testsuite/libffi.call/closure_fn5.c: Likewise.
 
4145
        * testsuite/libffi.call/cls_12byte.c: Likewise.
 
4146
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
4147
        * testsuite/libffi.call/cls_18byte.c: Likewise.
 
4148
        * testsuite/libffi.call/cls_19byte.c: Likewise.
 
4149
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
4150
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
4151
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
 
4152
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
4153
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
4154
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
4155
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
4156
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
4157
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
4158
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
4159
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
4160
        * testsuite/libffi.call/cls_64byte.c: Likewise.
 
4161
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
4162
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
4163
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
4164
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
 
4165
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
 
4166
        * testsuite/libffi.call/cls_double.c: Likewise.
 
4167
        * testsuite/libffi.call/cls_float.c: Likewise.
 
4168
        * testsuite/libffi.call/cls_schar.c: Likewise.
 
4169
        * testsuite/libffi.call/cls_sint.c: Likewise.
 
4170
        * testsuite/libffi.call/cls_sshort.c: Likewise.
 
4171
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
4172
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
4173
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
4174
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
4175
        * testsuite/libffi.call/nested_struct.c: Likewise.
 
4176
        * testsuite/libffi.call/nested_struct1.c: Likewise.
 
4177
        * testsuite/libffi.call/nested_struct2.c: Likewise.
 
4178
        * testsuite/libffi.call/nested_struct3.c: Likewise.
 
4179
        * testsuite/libffi.call/problem1.c: Likewise.
 
4180
        * testsuite/libffi.special/unwindtest.cc: Likewise.
 
4181
 
 
4182
2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
 
4183
 
 
4184
        * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
 
4185
 
 
4186
2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
 
4187
 
 
4188
        * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
 
4189
        Add -lgcc_s to additional flags.
 
4190
 
 
4191
2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
 
4192
 
 
4193
        * configure.in, include/Makefile.am: PR libgcj/11147, install
 
4194
        the ffitarget.h header file in a gcc versioned and target
 
4195
        dependent place.
 
4196
        * configure: Regenerated.
 
4197
        * Makefile.in, include/Makefile.in: Likewise.
 
4198
        * testsuite/Makefile.in: Likewise.
 
4199
 
 
4200
2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
 
4201
 
 
4202
        * testsuite/libffi.call/closure_fn0.c: Print result and check
 
4203
        with dg-output to make debugging easier.
 
4204
        * testsuite/libffi.call/closure_fn1.c: Likewise.
 
4205
        * testsuite/libffi.call/closure_fn2.c: Likewise.
 
4206
        * testsuite/libffi.call/closure_fn3.c: Likewise.
 
4207
        * testsuite/libffi.call/closure_fn4.c: Likewise.
 
4208
        * testsuite/libffi.call/closure_fn5.c: Likewise.
 
4209
        * testsuite/libffi.call/cls_12byte.c: Likewise.
 
4210
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
4211
        * testsuite/libffi.call/cls_18byte.c: Likewise.
 
4212
        * testsuite/libffi.call/cls_19byte.c: Likewise.
 
4213
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
4214
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
4215
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
 
4216
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
4217
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
4218
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
4219
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
4220
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
4221
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
4222
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
4223
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
4224
        * testsuite/libffi.call/cls_64byte.c: Likewise.
 
4225
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
4226
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
4227
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
4228
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
 
4229
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
 
4230
        * testsuite/libffi.call/cls_double.c: Likewise.
 
4231
        * testsuite/libffi.call/cls_float.c: Likewise.
 
4232
        * testsuite/libffi.call/cls_schar.c: Likewise.
 
4233
        * testsuite/libffi.call/cls_sint.c: Likewise.
 
4234
        * testsuite/libffi.call/cls_sshort.c: Likewise.
 
4235
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
4236
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
4237
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
4238
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
4239
        * testsuite/libffi.call/problem1.c: Likewise.
 
4240
 
 
4241
        * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
 
4242
        static.
 
4243
 
 
4244
2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
 
4245
 
 
4246
        * testsuite/libffi.call/cls_9byte2.c: New test case.
 
4247
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
 
4248
        * testsuite/libffi.call/cls_64byte.c: Likewise.
 
4249
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
 
4250
        * testsuite/libffi.call/cls_19byte.c: Likewise.
 
4251
        * testsuite/libffi.call/cls_18byte.c: Likewise.
 
4252
        * testsuite/libffi.call/closure_fn4.c: Likewise.
 
4253
        * testsuite/libffi.call/closure_fn5.c: Likewise.
 
4254
        * testsuite/libffi.call/cls_schar.c: Likewise.
 
4255
        * testsuite/libffi.call/cls_sint.c: Likewise.
 
4256
        * testsuite/libffi.call/cls_sshort.c: Likewise.
 
4257
        * testsuite/libffi.call/nested_struct2.c: Likewise.
 
4258
        * testsuite/libffi.call/nested_struct3.c: Likewise.
 
4259
 
 
4260
2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
 
4261
 
 
4262
        * testsuite/libffi.call/cls_double.c: Do a check on the result.
 
4263
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
4264
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
4265
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
4266
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
4267
        * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
 
4268
 
 
4269
2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
 
4270
 
 
4271
        * src/prep_cif.c (ffi_prep_cif): Move the validity check after
 
4272
        the initialization.
 
4273
 
 
4274
2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
 
4275
 
 
4276
        * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
 
4277
        FFI_ASSERT(FALSE) with FFI_ASSERT(0).
 
4278
 
 
4279
2003-10-22  David Daney  <ddaney@avtrex.com>
 
4280
 
 
4281
        * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
 
4282
        __attribute__((__mode__(__SI__))) and friends.
 
4283
 
 
4284
2003-10-22  Andreas Schwab  <schwab@suse.de>
 
4285
 
 
4286
        * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
 
4287
 
 
4288
2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
 
4289
 
 
4290
        * configure.in: AC_LINK_FILES(ffitarget.h).
 
4291
        * configure: Regenerate.
 
4292
        * Makefile.in: Likewise.
 
4293
        * include/Makefile.in: Likewise.
 
4294
        * testsuite/Makefile.in: Likewise.
 
4295
        * fficonfig.h.in: Likewise.
 
4296
 
 
4297
2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
 
4298
            Richard Henderson  <rth@redhat.com>
 
4299
 
 
4300
        Avoid that ffi.h includes fficonfig.h.
 
4301
 
 
4302
        * Makefile.am (EXTRA_DIST): Include ffitarget.h files
 
4303
        (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
 
4304
        (TARGET_SRC_MIPS_SGI): Removed.
 
4305
        (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
 
4306
        (MIPS_SGI): Removed.
 
4307
        (CLEANFILES): Removed.
 
4308
        (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
 
4309
        targets.
 
4310
        * acconfig.h: Removed.
 
4311
        * configure.in: Compute sizeofs only for double and long double.
 
4312
        Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
 
4313
        into AC_DEFINE instead of using acconfig.h.  Create
 
4314
        include/ffitarget.h instead of include/fficonfig.h.  Rename
 
4315
        MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
 
4316
        AC_DEFINE EH_FRAME_FLAGS.
 
4317
        * include/Makefile.am (DISTCLEANFILES): New automake macro.
 
4318
        (hack_DATA): Add ffitarget.h.
 
4319
        * include/ffi.h.in: Remove all system specific definitions.
 
4320
        Declare raw API even if it is not installed, why bother?
 
4321
        Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
 
4322
        not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
 
4323
        ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
 
4324
        (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
 
4325
        * include/ffi_common.h (bool): Do not define.
 
4326
        (ffi_assert): Accept failed assertion.
 
4327
        (ffi_type_test): Return void and accept file/line.
 
4328
        (FFI_ASSERT): Pass stringized failed assertion.
 
4329
        (FFI_ASSERT_AT): New macro.
 
4330
        (FFI_ASSERT_VALID_TYPE): New macro.
 
4331
        (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
 
4332
        UINT64, SINT64): Define here with gcc's __attribute__ macro
 
4333
        instead of in ffi.h
 
4334
        (FLOAT32, ALIGN): Define here instead of in ffi.h
 
4335
        * include/ffi-mips.h: Removed.  Its content moved to
 
4336
        src/mips/ffitarget.h after separating assembly and C sections.
 
4337
        * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
 
4338
        src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
 
4339
        src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
 
4340
        src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
 
4341
        SIZEOF_ARG -> FFI_SIZEOF_ARG.
 
4342
        * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
 
4343
        * src/debug.c (ffi_assert): Accept stringized failed assertion.
 
4344
        (ffi_type_test): Rewritten.
 
4345
        * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
 
4346
        FFI_ASSERT_VALID_TYPE.
 
4347
        * src/alpha/ffitarget.h, src/arm/ffitarget.h,
 
4348
        src/ia64/ffitarget.h, src/m68k/ffitarget.h,
 
4349
        src/mips/ffitarget.h, src/powerpc/ffitarget.h,
 
4350
        src/s390/ffitarget.h, src/sh/ffitarget.h,
 
4351
        src/sh64/ffitarget.h, src/sparc/ffitarget.h,
 
4352
        src/x86/ffitarget.h: New files.
 
4353
        * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
 
4354
        src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
 
4355
        src/powerpc/aix.S, src/powerpc/darwin.S,
 
4356
        src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
 
4357
        src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
 
4358
        src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
 
4359
        src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
 
4360
        src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
 
4361
        include fficonfig.h
 
4362
 
 
4363
2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
4364
 
 
4365
        * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
 
4366
        _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
 
4367
 
 
4368
2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
 
4369
 
 
4370
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
 
4371
        Used when FFI_DEBUG = 1.
 
4372
 
 
4373
2003-10-14  Alan Modra  <amodra@bigpond.net.au>
 
4374
 
 
4375
        * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
 
4376
        and align.
 
4377
 
 
4378
2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
4379
 
 
4380
        * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
 
4381
        FFI_MIPS_O32 for O32 ABI.
 
4382
 
 
4383
2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
 
4384
 
 
4385
        * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
 
4386
        SPARC64. Cleanup whitespaces.
 
4387
 
 
4388
2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
 
4389
 
 
4390
        * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
 
4391
        strongarm, xscale. Cleanup whitespaces.
 
4392
        * testsuite/libffi.call/closure_fn1.c: Likewise.
 
4393
        * testsuite/libffi.call/closure_fn2.c: Likewise.
 
4394
        * testsuite/libffi.call/closure_fn3.c: Likewise.
 
4395
        * testsuite/libffi.call/cls_12byte.c: Likewise.
 
4396
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
4397
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
4398
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
4399
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
4400
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
4401
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
4402
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
4403
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
4404
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
4405
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
4406
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
4407
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
4408
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
4409
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
4410
        * testsuite/libffi.call/cls_double.c: Likewise.
 
4411
        * testsuite/libffi.call/cls_float.c: Likewise.
 
4412
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
4413
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
4414
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
4415
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
4416
        * testsuite/libffi.call/nested_struct.c: Likewise.
 
4417
        * testsuite/libffi.call/nested_struct1.c: Likewise.
 
4418
        * testsuite/libffi.call/problem1.c: Likewise.
 
4419
        * testsuite/libffi.special/unwindtest.cc: Likewise.
 
4420
        * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
 
4421
 
 
4422
2003-09-18  David Edelsohn  <edelsohn@gnu.org>
 
4423
 
 
4424
        * src/powerpc/aix.S: Cleanup whitespaces.
 
4425
        * src/powerpc/aix_closure.S: Likewise.
 
4426
 
 
4427
2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
 
4428
 
 
4429
        * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
 
4430
        * src/powerpc/darwin_closure.S: Likewise.
 
4431
        * src/powerpc/ffi_darwin.c: Likewise.
 
4432
 
 
4433
2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
 
4434
            David Edelsohn  <edelsohn@gnu.org>
 
4435
 
 
4436
        * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
 
4437
        * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
 
4438
        parameter stack.
 
4439
        * src/powerpc/darwin_closure.S: Likewise.
 
4440
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
 
4441
        according to the Darwin/AIX ABI.
 
4442
        (ffi_prep_cif_machdep): Likewise.
 
4443
        (ffi_closure_helper_DARWIN): Likewise.
 
4444
        Remove the outgoing parameter stack logic. Simplify the evaluation
 
4445
        of the different CASE types.
 
4446
        (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
 
4447
        statement in the trampoline code.
 
4448
 
 
4449
2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
4450
 
 
4451
        * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
 
4452
        for the register size.
 
4453
        (ffi_closure_helper_SYSV): Handle the structure return value
 
4454
        address correctly.
 
4455
        (ffi_closure_helper_SYSV): Return the appropriate type when
 
4456
        the registers are used for the structure return value.
 
4457
        * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
 
4458
        the 64-bit return value.  Update copyright years.
 
4459
 
 
4460
2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
4461
 
 
4462
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
 
4463
        srcdir for ffi_mips.h.
 
4464
 
 
4465
2003-09-12  Alan Modra  <amodra@bigpond.net.au>
 
4466
 
 
4467
        * src/prep_cif.c (initialize_aggregate): Include tail padding in
 
4468
        structure size.
 
4469
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
 
4470
        placement of float result.
 
4471
        * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
 
4472
        cast of "resp" for big-endian 64 bit machines.
 
4473
 
 
4474
2003-09-11  Alan Modra  <amodra@bigpond.net.au>
 
4475
 
 
4476
        * src/types.c (double, longdouble): Merge identical SH and ARM
 
4477
        typedefs, and add POWERPC64.
 
4478
        * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
 
4479
        struct split over gpr and rest.
 
4480
        (ffi_prep_cif_machdep): Correct intarg_count for structures.
 
4481
        * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
 
4482
 
 
4483
2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
 
4484
 
 
4485
        * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
 
4486
        passing correctly.
 
4487
 
 
4488
2003-09-09  Alan Modra  <amodra@bigpond.net.au>
 
4489
 
 
4490
        * configure: Regenerate.
 
4491
 
 
4492
2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
 
4493
 
 
4494
        * Makefile.am: Remove build rules for ffitest.
 
4495
        * Makefile.in: Rebuilt.
 
4496
 
 
4497
2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
 
4498
 
 
4499
        * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
 
4500
        about implicit declaration of abort().
 
4501
 
 
4502
2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
 
4503
 
 
4504
        * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
 
4505
        * Makefile.in: Rebuilt.
 
4506
        * configure.in: Add dejagnu test framework.
 
4507
        * configure: Rebuilt.
 
4508
 
 
4509
        * testsuite/Makefile.am: New file.
 
4510
        * testsuite/Makefile.in: Built
 
4511
        * testsuite/lib/libffi-dg.exp: New file.
 
4512
        * testsuite/config/default.exp: Likewise.
 
4513
        * testsuite/libffi.call/call.exp: Likewise.
 
4514
        * testsuite/libffi.call/ffitest.h: Likewise.
 
4515
        * testsuite/libffi.call/closure_fn0.c: Likewise.
 
4516
        * testsuite/libffi.call/closure_fn1.c: Likewise.
 
4517
        * testsuite/libffi.call/closure_fn2.c: Likewise.
 
4518
        * testsuite/libffi.call/closure_fn3.c: Likewise.
 
4519
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
 
4520
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
 
4521
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
 
4522
        * testsuite/libffi.call/cls_2byte.c: Likewise.
 
4523
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
 
4524
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
 
4525
        * testsuite/libffi.call/cls_4byte.c: Likewise.
 
4526
        * testsuite/libffi.call/cls_5byte.c: Likewise.
 
4527
        * testsuite/libffi.call/cls_6byte.c: Likewise.
 
4528
        * testsuite/libffi.call/cls_7byte.c: Likewise.
 
4529
        * testsuite/libffi.call/cls_8byte.c: Likewise.
 
4530
        * testsuite/libffi.call/cls_12byte.c: Likewise.
 
4531
        * testsuite/libffi.call/cls_16byte.c: Likewise.
 
4532
        * testsuite/libffi.call/cls_20byte.c: Likewise.
 
4533
        * testsuite/libffi.call/cls_24byte.c: Likewise.
 
4534
        * testsuite/libffi.call/cls_double.c: Likewise.
 
4535
        * testsuite/libffi.call/cls_float.c: Likewise.
 
4536
        * testsuite/libffi.call/cls_uchar.c: Likewise.
 
4537
        * testsuite/libffi.call/cls_uint.c: Likewise.
 
4538
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
 
4539
        * testsuite/libffi.call/cls_ushort.c: Likewise.
 
4540
        * testsuite/libffi.call/float.c: Likewise.
 
4541
        * testsuite/libffi.call/float1.c: Likewise.
 
4542
        * testsuite/libffi.call/float2.c: Likewise.
 
4543
        * testsuite/libffi.call/many.c: Likewise.
 
4544
        * testsuite/libffi.call/many_win32.c: Likewise.
 
4545
        * testsuite/libffi.call/nested_struct.c: Likewise.
 
4546
        * testsuite/libffi.call/nested_struct1.c: Likewise.
 
4547
        * testsuite/libffi.call/pyobjc-tc.c: Likewise.
 
4548
        * testsuite/libffi.call/problem1.c: Likewise.
 
4549
        * testsuite/libffi.call/promotion.c: Likewise.
 
4550
        * testsuite/libffi.call/return_ll.c: Likewise.
 
4551
        * testsuite/libffi.call/return_sc.c: Likewise.
 
4552
        * testsuite/libffi.call/return_uc.c: Likewise.
 
4553
        * testsuite/libffi.call/strlen.c: Likewise.
 
4554
        * testsuite/libffi.call/strlen_win32.c: Likewise.
 
4555
        * testsuite/libffi.call/struct1.c: Likewise.
 
4556
        * testsuite/libffi.call/struct2.c: Likewise.
 
4557
        * testsuite/libffi.call/struct3.c: Likewise.
 
4558
        * testsuite/libffi.call/struct4.c: Likewise.
 
4559
        * testsuite/libffi.call/struct5.c: Likewise.
 
4560
        * testsuite/libffi.call/struct6.c: Likewise.
 
4561
        * testsuite/libffi.call/struct7.c: Likewise.
 
4562
        * testsuite/libffi.call/struct8.c: Likewise.
 
4563
        * testsuite/libffi.call/struct9.c: Likewise.
 
4564
        * testsuite/libffi.special/special.exp: New file.
 
4565
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
 
4566
        * testsuite/libffi.special/unwindtest.cc: Likewise.
 
4567
 
 
4568
 
 
4569
2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
 
4570
 
 
4571
        * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
 
4572
        copyright years.
 
4573
 
 
4574
2003-08-02  Alan Modra  <amodra@bigpond.net.au>
 
4575
 
 
4576
        * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
 
4577
        structure passing.
 
4578
        (ffi_closure_helper_LINUX64): Likewise.
 
4579
        * src/powerpc/linux64.S: Remove code writing to parm save area.
 
4580
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
 
4581
        address in lr from ffi_closure_helper_LINUX64 call to calculate
 
4582
        table address.  Optimize function tail.
 
4583
 
 
4584
2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
 
4585
 
 
4586
        * src/sparc/ffi.c: Handle all floating point registers.
 
4587
        * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
 
4588
 
 
4589
2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
4590
 
 
4591
        * README: Note that libffi is not part of GCC.  Update the project
 
4592
        URL and status.
 
4593
 
 
4594
2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
4595
 
 
4596
        * src/powerpc/ppc_closure.S: Include ffi.h.
 
4597
 
 
4598
2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
4599
 
 
4600
        * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
 
4601
        Use C style comments.
 
4602
 
 
4603
2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
4604
 
 
4605
        * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
 
4606
        * Makefile.in: Regenerate.
 
4607
        * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
 
4608
        * configure: Regenerate.
 
4609
        * include/ffi.h.in: Add SHmedia support.
 
4610
        * src/sh64/ffi.c: New file.
 
4611
        * src/sh64/sysv.S: New file.
 
4612
 
 
4613
2003-05-16  Jakub Jelinek  <jakub@redhat.com>
 
4614
 
 
4615
        * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
 
4616
        should be read-only.
 
4617
        * configure: Rebuilt.
 
4618
        * fficonfig.h.in: Rebuilt.
 
4619
        * include/ffi.h.in (EH_FRAME_FLAGS): Define.
 
4620
        * src/alpha/osf.S: Use EH_FRAME_FLAGS.
 
4621
        * src/powerpc/linux64.S: Likewise.
 
4622
        * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
 
4623
        * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
 
4624
        if -fpic/-fPIC/-mrelocatable.
 
4625
        * src/powerpc/powerpc_closure.S: Likewise.
 
4626
        * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
 
4627
        #write in .eh_frame flags.
 
4628
        * src/sparc/v9.S: Likewise.
 
4629
        * src/x86/unix64.S: Use EH_FRAME_FLAGS.
 
4630
        * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
 
4631
        * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
 
4632
 
 
4633
2003-05-07  Jeff Sturm  <jsturm@one-point.com>
 
4634
 
 
4635
        Fixes PR bootstrap/10656
 
4636
        * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
 
4637
        support for .register pseudo-op.
 
4638
        * src/sparc/v8.S: Use it.
 
4639
        * fficonfig.h.in: Rebuilt.
 
4640
        * configure: Rebuilt.
 
4641
 
 
4642
2003-04-18  Jakub Jelinek  <jakub@redhat.com>
 
4643
 
 
4644
        * include/ffi.h.in (POWERPC64): Define if 64-bit.
 
4645
        (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
 
4646
        Make it the default on POWERPC64.
 
4647
        (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
 
4648
        * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
 
4649
        * configure: Rebuilt.
 
4650
        * src/powerpc/ffi.c (hidden): Define.
 
4651
        (ffi_prep_args_SYSV): Renamed from
 
4652
        ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
 
4653
        (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
 
4654
        ASM_NEEDS_REGISTERS64): New.
 
4655
        (ffi_prep_args64): New function.
 
4656
        (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
 
4657
        (ffi_call): Likewise.
 
4658
        (ffi_prep_closure): Likewise.
 
4659
        (flush_icache): Surround by #ifndef POWERPC64.
 
4660
        (ffi_dblfl): New union type.
 
4661
        (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
 
4662
        (ffi_closure_helper_LINUX64): New function.
 
4663
        * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
 
4664
        __powerpc64__.
 
4665
        * src/powerpc/sysv.S: Likewise.
 
4666
        (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
 
4667
        * src/powerpc/linux64.S: New file.
 
4668
        * src/powerpc/linux64_closure.S: New file.
 
4669
        * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
 
4670
        src/powerpc/linux64_closure.S.
 
4671
        (TARGET_SRC_POWERPC): Likewise.
 
4672
 
 
4673
        * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
 
4674
        closure_test_fn3): Fix result printing on big-endian 64-bit
 
4675
        machines.
 
4676
        (main): Print tst2_arg instead of uninitialized tst2_result.
 
4677
 
 
4678
        * src/ffitest.c (main): Hide what closure pointer really points to
 
4679
        from the compiler.
 
4680
 
 
4681
2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
 
4682
 
 
4683
        * configure.in (arm-*-netbsdelf*): Add configuration.
 
4684
        (configure): Regenerated.
 
4685
 
 
4686
2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
 
4687
 
 
4688
        * include/Makefile.in: Regenerate.
 
4689
 
 
4690
2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
 
4691
 
 
4692
        * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
 
4693
        bit mode.
 
4694
        * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
 
4695
        Receive closure pointer through parameter, read args using
 
4696
        __builtin_dwarf_cfa.
 
4697
        (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
 
4698
 
 
4699
2003-03-12  Andreas Schwab  <schwab@suse.de>
 
4700
 
 
4701
        * configure.in: Avoid trailing /. in toolexeclibdir.
 
4702
        * configure: Rebuilt.
 
4703
 
 
4704
2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
 
4705
 
 
4706
        * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
 
4707
 
 
4708
2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
 
4709
 
 
4710
        * libffi/src/powerpc/darwin_closure.S:
 
4711
        Fix alignement bug, allocate 8 bytes for the result.
 
4712
        * libffi/src/powerpc/aix_closure.S:
 
4713
        Likewise.
 
4714
        * libffi/src/powerpc/ffi_darwin.c:
 
4715
        Update stackframe description for aix/darwin_closure.S.
 
4716
 
 
4717
2003-02-06  Jakub Jelinek  <jakub@redhat.com>
 
4718
 
 
4719
        * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
 
4720
        attribute.
 
4721
 
 
4722
2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
 
4723
            Andreas Schwab  <schwab@suse.de>
 
4724
 
 
4725
        * configure.in: Adjust command to source config-ml.in to account
 
4726
        for changes to the libffi_basedir definition.
 
4727
        (libffi_basedir): Remove ${srcdir} from value and include trailing
 
4728
        slash if nonempty.
 
4729
 
 
4730
        * configure: Regenerate.
 
4731
 
 
4732
2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
4733
 
 
4734
        * src/powerpc/ppc_closure.S: Recode to fit shared libs.
 
4735
 
 
4736
2003-01-28  Andrew Haley  <aph@redhat.com>
 
4737
 
 
4738
        * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
 
4739
        * src/x86/ffi64.c (ffi_prep_closure): New.
 
4740
        (ffi_closure_UNIX64_inner): New.
 
4741
        * src/x86/unix64.S (ffi_closure_UNIX64): New.
 
4742
 
 
4743
2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
 
4744
 
 
4745
        * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
 
4746
        Remove USE_LIBDIR conditional.
 
4747
        * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
 
4748
        * Makefile.in, configure: Rebuilt.
 
4749
 
 
4750
2003-01027  David Edelsohn  <edelsohn@gnu.org>
 
4751
 
 
4752
        * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
 
4753
        * Makefile.in: Regenerate.
 
4754
 
 
4755
2003-01-22  Andrew Haley  <aph@redhat.com>
 
4756
 
 
4757
        * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
 
4758
        unwind info.
 
4759
 
 
4760
2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
 
4761
 
 
4762
        * src/powerpc/darwin.S: Add unwind info.
 
4763
        * src/powerpc/darwin_closure.S: Likewise.
 
4764
 
 
4765
2003-01-14  Andrew Haley  <aph@redhat.com>
 
4766
 
 
4767
        * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
 
4768
        (ffi_prep_cif_machdep): Likewise.
 
4769
        * src/x86/unix64.S: Add unwind info.
 
4770
 
 
4771
2003-01-14  Andreas Jaeger  <aj@suse.de>
 
4772
 
 
4773
        * src/ffitest.c (main): Only use ffi_closures if those are
 
4774
        supported.
 
4775
 
 
4776
2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
 
4777
 
 
4778
        * libffi/src/ffitest.c
 
4779
         add closure testcases
 
4780
 
 
4781
2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
 
4782
 
 
4783
        * libffi/src/powerpc/ffi.c
 
4784
         fix alignment bug for float (4 byte aligned iso 8 byte)
 
4785
 
 
4786
2003-01-09  Geoffrey Keating  <geoffk@apple.com>
 
4787
 
 
4788
        * src/powerpc/ffi_darwin.c: Remove RCS version string.
 
4789
        * src/powerpc/darwin.S: Remove RCS version string.
 
4790
 
 
4791
2003-01-03  Jeff Sturm  <jsturm@one-point.com>
 
4792
 
 
4793
        * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
 
4794
        * src/ffitest.c (main): Use static storage for closure.
 
4795
        * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
 
4796
        * src/sparc/v8.S (ffi_closure_v8): New.
 
4797
        * src/sparc/v9.S (ffi_closure_v9): New.
 
4798
 
 
4799
2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
 
4800
 
 
4801
        * include/ffi.h.in: Added FFI_STDCALL ffi_type
 
4802
          enumeration for X86_WIN32.
 
4803
        * src/x86/win32.S: Added ffi_call_STDCALL function
 
4804
          definition.
 
4805
        * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
 
4806
          switch cases for recognising FFI_STDCALL and
 
4807
          calling ffi_call_STDCALL if target is X86_WIN32.
 
4808
        * src/ffitest.c (my_stdcall_strlen/stdcall_many):
 
4809
          stdcall versions of the "my_strlen" and "many"
 
4810
          test functions (for X86_WIN32).
 
4811
          Added test cases to test stdcall invocation using
 
4812
          these functions.
 
4813
 
 
4814
2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
 
4815
 
 
4816
        * src/sh/sysv.S: Add DWARF2 unwind info.
 
4817
 
 
4818
2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
 
4819
 
 
4820
        * src/s390/sysv.S (.eh_frame section): Make section read-only.
 
4821
 
 
4822
2002-11-26  Jim Wilson  <wilson@redhat.com>
 
4823
 
 
4824
        * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
 
4825
 
 
4826
2002-11-23  H.J. Lu <hjl@gnu.org>
 
4827
 
 
4828
        * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
 
4829
        Include ../config/accross.m4.
 
4830
        * aclocal.m4; Rebuild.
 
4831
        * configure: Likewise.
 
4832
 
 
4833
2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
 
4834
 
 
4835
        * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
 
4836
 
 
4837
2002-11-11  DJ Delorie  <dj@redhat.com>
 
4838
 
 
4839
        * configure.in: Look for common files in the right place.
 
4840
 
 
4841
2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
 
4842
 
 
4843
        * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
 
4844
        raw data as _Jv_word values, not ffi_raw.
 
4845
        (ffi_java_ptrarray_to_raw): Likewise.
 
4846
        (ffi_java_rvalue_to_raw): New function.
 
4847
        (ffi_java_raw_call): Call it.
 
4848
        (ffi_java_raw_to_rvalue): New function.
 
4849
        (ffi_java_translate_args): Call it.
 
4850
        * src/ffitest.c (closure_test_fn): Interpret return value
 
4851
        as ffi_arg, not int.
 
4852
        * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
 
4853
        FFI_TYPE_POINTER case.
 
4854
        (ffi_closure_helper_SYSV): Likewise.  Also, assume return
 
4855
        values extended to word size.
 
4856
 
 
4857
2002-10-02  Andreas Jaeger  <aj@suse.de>
 
4858
 
 
4859
        * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
 
4860
 
 
4861
2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
 
4862
 
 
4863
        * include/ffi.h.in: Fix i386 win32 compilation.
 
4864
 
 
4865
2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
 
4866
 
 
4867
        * configure.in: Add s390x-*-linux-* target.
 
4868
        * configure: Regenerate.
 
4869
        * include/ffi.h.in: Define S390X for s390x targets.
 
4870
        (FFI_CLOSURES): Define for s390/s390x.
 
4871
        (FFI_TRAMPOLINE_SIZE): Likewise.
 
4872
        (FFI_NATIVE_RAW_API): Likewise.
 
4873
        * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
 
4874
        * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
 
4875
        * src/s390/ffi.c: Major rework of existing code.  Add support for
 
4876
        s390x targets.  Add closure support.
 
4877
        * src/s390/sysv.S: Likewise.
 
4878
 
 
4879
2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
 
4880
 
 
4881
        * src/arm/sysv.S: Fix typo.
 
4882
 
 
4883
2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
 
4884
 
 
4885
        * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
 
4886
        has defined __USER_LABEL_PREFIX__, then use it in CNAME.
 
4887
        (ffi_call_SYSV): Handle soft-float.
 
4888
 
 
4889
2002-09-27  Bo Thorsen  <bo@suse.de>
 
4890
 
 
4891
        * include/ffi.h.in: Fix multilib x86-64 support.
 
4892
 
 
4893
2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
4894
 
 
4895
        * Makefile.am (all-multi): Fix multilib parallel build.
 
4896
 
 
4897
2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
 
4898
 
 
4899
        * configure.in (sh[34]*-*-linux*): Add brackets.
 
4900
        * configure: Regenerate.
 
4901
 
 
4902
2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
4903
 
 
4904
        * Makefile.am: Add SH support.
 
4905
        * Makefile.in: Regenerate.
 
4906
        * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
 
4907
        * configure: Regenerate.
 
4908
        * include/ffi.h.in: Add SH support.
 
4909
        * src/sh/ffi.c: New file.
 
4910
        * src/sh/sysv.S: New file.
 
4911
        * src/types.c: Add SH support.
 
4912
 
 
4913
2002-07-16  Bo Thorsen  <bo@suse.de>
 
4914
 
 
4915
        * src/x86/ffi64.c: New file that adds x86-64 support.
 
4916
        * src/x86/unix64.S: New file that handles argument setup for
 
4917
        x86-64.
 
4918
        * src/x86/sysv.S: Don't use this on x86-64.
 
4919
        * src/x86/ffi.c: Don't use this on x86-64.
 
4920
        Remove unused vars.
 
4921
        * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
 
4922
        for x86-64.
 
4923
        * src/ffitest.c (struct6): New test that tests a special case in
 
4924
        the x86-64 ABI.
 
4925
        (struct7): Likewise.
 
4926
        (struct8): Likewise.
 
4927
        (struct9): Likewise.
 
4928
        (closure_test_fn): Silence warning about this when it's not used.
 
4929
        (main): Add the new tests.
 
4930
        (main): Fix a couple of wrong casts and silence some compiler warnings.
 
4931
        * include/ffi.h.in: Add x86-64 ABI definition.
 
4932
        * fficonfig.h.in: Regenerate.
 
4933
        * Makefile.am: Add x86-64 support.
 
4934
        * configure.in: Likewise.
 
4935
        * Makefile.in: Regenerate.
 
4936
        * configure: Likewise.
 
4937
 
 
4938
2002-06-24  Bo Thorsen  <bo@suse.de>
 
4939
 
 
4940
        * src/types.c: Merge settings for similar architectures.
 
4941
        Add x86-64 sizes and alignments.
 
4942
 
 
4943
2002-06-23  Bo Thorsen  <bo@suse.de>
 
4944
 
 
4945
        * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
 
4946
        * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
 
4947
        * src/mips/ffi.c (ffi_prep_args): Likewise.
 
4948
        * src/m68k/ffi.c (ffi_prep_args): Likewise.
 
4949
 
 
4950
2002-07-18  H.J. Lu  (hjl@gnu.org)
 
4951
 
 
4952
        * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
 
4953
        (libffi_la_SOURCES): Support MIPS_LINUX.
 
4954
        (libffi_convenience_la_SOURCES): Likewise.
 
4955
        * Makefile.in: Regenerated.
 
4956
 
 
4957
        * configure.in (mips64*-*): Skip.
 
4958
        (mips*-*-linux*): New.
 
4959
        * configure: Regenerated.
 
4960
 
 
4961
        * src/mips/ffi.c: Include <sgidefs.h>.
 
4962
 
 
4963
2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
 
4964
 
 
4965
        * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
 
4966
 
 
4967
2002-05-27  Roger Sayle  <roger@eyesopen.com>
 
4968
 
 
4969
        * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
 
4970
 
 
4971
2002-05-27  Bo Thorsen  <bo@suse.de>
 
4972
 
 
4973
        * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
 
4974
        fix formatting.
 
4975
 
 
4976
2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
 
4977
 
 
4978
        * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
 
4979
        beginning of function (for older apple cc).
 
4980
 
 
4981
2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
 
4982
 
 
4983
        * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
 
4984
        script entry, and set LD to it when configuring multilibs.
 
4985
        * configure: Rebuilt.
 
4986
 
 
4987
2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
 
4988
 
 
4989
        * configure.in (sparc64-*-netbsd*): Add target.
 
4990
        (sparc-*-netbsdelf*): Likewise.
 
4991
        * configure: Regenerate.
 
4992
 
 
4993
2002-04-28  David S. Miller  <davem@redhat.com>
 
4994
 
 
4995
        * configure.in, configure: Fix SPARC test in previous change.
 
4996
 
 
4997
2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
 
4998
 
 
4999
        * Makefile.am: Add Linux for S/390 support.
 
5000
        * Makefile.in: Regenerate.
 
5001
        * configure.in: Add Linux for S/390 support.
 
5002
        * configure: Regenerate.
 
5003
        * include/ffi.h.in: Add Linux for S/390 support.
 
5004
        * src/s390/ffi.c: New file from libffi CVS tree.
 
5005
        * src/s390/sysv.S: New file from libffi CVS tree.
 
5006
 
 
5007
2002-04-28  Jakub Jelinek  <jakub@redhat.com>
 
5008
 
 
5009
        * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
 
5010
        %r_disp32().
 
5011
        * src/sparc/v8.S: Use it.
 
5012
        * src/sparc/v9.S: Likewise.
 
5013
        * fficonfig.h.in: Rebuilt.
 
5014
        * configure: Rebuilt.
 
5015
 
 
5016
2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
 
5017
 
 
5018
        * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
 
5019
        correctly.
 
5020
        * src/ia64/unix.S: Add unwind information. Fix comments.
 
5021
        Save sp in a way that's compatible with unwind info.
 
5022
        (ffi_call_unix): Correctly restore sp in all cases.
 
5023
        * src/ia64/ffi.c: Add, fix comments.
 
5024
 
 
5025
2002-04-08  Jakub Jelinek  <jakub@redhat.com>
 
5026
 
 
5027
        * src/sparc/v8.S: Make .eh_frame dependent on target word size.
 
5028
 
 
5029
2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
 
5030
 
 
5031
        * configure.in (alpha*-*-netbsd*): Add target.
 
5032
        * configure: Regenerate.
 
5033
 
 
5034
2002-04-04  Jeff Sturm  <jsturm@one-point.com>
 
5035
 
 
5036
        * src/sparc/v8.S: Add unwind info.
 
5037
        * src/sparc/v9.S: Likewise.
 
5038
 
 
5039
2002-03-30  Krister Walfridsson  <cato@df.lth.se>
 
5040
 
 
5041
        * configure.in: Enable i*86-*-netbsdelf*.
 
5042
        * configure: Rebuilt.
 
5043
 
 
5044
2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
 
5045
 
 
5046
        PR other/2620
 
5047
        * src/mips/n32.s: Delete
 
5048
        * src/mips/o32.s: Delete
 
5049
 
 
5050
2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
 
5051
 
 
5052
        * configure.in: Enable alpha*-*-freebsd*.
 
5053
        * configure: Rebuilt.
 
5054
 
 
5055
2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
5056
 
 
5057
        * Makefile.am: libfficonvenience -> libffi_convenience.
 
5058
        * Makefile.in: Rebuilt.
 
5059
 
 
5060
        * Makefile.am: Define ffitest_OBJECTS.
 
5061
        * Makefile.in: Rebuilt.
 
5062
 
 
5063
2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
 
5064
            David Edelsohn  <edelsohn@gnu.org>
 
5065
 
 
5066
        * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
 
5067
        (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
 
5068
        (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
 
5069
        * Makefile.in: Regenerate.
 
5070
        * include/ffi.h.in: Add AIX and Darwin closure definitions.
 
5071
        * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
 
5072
        (flush_icache, flush_range): New functions.
 
5073
        (ffi_closure_helper_DARWIN): New function.
 
5074
        * src/powerpc/aix_closure.S: New file.
 
5075
        * src/powerpc/darwin_closure.S: New file.
 
5076
 
 
5077
2002-02-24  Jeff Sturm  <jsturm@one-point.com>
 
5078
 
 
5079
        * include/ffi.h.in: Add typedef for ffi_arg.
 
5080
        * src/ffitest.c (main): Declare rint with ffi_arg.
 
5081
 
 
5082
2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
 
5083
 
 
5084
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
 
5085
        number of GPRs for floating-point arguments.
 
5086
 
 
5087
2002-01-31  Anthony Green  <green@redhat.com>
 
5088
 
 
5089
        * configure: Rebuilt.
 
5090
        * configure.in: Replace CHECK_SIZEOF and endian tests with
 
5091
        cross-compiler friendly macros.
 
5092
        * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
 
5093
        macros.
 
5094
 
 
5095
2002-01-18  David Edelsohn  <edelsohn@gnu.org>
 
5096
 
 
5097
        * src/powerpc/darwin.S (_ffi_call_AIX): New.
 
5098
        * src/powerpc/aix.S (ffi_call_DARWIN): New.
 
5099
 
 
5100
2002-01-17  David Edelsohn  <edelsohn@gnu.org>
 
5101
 
 
5102
        * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
 
5103
        (TARGET_SRC_POWERPC_AIX): New.
 
5104
        (POWERPC_AIX): New stanza.
 
5105
        * Makefile.in: Regenerate.
 
5106
        * configure.in: Add AIX case.
 
5107
        * configure: Regenerate.
 
5108
        * include/ffi.h.in (ffi_abi): Add FFI_AIX.
 
5109
        * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
 
5110
        size.  Fix "long double" support.
 
5111
        (ffi_call): Add FFI_AIX case.
 
5112
        * src/powerpc/aix.S: New.
 
5113
 
 
5114
2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
 
5115
 
 
5116
        Implement Darwin PowerPC ABI.
 
5117
        * configure.in: Handle powerpc-*-darwin*.
 
5118
        * Makefile.am: Set source files for POWERPC_DARWIN.
 
5119
        * configure: Rebuilt.
 
5120
        * Makefile.in: Rebuilt.
 
5121
        * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
 
5122
        POWERPC_DARWIN.
 
5123
        * src/powerpc/darwin.S: New file.
 
5124
        * src/powerpc/ffi_darwin.c: New file.
 
5125
 
 
5126
2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
 
5127
 
 
5128
        * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
 
5129
 
 
5130
2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
5131
 
 
5132
        * src/x86/sysv.S: Avoid gas-only .balign directive.
 
5133
        Use C style comments.
 
5134
 
 
5135
2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
5136
 
 
5137
        * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
 
5138
        Fixes PR bootstrap/3563.
 
5139
 
 
5140
2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
5141
 
 
5142
        * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
 
5143
 
 
5144
2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
5145
 
 
5146
        * configure.in: Recognize sparc*-sun-* host.
 
5147
        * configure: Regenerate.
 
5148
 
 
5149
2001-06-06  Andrew Haley  <aph@redhat.com>
 
5150
 
 
5151
        * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
 
5152
 
 
5153
2001-06-03  Andrew Haley  <aph@redhat.com>
 
5154
 
 
5155
        * src/alpha/osf.S: Add unwind info.
 
5156
        * src/powerpc/sysv.S: Add unwind info.
 
5157
        * src/powerpc/ppc_closure.S: Likewise.
 
5158
 
 
5159
2000-05-31  Jeff Sturm  <jsturm@one-point.com>
 
5160
 
 
5161
        * configure.in: Fix AC_ARG_ENABLE usage.
 
5162
        * configure: Rebuilt.
 
5163
 
 
5164
2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
5165
 
 
5166
        * configure.in: Remove warning about beta code.
 
5167
        * configure: Rebuilt.
 
5168
 
 
5169
2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
 
5170
 
 
5171
        * src/ia64/unix.S: Restore stack pointer when returning from
 
5172
        ffi_closure_UNIX.
 
5173
        * src/ia64/ffi.c: Fix typo in comment.
 
5174
 
 
5175
2001-04-18  Jim Wilson  <wilson@redhat.com>
 
5176
 
 
5177
        * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
 
5178
        to eliminate RAW DV.
 
5179
 
 
5180
2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
 
5181
 
 
5182
        * Makefile.am: Make a libtool convenience library.
 
5183
        * Makefile.in: Rebuilt.
 
5184
 
 
5185
2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
 
5186
 
 
5187
        * configure.in: Use different syntax for subdirectory creation.
 
5188
        * configure: Rebuilt.
 
5189
 
 
5190
2001-03-27  Jon Beniston  <jon@beniston.com>
 
5191
 
 
5192
        * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
 
5193
        * configure: Rebuilt.
 
5194
        * Makefile.am: Added X86_WIN32 target support.
 
5195
        * Makefile.in: Rebuilt.
 
5196
 
 
5197
        * include/ffi.h.in: Added X86_WIN32 target support.
 
5198
 
 
5199
        * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
 
5200
        * src/types.c: Added X86_WIN32 target support.
 
5201
 
 
5202
        * src/x86/win32.S: New file. Based on sysv.S, but with EH
 
5203
        stuff removed and made to work with CygWin's gas.
 
5204
 
 
5205
2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
 
5206
 
 
5207
        * configure.in: Make target subdirectory in build dir.
 
5208
        * Makefile.am: Override suffix based rules to specify correct output
 
5209
        subdirectory.
 
5210
        * Makefile.in: Rebuilt.
 
5211
        * configure: Rebuilt.
 
5212
 
 
5213
2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
 
5214
 
 
5215
        * src/powerpc/ppc_closure.S: New file.
 
5216
        * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
 
5217
        involving long long and register pairs.
 
5218
        (ffi_prep_closure): New function.
 
5219
        (flush_icache): Likewise.
 
5220
        (ffi_closure_helper_SYSV): Likewise.
 
5221
        * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
 
5222
        (FFI_TRAMPOLINE_SIZE): Likewise.
 
5223
        (FFI_NATIVE_RAW_API): Likewise.
 
5224
        * Makefile.in: Rebuilt.
 
5225
        * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
 
5226
        (TARGET_SRC_POWERPC): Likewise.
 
5227
 
 
5228
2001-03-19  Tom Tromey  <tromey@redhat.com>
 
5229
 
 
5230
        * Makefile.in: Rebuilt.
 
5231
        * Makefile.am (ffitest_LDFLAGS): New macro.
 
5232
 
 
5233
2001-03-02  Nick Clifton  <nickc@redhat.com>
 
5234
 
 
5235
        * include/ffi.h.in: Remove RCS ident string.
 
5236
        * include/ffi_mips.h: Remove RCS ident string.
 
5237
        * src/debug.c: Remove RCS ident string.
 
5238
        * src/ffitest.c: Remove RCS ident string.
 
5239
        * src/prep_cif.c: Remove RCS ident string.
 
5240
        * src/types.c: Remove RCS ident string.
 
5241
        * src/alpha/ffi.c: Remove RCS ident string.
 
5242
        * src/alpha/osf.S: Remove RCS ident string.
 
5243
        * src/arm/ffi.c: Remove RCS ident string.
 
5244
        * src/arm/sysv.S: Remove RCS ident string.
 
5245
        * src/mips/ffi.c: Remove RCS ident string.
 
5246
        * src/mips/n32.S: Remove RCS ident string.
 
5247
        * src/mips/o32.S: Remove RCS ident string.
 
5248
        * src/sparc/ffi.c: Remove RCS ident string.
 
5249
        * src/sparc/v8.S: Remove RCS ident string.
 
5250
        * src/sparc/v9.S: Remove RCS ident string.
 
5251
        * src/x86/ffi.c: Remove RCS ident string.
 
5252
        * src/x86/sysv.S: Remove RCS ident string.
 
5253
 
 
5254
2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
 
5255
 
 
5256
        * include/ffi.h.in: Change sourceware.cygnus.com references to
 
5257
        gcc.gnu.org.
 
5258
 
 
5259
2000-12-09  Richard Henderson  <rth@redhat.com>
 
5260
 
 
5261
        * src/alpha/ffi.c (ffi_call): Simplify struct return test.
 
5262
        (ffi_closure_osf_inner): Index rather than increment avalue
 
5263
        and arg_types.  Give ffi_closure_osf the raw return value type.
 
5264
        * src/alpha/osf.S (ffi_closure_osf): Handle return value type
 
5265
        promotion.
 
5266
 
 
5267
2000-12-07  Richard Henderson  <rth@redhat.com>
 
5268
 
 
5269
        * src/raw_api.c (ffi_translate_args): Fix typo.
 
5270
        (ffi_prep_closure): Likewise.
 
5271
 
 
5272
        * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
 
5273
        FFI_TRAMPOLINE_SIZE.
 
5274
        * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
 
5275
        cif->bytes for new ffi_call_osf implementation.
 
5276
        (ffi_prep_args): Absorb into ...
 
5277
        (ffi_call): ... here.  Do all stack allocation here and
 
5278
        avoid a callback function.
 
5279
        (ffi_prep_closure, ffi_closure_osf_inner): New.
 
5280
        * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
 
5281
        (ffi_closure_osf): New.
 
5282
 
 
5283
2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
 
5284
 
 
5285
        * config.guess, config.sub, install-sh: Removed.
 
5286
        * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
 
5287
        * Makefile.in: Rebuilt.
 
5288
 
 
5289
        * acinclude.m4: Include libtool macros from the top level.
 
5290
        * aclocal.m4, configure: Rebuilt.
 
5291
 
 
5292
2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
 
5293
 
 
5294
        * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
 
5295
        * configure: Rebuilt.
 
5296
 
 
5297
2000-05-11  Scott Bambrough  <scottb@netwinder.org>
 
5298
 
 
5299
        * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
 
5300
        memory correctly.  Use conditional instructions, not branches where
 
5301
        possible.
 
5302
 
 
5303
2000-05-04  Tom Tromey  <tromey@cygnus.com>
 
5304
 
 
5305
        * configure: Rebuilt.
 
5306
        * configure.in: Match `arm*-*-linux-*'.
 
5307
        From Chris Dornan <cdornan@arm.com>.
 
5308
 
 
5309
2000-04-28  Jakub Jelinek  <jakub@redhat.com>
 
5310
 
 
5311
        * Makefile.am (SUBDIRS): Define.
 
5312
        (AM_MAKEFLAGS): Likewise.
 
5313
        (Multilib support.): Add section.
 
5314
        * Makefile.in: Rebuilt.
 
5315
        * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
 
5316
        New variables. Set for gcc using -print-multi-lib. Export them
 
5317
        to libtool.
 
5318
        (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
 
5319
        * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
 
5320
        for -shared links.
 
5321
        (extra_compiler_flags_value, extra_compiler_flags): Check these
 
5322
        for extra compiler options which need to be passed down in
 
5323
        compiler_flags.
 
5324
 
 
5325
2000-04-16  Anthony Green  <green@redhat.com>
 
5326
 
 
5327
        * configure: Rebuilt.
 
5328
        * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
 
5329
 
 
5330
2000-04-14  Jakub Jelinek  <jakub@redhat.com>
 
5331
 
 
5332
        * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
 
5333
        Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
 
5334
        * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
 
5335
        Replace all void * sizeofs with sizeof(int).
 
5336
        Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
 
5337
        different than DOUBLE.
 
5338
        Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
 
5339
        (ffi_prep_args_v9): New function.
 
5340
        (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
 
5341
        (ffi_V9_return_struct): New function.
 
5342
        (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
 
5343
        32bit code (not yet cross-arch calls).
 
5344
        * src/sparc/v8.S: Add struct return delay nop.
 
5345
        Handle long long.
 
5346
        * src/sparc/v9.S: New file.
 
5347
        * src/prep_cif.c (ffi_prep_cif): Return structure pointer
 
5348
        is used on sparc64 only for structures larger than 32 bytes.
 
5349
        Pass by reference for structures is done for structure arguments
 
5350
        larger than 16 bytes.
 
5351
        * src/ffitest.c (main): Use 64bit rint on sparc64.
 
5352
        Run long long tests on sparc.
 
5353
        * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
 
5354
        sparc64.
 
5355
        (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
 
5356
        on sparc64.
 
5357
        * configure.in (sparc-*-linux*): New supported target.
 
5358
        (sparc64-*-linux*): Likewise.
 
5359
        * configure: Rebuilt.
 
5360
        * Makefile.am: Add v9.S to SPARC files.
 
5361
        * Makefile.in: Likewise.
 
5362
        (LINK): Surround $(CCLD) into double quotes, so that multilib
 
5363
        compiles work correctly.
 
5364
 
 
5365
2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
5366
 
 
5367
        * configure: Rebuilt.
 
5368
        * configure.in: (i*86-*-solaris*): New libffi target. Patch
 
5369
        proposed by Bryce McKinlay.
 
5370
 
 
5371
2000-03-20  Tom Tromey  <tromey@cygnus.com>
 
5372
 
 
5373
        * Makefile.in: Hand edit for java_raw_api.lo.
 
5374
 
 
5375
2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
 
5376
 
 
5377
        * config.guess, config.sub: Update from the gcc tree.
 
5378
        Fix for PR libgcj/168.
 
5379
 
 
5380
2000-03-03  Tom Tromey  <tromey@cygnus.com>
 
5381
 
 
5382
        * Makefile.in: Fixed ia64 by hand.
 
5383
 
 
5384
        * configure: Rebuilt.
 
5385
        * configure.in (--enable-multilib): New option.
 
5386
        (libffi_basedir): New subst.
 
5387
        (AC_OUTPUT): Added multilib code.
 
5388
 
 
5389
2000-03-02  Tom Tromey  <tromey@cygnus.com>
 
5390
 
 
5391
        * Makefile.in: Rebuilt.
 
5392
        * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
 
5393
        directory name.
 
5394
 
 
5395
2000-02-25  Hans Boehm <boehm@acm.org>
 
5396
 
 
5397
        * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
 
5398
        files.
 
5399
        * src/raw_api.c (ffi_translate_args): Fixed typo in argument
 
5400
        list.
 
5401
        (ffi_prep_raw_closure): Use ffi_translate_args, not
 
5402
        ffi_closure_translate.
 
5403
        * src/java_raw_api.c: New file.
 
5404
        * src/ffitest.c (closure_test_fn): New function.
 
5405
        (main): Define `rint' as long long on IA64.  Added new test when
 
5406
        FFI_CLOSURES is defined.
 
5407
        * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
 
5408
        (ffi_abi): Recognize IA64.
 
5409
        (ffi_raw): Added `flt' field.
 
5410
        Added "Java raw API" code.
 
5411
        * configure.in: Recognize ia64.
 
5412
        * Makefile.am (TARGET_SRC_IA64): New macro.
 
5413
        (libffi_la_common_SOURCES): Added java_raw_api.c.
 
5414
        (libffi_la_SOURCES): Define in IA64 case.
 
5415
 
 
5416
2000-01-04  Tom Tromey  <tromey@cygnus.com>
 
5417
 
 
5418
        * Makefile.in: Rebuilt with newer automake.
 
5419
 
 
5420
1999-12-31  Tom Tromey  <tromey@cygnus.com>
 
5421
 
 
5422
        * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
 
5423
 
 
5424
1999-09-01  Tom Tromey  <tromey@cygnus.com>
 
5425
 
 
5426
        * include/ffi.h.in: Removed PACKAGE and VERSION defines and
 
5427
        undefs.
 
5428
        * fficonfig.h.in: Rebuilt.
 
5429
        * configure: Rebuilt.
 
5430
        * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
 
5431
        Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
 
5432
        * acconfig.h: Don't #undef PACKAGE or VERSION.
 
5433
 
 
5434
1999-08-09  Anthony Green  <green@cygnus.com>
 
5435
 
 
5436
        * include/ffi.h.in: Try to work around messy header problem
 
5437
        with PACKAGE and VERSION.
 
5438
 
 
5439
        * configure: Rebuilt.
 
5440
        * configure.in: Change version to 2.00-beta.
 
5441
 
 
5442
        * fficonfig.h.in: Rebuilt.
 
5443
        * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
 
5444
 
 
5445
        * src/x86/ffi.c (ffi_raw_call): Rename.
 
5446
 
 
5447
1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
 
5448
 
 
5449
        * src/x86/ffi.c (ffi_closure_SYSV): New function.
 
5450
        (ffi_prep_incoming_args_SYSV): Ditto.
 
5451
        (ffi_prep_closure): Ditto.
 
5452
        (ffi_closure_raw_SYSV): Ditto.
 
5453
        (ffi_prep_raw_closure): More ditto.
 
5454
        (ffi_call_raw): Final ditto.
 
5455
 
 
5456
        * include/ffi.h.in: Add definitions for closure and raw API.
 
5457
 
 
5458
        * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
 
5459
        FFI_TYPE_UINT64.
 
5460
 
 
5461
        * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
 
5462
 
 
5463
        * src/raw_api.c: New file.
 
5464
 
 
5465
        * include/ffi.h.in (ffi_raw): New type.
 
5466
        (UINT_ARG, SINT_ARG): New defines.
 
5467
        (ffi_closure, ffi_raw_closure): New types.
 
5468
        (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
 
5469
 
 
5470
        * configure.in: Add check for endianness and sizeof void*.
 
5471
 
 
5472
        * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
 
5473
        instead of directly.
 
5474
 
 
5475
        * configure: Rebuilt.
 
5476
 
 
5477
Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
 
5478
 
 
5479
        * configure.in: Add x86 and powerpc BeOS configurations.
 
5480
        From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
 
5481
 
 
5482
1999-05-09  Anthony Green  <green@cygnus.com>
 
5483
 
 
5484
        * configure.in: Add warning about this being beta code.
 
5485
        Remove src/Makefile.am from the picture.
 
5486
        * configure: Rebuilt.
 
5487
 
 
5488
        * Makefile.am: Move logic from src/Makefile.am.  Add changes
 
5489
        to support libffi as a target library.
 
5490
        * Makefile.in: Rebuilt.
 
5491
 
 
5492
        * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
 
5493
        Upgraded to new autoconf, automake, libtool.
 
5494
 
 
5495
        * README: Tweaks.
 
5496
 
 
5497
        * LICENSE: Update copyright date.
 
5498
 
 
5499
        * src/Makefile.am, src/Makefile.in: Removed.
 
5500
 
 
5501
1998-11-29  Anthony Green  <green@cygnus.com>
 
5502
 
 
5503
        * include/ChangeLog: Removed.
 
5504
        * src/ChangeLog: Removed.
 
5505
        * src/mips/ChangeLog: Removed.
 
5506
        * src/sparc/ChangeLog: Remboved.
 
5507
        * src/x86/ChangeLog: Removed.
 
5508
 
 
5509
        * ChangeLog.v1: Created.