]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
re PR target/81084 (powerpcspe port full of confusing configury / command-line option...
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
fbdc3780
TR
12017-08-31 Tony Reix <tony.reix@atos.net>
2
3 * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and
4 labels for EH.
5 (ffi_call_go_AIX): New function.
6 (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame.
7 * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging
8 pseudo-op and labels for EH.
9 (ffi_go_closure_ASM): New function.
10 (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame.
11 * src/powrpc/ffi_darwin.c (ffi_call_go): New function.
12 (ffi_prep_go_closure): New function.
13 (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN.
14 (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common.
15 (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common.
16 * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define.
17
73aa401e
JJ
182017-01-21 Jakub Jelinek <jakub@redhat.com>
19
20 PR other/79046
21 * configure.ac: Add GCC_BASE_VER.
22 * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
23 of cat to get version from BASE-VER file.
24 * configure: Regenerated.
25 * testsuite/Makefile.in: Regenerated.
26 * include/Makefile.in: Regenerated.
27 * Makefile.in: Regenerated.
28 * man/Makefile.in: Regenerated.
29
84c1b9d3
MK
302016-11-15 Matthias Klose <doko@ubuntu.com>
31
32 * configure: Regenerate.
33
5961d13d
JDA
342016-09-04 John David Anglin <danglin@gcc.gnu.org>
35
36 * src/pa/ffi.c (ffi_struct_type): Put type declaration on separate line.
37 (ffi_prep_args_pa32): Likewise.
38 (ffi_size_stack_pa32): Likewise.
39 (ffi_prep_cif_machdep): Likewise.
40 (ffi_call): Likewise. Rename to ffi_call_int. Add closure argument
41 and update call to ffi_call_pa32.
42 (ffi_call, ffi_call_go, ffi_prep_go_closure): New.
43 (ffi_closure_inner_pa32): Update to handle go closures.
44 * src/pa/ffitarget.h (FFI_GO_CLOSURES): Define.
45 * src/pa/hpux32.S (ffi_call_pa32): Pass go closure argument in static
46 chain register (%ret1).
47 (ffi_closure_pa32): Set closure type argument to zero.
48 (ffi_go_closure_pa32): New function. Add unwind data for it.
49 * src/pa/linux.S: Likewise. Use cfi directives for unwind data.
50 * testsuite/libffi.go/static-chain.h (STATIC_CHAIN_REG): Define for
51 hppa.
52
7e5a3c96
TS
532016-05-23 Thomas Schwinge <thomas@codesourcery.com>
54
55 PR libffi/65567
56 * testsuite/lib/libffi.exp (libffi_feature_test): Fix, and simply.
57
a7ceba7d
AS
582016-03-17 Andreas Schwab <schwab@suse.de>
59
60 * src/aarch64/ffitarget.h (FFI_SIZEOF_JAVA_RAW) [__ILP32__]:
61 Define.
62
1e00421c
RH
632016-03-02 Richard Henderson <rth@redhat.com>
64
65 * libtool-version: Increase to 7:0:0.
66 * libffi.map.in: Increase version numbers to 7.0.
67
bc33dc51
RO
682016-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
69
70 * Makefile.am (libffi.map-sun): Properly convert
71 $(libffi_la_OBJECTS) to object names.
72 * Makefile.in: Regenerate.
73
fd2298e3
RO
742016-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
75
76 * Makefile.am (libffi.map-sun): Tabify:
77 * Makefile.in: Regenerate.
78
2c055256
RH
792016-03-02 Richard Henderson <rth@redhat.com>
80
81 PR libffi/70024
82 * Makefile.am (libffi_version_script): New.
83 (libffi_version_dep): New.
84 (libffi_version_info): New.
85 (libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script.
86 (libffi_la_DEPENDENCIES): Include libffi_version_dep.
87 * acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New.
88 (LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New.
89 (LIBAT_BUILD_VERSIONED_SHLIB_GNU): New.
90 (LIBAT_BUILD_VERSIONED_SHLIB_SUN): New.
91 * configure.ac: Invoke LIBAT_ENABLE_SYMVERS.
92 * libffi.map: New file.
93 * libtool-version: Increase to 5.0.0.
94 * Makefile.in, configure: Rebuild.
95 * man/Makefile.in, testsuite/Makefile.in: Rebuild.
96
5147e0e8
RH
97 * Makefile.am (libffi_version_script): Look in cwd for libffi.map.
98 (libffi_version_dep, libffi.map-sun): Likewise.
99 (libffi.map): New target.
100 * libffi.map.in: Rename from libffi.map. Add required defines,
101 includes, and conditionals.
102
bda9c245
JDA
1032015-10-26 John David Anglin <danglin@gcc.gnu.org>
104
105 PR libffi/65441
106 * testsuite/lib/libffi.exp: Load target-supports-dg.exp.
107 * testsuite/libffi.call/float2.c: Don't run on hppa*-*-hpux*.
108
c57173b6
AM
1092015-10-01 Alan Modra <amodra@gmail.com>
110
111 * src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs,
112 gprs, and stack words separately.
113 (ffi_prep_args_SYSV): Similarly.
114
11989ec2
MH
1152015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
116
117 * Makefile.in: Regenerated with automake-1.11.6.
118 * aclocal.m4: Likewise.
119 * configure: Likewise.
120 * fficonfig.h.in: Likewise.
121 * include/Makefile.in: Likewise.
122 * man/Makefile.in: Likewise.
123 * testsuite/Makefile.in: Likewise.
124
dc843250
JDA
1252015-03-29 John David Anglin <danglin@gcc.gnu.org>
126
127 PR libffi/65567
128 * testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
129 lindex is applied to a list.
130
97c32df4
AP
1312015-02-10 Andrew Pinski <apinski@cavium.com>
132
133 * src/aarch64/ffitarget.h (ffi_arg): Use unsigned long long for ILP32.
134 (FFI_SIZEOF_ARG): Define to 64 for ILP32.
135 (ffi_sarg): Use signed long long for ILP32.
136
137 * src/aarch64/sysv.S (PTR_REG): New macro.
138 (PTR_SIZE): New macro.
139 (ffi_closure_SYSV): Load cif, fn and user_data using PTR_REG.
140 (ffi_go_closure_SYSV): Load cif and fn using PTR_REG.
141
a96d75a4
JH
1422015-01-29 Jack Howarth <howarth.at.gcc@gmail.com>
143
144 PR libffi/64855
145 * testsuite/lib/libffi.exp: Don't set targetabis on darwin.
146
ed4bf691
RH
1472015-01-28 Richard Henderson <rth@redhat.com>
148
1dd63990
RH
149 PR libffi/64779
150 PR libffi/64799
ed4bf691
RH
151 * Merge to upstream commit db1b34b7e1f5e473d17557e454a29933dfecd1af.
152
d9c16466
RO
1532015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
154
155 * testsuite/lib/libffi.exp: Load target-supports.exp.
156 (run-many-tests): Only set targetabis for ia32.
157
039ad4c2
RH
1582015-01-19 Richard Henderson <rth@redhat.com>
159
160 PR libffi/64581
161 * testsuite/lib/libffi.exp (libffi_target_compile): Don't switch
162 to C++ mode when compiling C++ source code.
163
36035d79
RH
1642015-01-19 Richard Henderson <rth@redhat.com>
165
166 * Merge to upstream commit 3ac1610aa33c887ea9b14935208943925714a33e.
167
a9b8c959
RH
1682015-01-19 Richard Henderson <rth@redhat.com>
169
170 PR libffi/64607
171 * testsuite/lib/libffi.exp (libffi-init): Append -L for the
172 just built libstdc++.
173
109c4a7c
DH
1742015-01-15 Dominique d'Humieres <dominiq@lps.ens.fr>
175 Richard Henderson <rth@redhat.com>
176
177 PR libffi/64607
178 * Makefile.am (AM_MAKEFLAGS): Use double quotes on subvariables.
179 * Makefile.in: Rebuilt.
180
58b59d5e
RH
1812015-01-15 Richard Henderson <rth@redhat.com>
182
183 PR libffi/64572
184 * include/ffi.h.in (FFI_TYPE_LAST): Set to COMPLEX only if complex
185 numbers are supported by the backend.
186
b1479ae3
KK
1872015-01-13 Kaz Kojima <kkojima@gcc.gnu.org>
188
189 * configure.host: Remove extra brackets for sh.
190
ff8ebda1
L
1912015-01-13 H.J. Lu <hongjiu.lu@intel.com>
192
193 PR bootstrap/64575
194 * configure.host (TARGET): Set to X86_64 if __x86_64__ is defined.
195
be723d1e
RH
1962015-01-12 Richard Henderson <rth@redhat.com>
197
198 PR libffi/64572
199 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
200 (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.
201
ca46eab7
RH
2022015-01-12 Richard Henderson <rth@redhat.com>
203
204 * src/x86/ffi.c (ffi_raw_call): Fill in frame.
205
b1760f7f
RH
2062015-01-12 Richard Henderson <rth@redhat.com>
207
208 Merge to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16.
209
a699d672
L
2102014-11-21 H.J. Lu <hongjiu.lu@intel.com>
211
212 PR bootstrap/63784
213 * configure: Regenerated.
214
ebf6d33b
FXC
2152014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
216
217 PR target/63610
218 * configure: Regenerate.
219
bb8c2886
ILT
2202014-10-15 Ian Lance Taylor <iant@google.com>
221
222 * configure.ac: If the compiler supports -Qunused-arguments, use
223 it when running the compiler on .s files.
224 * configure: Regenerated.
225
1138382b
JJ
2262014-09-11 Jakub Jelinek <jakub@redhat.com>
227
228 * src/powerpc/linux64.S: Emit .note.GNU-stack even when
229 POWERPC64 is not defined.
230 * src/powerpc/linux64_closure.S: Likewise. Also test _CALL_ELF == 2.
231
f54860ea
UB
2322014-07-21 Uros Bizjak <ubizjak@gmail.com>
233
234 * src/alpha/ffi.c: Do not include stdlib.h.
235 (ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.
236
a03bd005
TS
2372014-07-04 Thomas Schwinge <thomas@codesourcery.com>
238
239 * testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
240 match to dg-runtest's.
241
8ec7c36a
SH
2422014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
243
244 * testsuite/lib/libffi.exp (load_gcc_lib): Register loaded libs.
245
54fde020
BE
2462014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
247
248 Fix current cygwin-64 build problems.
249 * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
250 * src/x86/ffi.c: Add if defined(__CYGWIN__).
251 * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
252 handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
253 Added SEH information. Fixed formatting.
254
f7468577
JJ
2552014-04-22 Jakub Jelinek <jakub@redhat.com>
256
257 PR other/43620
258 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
259 * Makefile.in: Regenerated.
260 * include/Makefile.in: Regenerated.
261 * man/Makefile.in: Regenerated.
262 * testsuite/Makefile.in: Regenerated.
263
5309143d
YZ
2642014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
265
266 * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
267 main CFA reg; update cfi_rel_offset.
268
248d745a
EB
2692014-02-17 Eric Botcazou <ebotcazou@adacore.com>
270
271 PR libffi/60073
272 * src/sparc/v8.S: Assemble only if !SPARC64.
273 * src/sparc/v9.S: Remove obsolete comment.
274 * src/sparc/ffitarget.h (enum ffi_abi): Add FFI_COMPAT_V9.
275 (V8_ABI_P): New macro.
276 (V9_ABI_P): Likewise.
277 (FFI_EXTRA_CIF_FIELDS): Define only if SPARC64.
278 * src/sparc/ffi.c (ffi_prep_args_v8): Compile only if !SPARC64.
279 (ffi_prep_args_v9): Compile only if SPARC64.
280 (ffi_prep_cif_machdep_core): Use V9_ABI_P predicate.
281 (ffi_prep_cif_machdep): Guard access to nfixedargs field.
282 (ffi_prep_cif_machdep_var): Likewise.
283 (ffi_v9_layout_struct): Compile only if SPARC64.
284 (ffi_call): Deal with FFI_V8PLUS and FFI_COMPAT_V9 and fix warnings.
285 (ffi_prep_closure_loc): Use V9_ABI_P and V8_ABI_P predicates.
286 (ffi_closure_sparc_inner_v8): Compile only if !SPARC64.
287 (ffi_closure_sparc_inner_v9): Compile only if SPARC64. Guard access
288 to nfixedargs field.
289
30255340
EB
2902014-02-13 Eric Botcazou <ebotcazou@adacore.com>
291
292 PR libffi/60073
293 * src/sparc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
294 (FFI_EXTRA_CIF_FIELDS): Likewise.
295 (FFI_NATIVE_RAW_API): Move around.
296 * src/sparc/ffi.c (ffi_prep_cif_machdep_core): New function from...
297 (ffi_prep_cif_machdep): ...here. Call ffi_prep_cif_machdep_core.
298 (ffi_prep_cif_machdep_var): New function.
299 (ffi_closure_sparc_inner_v9): Do not pass anonymous FP arguments in
300 FP registers.
301 * doc/libffi.texi (Introduction): Fix inaccuracy.
302
e73d2479
AM
3032013-12-10 Alan Modra <amodra@gmail.com>
304
305 * src/powerpc/ffitarget.h: Import from upstream.
306 * src/powerpc/ffi_powerpc.h: Likewise.
307 * src/powerpc/ffi.c: Likewise.
308 * src/powerpc/ffi_sysv.c: Likewise.
309 * src/powerpc/ffi_linux64.c: Likewise.
310 * src/powerpc/sysv.S: Likewise.
311 * src/powerpc/ppc_closure.S: Likewise.
312 * src/powerpc/linux64.S: Likewise.
313 * src/powerpc/linux64_closure.S: Likewise.
314 * src/types.c: Likewise.
315 * Makefile.am (EXTRA_DIST): Add new src/powerpc files.
316 (nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
317 * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
318 * include/ffi.h.in (ffi_prep_types): Declare.
319 * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
320 * configure: Regenerate.
321 * fficonfig.h.in: Regenerate.
322 * Makefile.in: Regenerate.
323 * man/Makefile.in: Regenerate.
324 * include/Makefile.in: Regenerate.
325 * testsuite/Makefile.in: Regenerate.
326
3521ba8b
AM
3272013-11-18 Alan Modra <amodra@gmail.com>
328
fd4da58c
AM
329 * src/powerpc/ppc_closure.S: Don't bl .Luint128.
330
3521ba8b
AM
331 * src/powerpc/ffitarget.h: Import from upstream.
332 * src/powerpc/ffi.c: Likewise.
333 * src/powerpc/linux64.S: Likewise.
334 * src/powerpc/linux64_closure.S: Likewise.
335 * doc/libffi.texi: Likewise.
336 * testsuite/libffi.call/cls_double_va.c: Likewise.
337 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
338
3cbe17f7
AM
3392013-09-20 Alan Modra <amodra@gmail.com>
340
341 * configure: Regenerate.
342
40b45a6d
AM
3432013-06-25 Alan Modra <amodra@gmail.com>
344
345 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
346 before statements.
347 (ffi_prep_args64): Support little-endian.
348 (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
349 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
350 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
351
1e1ba2d7
DH
3522013-05-22 Dominique d'Humieres <dominiq@lps.ens.fr>
353 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
354
355 PR libffi/56033
356 * testsuite/libffi.call/cls_struct_va1.c (test_fn): Cast resp to
357 ffi_arg *.
358 * testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise.
359 * testsuite/libffi.call/va_1.c (main): Change res to ffi_arg.
360 * testsuite/libffi.call/va_struct1.c (main): Likewise.
361
8280eba0
KT
3622013-03-22 Kai Tietz <ktietz@redhat.com>
363
364 * src/x86/win64.S: Make use of ffi_closure_win64_inner
365 symbol pc-relative.
366
bb78d7c4
DK
3672013-03-07 Dave Korn <dave.korn.cygwin@gmail.com>
368
369 * src/closures.c (is_emutramp_enabled [!FFI_MMAP_EXEC_EMUTRAMP_PAX]):
370 Move default definition outside enclosing #if scope.
371
8f093ea0
AT
3722013-02-06 Andreas Tobler <andreast@fgznet.ch>
373
374 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix case where
375 DOUBLE equal LONGDOUBLE.
376
7b045477
TG
3772013-01-07 Thorsten Glaser <tg@mirbsd.org>
378
379 * testsuite/libffi.call/cls_uchar_va.c,
380 testsuite/libffi.call/cls_ushort_va.c,
381 testsuite/libffi.call/va_1.c: Testsuite fixes.
382
4e70f25f
AS
3832012-12-29 Andreas Schwab <schwab@linux-m68k.org>
384
385 * Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)
386 (STAMP_GENINSRC, STAMP_BUILD_INFO, CLEANFILES)
387 (MAINTAINERCLEANFILES): Define.
388 (all-local, stamp-geninsrc, stamp-build-info): New targets.
389 (doc/libffi.info): Depend on $(STAMP_BUILD_INFO)
390 * configure.ac: Check for modern makeinfo. Add support for
391 --enable-generated-files-in-srcdir.
392 * libffi/mdate-sh: New file.
393 * testsuite/lib/libffi.exp (load_gcc_lib): Load from gcc testsuite
394 lib dir.
395 (libffi-init): Properly set library paths for multilibs and add
396 path to libstdc++.
397 * configure: Regenerate.
398 * aclocal.m4: Regenerate.
399 * Makefile.in: Regenerate.
400 * doc/stamp-vti: Regenerate.
401 * doc/version.texi: Regenerate.
402 * fficonfig.h.in: Regenerate.
403 * include/Makefile.in: Regenerate.
404 * man/Makefile.in: Regenerate.
405 * testsuite/Makefile.in: Regenerate.
406
7054d980
AM
4072012-10-31 Alan Modra <amodra@gmail.com>
408
409 * src/powerpc/linux64_closure.S: Add new ABI support.
410 * src/powerpc/linux64.S: Likewise.
411
b4b575ce
AG
4122012-10-30 Magnus Granberg <zorry@gentoo.org>
413 Pavel Labushev <pavel.labushev@runbox.ru>
414
415 * configure.ac: New options pax_emutramp
416 * configure, fficonfig.h.in: Regenerated
417 * src/closures.c: New function emutramp_enabled_check() and
418 checks.
419
4202012-10-30 Frederick Cheung <frederick.cheung@gmail.com>
421
422 * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
423 lion) and future version.
424 * configure: Rebuild.
425
4262012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
427 Marcus Shawcroft <marcus.shawcroft at arm.com>
428
3521ba8b
AM
429 * README: Add details of aarch64 port.
430 * src/aarch64/ffi.c: New.
431 * src/aarch64/ffitarget.h: Likewise.
432 * src/aarch64/sysv.S: Likewise.
b4b575ce
AG
433 * Makefile.am: Support aarch64.
434 * configure.ac: Support aarch64.
435 * Makefile.in, configure: Rebuilt.
436
4372012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
438 Marcus Shawcroft <marcus.shawcroft at arm.com>
439
3521ba8b
AM
440 * testsuite/lib/libffi.exp: Add support for aarch64.
441 * testsuite/libffi.call/cls_struct_va1.c: New.
442 * testsuite/libffi.call/cls_uchar_va.c: Likewise.
443 * testsuite/libffi.call/cls_uint_va.c: Likewise.
444 * testsuite/libffi.call/cls_ulong_va.c: Likewise.
445 * testsuite/libffi.call/cls_ushort_va.c: Likewise.
446 * testsuite/libffi.call/nested_struct11.c: Likewise.
447 * testsuite/libffi.call/uninitialized.c: Likewise.
448 * testsuite/libffi.call/va_1.c: Likewise.
449 * testsuite/libffi.call/va_struct1.c: Likewise.
450 * testsuite/libffi.call/va_struct2.c: Likewise.
451 * testsuite/libffi.call/va_struct3.c: Likewise.
b4b575ce
AG
452
4532012-10-12 Walter Lee <walt@tilera.com>
454
3521ba8b
AM
455 * Makefile.am: Add TILE-Gx/TILEPro support.
456 * configure.ac: Likewise.
457 * Makefile.in: Regenerate.
458 * configure: Likewise.
459 * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
460 * src/tile: New directory.
461 * src/tile/ffi.c: New file.
462 * src/tile/ffitarget.h: Ditto.
463 * src/tile/tile.S: Ditto.
b4b575ce
AG
464
4652012-10-12 Matthias Klose <doko@ubuntu.com>
466
467 * generate-osx-source-and-headers.py: Normalize whitespace.
468
cbbd536a
DE
4692012-09-14 David Edelsohn <dje.gcc@gmail.com>
470
471 * configure: Regenerated.
472
c5a3fffa
AP
4732012-08-26 Andrew Pinski <apinski@cavium.com>
474
475 PR libffi/53014
476 * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
477 soft-float.
478
aa5d8db0
UB
4792012-08-08 Uros Bizjak <ubizjak@gmail.com>
480
481 * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
482 just return FFI_BAD_ABI when things are wrong.
483
1ff8c79b
UB
4842012-07-18 H.J. Lu <hongjiu.lu@intel.com>
485
486 PR libffi/53982
487 PR libffi/53973
488 * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
489 (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
490
4912012-05-16 H.J. Lu <hongjiu.lu@intel.com>
492
493 * configure: Regenerated.
494
b4b575ce
AG
4952012-05-05 Nicolas Lelong
496
497 * libffi.xcodeproj/project.pbxproj: Fixes.
498 * README: Update for iOS builds.
499
5002012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
501
502 * configure.ac: Add Blackfin/sysv support
503 * Makefile.am: Add Blackfin/sysv support
504 * src/bfin/ffi.c: Add Blackfin/sysv support
505 * src/bfin/ffitarget.h: Add Blackfin/sysv support
506
5072012-04-11 Anthony Green <green@moxielogic.com>
508
509 * Makefile.am (EXTRA_DIST): Add new script.
510 * Makefile.in: Rebuilt.
511
5122012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
513
514 * generate-ios-source-and-headers.py,
515 libffi.xcodeproj/project.pbxproj: Support a Mac static library via
516 Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
517 generation into an Xcode "run script" phase. Include both as
518 Xcode build scripts. Don't always regenerate config files.
519
5202012-04-10 Anthony Green <green@moxielogic.com>
521
522 * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
523
5242012-04-06 Anthony Green <green@moxielogic.com>
525
526 * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
527 * Makefile.in: Rebuilt.
528
5292012-04-06 Mike Lewis <mikelikespie@gmail.com>
530
531 * generate-ios-source-and-headers.py: New file.
532 * libffi.xcodeproj/project.pbxproj: New file.
533 * README: Update instructions on building iOS binary.
534 * build-ios.sh: Delete.
535
5362012-04-06 Anthony Green <green@moxielogic.com>
537
538 * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
539 compilers, then use it.
540
5412012-04-06 H.J. Lu <hongjiu.lu@intel.com>
542
543 * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
544
5452012-04-06 Anthony Green <green@moxielogic.com>
546
547 * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
548 * testsuite/Makefile.in: Rebuilt.
549
5502012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
551
552 * include/ffi.h.in: Add missing trampoline table fields.
553 * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
554 in CNAME.
555 * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
556
5572012-03-29 Peter Rosin <peda@lysator.liu.se>
558
559 * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
560 generation, fix the ENDP label and remove the surplus third arg
561 from the 'lea' insn.
562
5632012-03-29 Peter Rosin <peda@lysator.liu.se>
564
565 * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
566 visible outside the PROC, so that ffi_closure_raw_THISCALL can see
567 it. Also instruct the assembler to add a frame to the function.
568
5692012-03-23 Peter Rosin <peda@lysator.liu.se>
570
571 * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
572 * Makefile.in: Rebuilt.
573 * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
574 to all data exports, when compiling libffi clients using MSVC.
575
5762012-03-29 Peter Rosin <peda@lysator.liu.se>
577
578 * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
579 make it the default for MSVC.
580 (FFI_TYPE_MS_STRUCT): New structure return convention.
581 * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
582 return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
583 instead of an ordinary FFI_TYPE_STRUCT.
584 (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
585 (ffi_call): Likewise.
586 (ffi_prep_incoming_args_SYSV): Likewise.
587 (ffi_raw_call): Likewise.
588 (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
589 * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
590 return a pointer to the result structure in eax and don't pop
591 that pointer from the stack, the caller takes care of it.
592 (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
593 (ffi_closure_raw_SYSV): Likewise.
594
5952012-03-22 Peter Rosin <peda@lysator.liu.se>
596
597 * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
598 assembly version with Intel syntax.
599 * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
600
6012012-03-23 Peter Rosin <peda@lysator.liu.se>
602
603 * testsuite/libffi.call/ffitest.h: Provide abstration of
604 __attribute__((fastcall)) in the form of a __FASTCALL__
605 define. Define it to __fastcall for MSVC.
606 * testsuite/libffi.call/fastthis1_win32.c: Use the above.
607 * testsuite/libffi.call/fastthis2_win32.c: Likewise.
608 * testsuite/libffi.call/fastthis3_win32.c: Likewise.
609 * testsuite/libffi.call/strlen2_win32.c: Likewise.
610 * testsuite/libffi.call/struct1_win32.c: Likewise.
611 * testsuite/libffi.call/struct2_win32.c: Likewise.
612
6132012-03-22 Peter Rosin <peda@lysator.liu.se>
614
615 * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
616 frame on function entry, MASM adds one automatically.
617
6182012-03-22 Peter Rosin <peda@lysator.liu.se>
619
620 * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
621 bits in the MSVC headers.
622
6232012-03-22 Peter Rosin <peda@lysator.liu.se>
624
625 * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
626 with no declarations after statements.
627 * testsuite/libffi.call/cls_16byte.c: Likewise.
628 * testsuite/libffi.call/cls_18byte.c: Likewise.
629 * testsuite/libffi.call/cls_19byte.c: Likewise.
630 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
631 * testsuite/libffi.call/cls_20byte.c: Likewise.
632 * testsuite/libffi.call/cls_20byte1.c: Likewise.
633 * testsuite/libffi.call/cls_24byte.c: Likewise.
634 * testsuite/libffi.call/cls_2byte.c: Likewise.
635 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
636 * testsuite/libffi.call/cls_3byte1.c: Likewise.
637 * testsuite/libffi.call/cls_3byte2.c: Likewise.
638 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
639 * testsuite/libffi.call/cls_4byte.c: Likewise.
640 * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
641 * testsuite/libffi.call/cls_5byte.c: Likewise.
642 * testsuite/libffi.call/cls_64byte.c: Likewise.
643 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
644 * testsuite/libffi.call/cls_6byte.c: Likewise.
645 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
646 * testsuite/libffi.call/cls_7byte.c: Likewise.
647 * testsuite/libffi.call/cls_8byte.c: Likewise.
648 * testsuite/libffi.call/cls_9byte1.c: Likewise.
649 * testsuite/libffi.call/cls_9byte2.c: Likewise.
650 * testsuite/libffi.call/cls_align_double.c: Likewise.
651 * testsuite/libffi.call/cls_align_float.c: Likewise.
652 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
653 * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
654 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
655 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
656 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
657 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
658 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
659 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
660 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
661 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
662 * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
663 * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
664 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
665 * testsuite/libffi.call/huge_struct.c: Likewise.
666 * testsuite/libffi.call/nested_struct.c: Likewise.
667 * testsuite/libffi.call/nested_struct1.c: Likewise.
668 * testsuite/libffi.call/nested_struct10.c: Likewise.
669 * testsuite/libffi.call/nested_struct2.c: Likewise.
670 * testsuite/libffi.call/nested_struct3.c: Likewise.
671 * testsuite/libffi.call/nested_struct4.c: Likewise.
672 * testsuite/libffi.call/nested_struct5.c: Likewise.
673 * testsuite/libffi.call/nested_struct6.c: Likewise.
674 * testsuite/libffi.call/nested_struct7.c: Likewise.
675 * testsuite/libffi.call/nested_struct8.c: Likewise.
676 * testsuite/libffi.call/nested_struct9.c: Likewise.
677 * testsuite/libffi.call/stret_large.c: Likewise.
678 * testsuite/libffi.call/stret_large2.c: Likewise.
679 * testsuite/libffi.call/stret_medium.c: Likewise.
680 * testsuite/libffi.call/stret_medium2.c: Likewise.
681 * testsuite/libffi.call/struct1.c: Likewise.
682 * testsuite/libffi.call/struct1_win32.c: Likewise.
683 * testsuite/libffi.call/struct2.c: Likewise.
684 * testsuite/libffi.call/struct2_win32.c: Likewise.
685 * testsuite/libffi.call/struct3.c: Likewise.
686 * testsuite/libffi.call/struct4.c: Likewise.
687 * testsuite/libffi.call/struct5.c: Likewise.
688 * testsuite/libffi.call/struct6.c: Likewise.
689 * testsuite/libffi.call/struct7.c: Likewise.
690 * testsuite/libffi.call/struct8.c: Likewise.
691 * testsuite/libffi.call/struct9.c: Likewise.
692 * testsuite/libffi.call/testclosure.c: Likewise.
693
6942012-03-21 Peter Rosin <peda@lysator.liu.se>
695
696 * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
697 printing doubles (%lf is for long doubles).
698 (main): Likewise.
699
7002012-03-21 Peter Rosin <peda@lysator.liu.se>
701
702 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
703 (set_ld_library_path_env_vars): Add the library search dir to PATH
704 (and save PATH for later).
705 (restore_ld_library_path_env_vars): Restore PATH.
706
7072012-03-20 Peter Rosin <peda@lysator.liu.se>
708
709 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
710 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
711 visible outside the PROC, so that ffi_closure_THISCALL can see it.
712
7132012-03-20 Peter Rosin <peda@lysator.liu.se>
714
715 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
716 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
717 visible outside the PROC, so that ffi_closure_THISCALL can see it.
718
7192012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
720
721 * src/m68k/ffi.c: Add MINT support.
722 * src/m68k/sysv.S: Ditto.
723
7242012-03-19 chennam <csit@axway.com>
725
726 * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
727 support.
728
7292012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
730
731 * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
732 ffi_call_VFP().
733 (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
734 ffi_closure_VFP.
735 * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
736
efe2a4b7
PB
7372012-04-02 Peter Bergner <bergner@vnet.ibm.com>
738
739 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
740 Silence casting pointer to integer of different size warning.
741 Delete goto to previously deleted label.
742 (ffi_call): Silence possibly undefined warning.
743 (ffi_closure_helper_SYSV): Declare variable type.
744
b4b575ce
AG
7452012-04-02 Peter Rosin <peda@lysator.liu.se>
746
747 * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
748 value in the Intel version as is already done for the AT&T version.
749 (ffi_closure_SYSV): Likewise.
750 (ffi_closure_raw_SYSV): Likewise.
751 (ffi_closure_STDCALL): Likewise.
752
60f9021b
KK
7532012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
754
755 * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
756 just return FFI_BAD_ABI when things are wrong.
757 * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
758
e5552514
DE
7592012-03-09 David Edelsohn <dje.gcc@gmail.com>
760
761 * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
762 change to return value of ffi_closure_helper_DARWIN and load type
763 from return type.
764
34fa7690 7652012-03-03 H.J. Lu <hongjiu.lu@intel.com>
2c2a780f 766
34fa7690
AG
767 * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
768 long.
769 (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
770 (ffi_closure_unix64_inner): Cast return pointer to unsigned long
771 first.
772
773 * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
774 (ffi_arg): Set to unsigned long long for x32.
775 (ffi_sarg): Set to long long for x32.
2c2a780f 776
34fa7690 7772012-03-03 H.J. Lu <hongjiu.lu@intel.com>
ffc81ae2 778
34fa7690 779 * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
ffc81ae2 780
34fa7690 7812012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
d86c2d94 782
34fa7690
AG
783 * configure.ac: Add -no-undefined for both 32- and 64-bit x86
784 windows-like hosts.
785 * configure: Rebuilt.
d86c2d94 786
6adb7308
AG
7872012-02-27 Mikael Pettersson <mikpe@it.uu.se>
788
789 PR libffi/52223
790 * Makefile.am (FLAGS_TO_PASS): Define.
791 * Makefile.in: Regenerate.
792
34fa7690 7932012-02-23 Anthony Green <green@moxielogic.com>
a0dfc1fe 794
34fa7690
AG
795 * src/*/ffitarget.h: Ensure that users never include ffitarget.h
796 directly.
a0dfc1fe 797
6adb7308
AG
7982012-02-23 Kai Tietz <ktietz@redhat.com>
799
800 PR libffi/52221
801 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
802 prototype.
803 (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
804 thiscall-convention.
805 (ffi_raw_call): Use ffi_prep_args_raw.
806 * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
807 implementation for stub.
808
1e98f62d
KT
8092012-02-10 Kai Tietz <ktietz@redhat.com>
810
811 * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
812 windows target.
813 * configure: Regenerated.
34fa7690 814
893f4301
KT
8152012-02-08 Kai Tietz <ktietz@redhat.com>
816
817 * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
818 also FFI_THISCALL.
819 * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
820 (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
821 (ffi_prep_closure_loc): Add FFI_THISCALL support.
822 * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
823 * src/x86/win32.S (ffi_closure_THISCALL): New closure code
824 for thiscall-calling convention.
825 * testsuite/libffi.call/closure_thiscall.c: New test.
826
9b850dd9
KT
8272012-01-28 Kai Tietz <ktietz@redhat.com>
828
829 * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
830 argument to prototype for specify calling-convention.
831 (ffi_call): Add support for stdcall/thiscall convention.
832 (ffi_prep_args): Likewise.
833 (ffi_raw_call): Likewise.
834 * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
835 FFI_FASTCALL.
836 * src/x86/win32.S (_ffi_call_win32): Add support for
837 fastcall/thiscall calling-convention calls.
838 * testsuite/libffi.call/fastthis1_win32.c: New test.
839 * testsuite/libffi.call/fastthis2_win32.c: New test.
840 * testsuite/libffi.call/fastthis3_win32.c: New test.
841 * testsuite/libffi.call/strlen2_win32.c: New test.
842 * testsuite/libffi.call/many2_win32.c: New test.
843 * testsuite/libffi.call/struct1_win32.c: New test.
844 * testsuite/libffi.call/struct2_win32.c: New test.
845
34fa7690
AG
8462012-01-23 Uros Bizjak <ubizjak@gmail.com>
847
848 * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
849
8502012-01-23 Anthony Green <green@moxielogic.com>
851 Chris Young <cdyoung@ntlworld.com>
852
853 * configure.ac: Add Amiga support.
854 * configure: Rebuilt.
855
8562012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
857
858 * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
859
c1d5e723
AS
8602012-01-23 Andreas Schwab <schwab@linux-m68k.org>
861
862 * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
863 mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
864
01ddefeb
JJ
8652012-01-19 Jakub Jelinek <jakub@redhat.com>
866
867 PR rtl-optimization/48496
868 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
869
51a9af17
RO
8702012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
871
872 * configure.ac (i?86-*-*): Set TARGET to X86_64.
873 * configure: Regenerate.
874
3b21983d
AP
8752011-12-07 Andrew Pinski <apinski@cavium.com>
876
69090788 877 PR libffi/50051
3b21983d
AP
878 * src/mips/n32.S: Add ".set mips4".
879
c6084f68
AT
8802011-11-21 Andreas Tobler <andreast@fgznet.ch>
881
882 * configure: Regenerate.
883
34fa7690
AG
8842011-11-12 David Gilbert <david.gilbert@linaro.org>
885
886 * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
887 man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
888 man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
889 src/cris/ffi.c, src/prep_cif.c,
890 testsuite/libffi.call/cls_double_va.c,
891 testsuite/libffi.call/cls_longdouble_va.c,
892 testsuite/libffi.call/float_va.c: Many changes to support variadic
893 function calls.
894
8952011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
896
897 * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
898 src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
899 softfloat powerpc variants.
900
9012011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
902
903 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
904 * configure: Rebuilt.
905
9062011-11-12 Timothy Wall <twall@users.sf.net>
907
908 * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
909 alignment of 4 for wince on ARM.
910
9112011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
912 Anthony Green <green@moxielogic.com>
913
914 * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
915 instructions (not available on some cores, like the PPC440).
916
9172011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
918
919 * m4/ax_enable_builddir: Change from string comparison to numeric
920 comparison for wc output.
921 * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
922 X 10.7.
923 * configure: Rebuilt.
924
9252011-11-12 Anthony Green <green@moxielogic.com>
926
927 * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
928 files with debug info.
929 * Makefile.in: Rebuilt.
930
9312011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
932
933 * README: Update list of supported OpenBSD systems.
934
9352011-11-12 Anthony Green <green@moxielogic.com>
936
937 * libtool-version: Update.
938 * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
939 FFI_DEBUG.
940 (libffi_la_SOURCES): Remove src/debug.c
941 (EXTRA_DIST): Add src/debug.c
942 * Makefile.in: Rebuilt.
943 * README: Update for 3.0.11.
944
8b01bdb0
RH
9452011-11-10 Richard Henderson <rth@redhat.com>
946
947 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
948 * configure, aclocal.m4: Rebuild.
949
b90c2c4c
IS
9502011-09-04 Iain Sandoe <iains@gcc.gnu.org>
951
952 PR libffi/49594
953 * src/powerpc/darwin_closure.S (stubs): Make the stub binding
954 helper reference track the architecture pointer size.
955
4ac9cf2b
AH
9562011-08-25 Andrew Haley <aph@redhat.com>
957
958 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
959 instructions.
960 * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
961
4d4a9b72
AH
9622011-07-11 Andrew Haley <aph@redhat.com>
963
3521ba8b 964 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
4d4a9b72 965
902233e0
RO
9662011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
967
968 * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
969 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
970
2ac88e57
RO
9712011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
972
973 PR libffi/46660
974 * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
975 mips-sgi-irix6*.
976 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
977
652de9ff
RO
9782011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
979
980 * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
981 PRId8 instead of %hhu, %hhd.
982 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
983 PRIu8): Define.
984 [__sgi__] (PRId8, PRIu8): Define.
985
9d9305ea
RO
9862011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
987
988 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
989 Define.
990 Use them to handle ELF vs. ECOFF differences.
991 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
992
34fa7690
AG
9932011-03-30 Timothy Wall <twall@users.sf.net>
994
995 * src/powerpc/darwin.S: Fix unknown FDE encoding.
996 * src/powerpc/darwin_closure.S: ditto.
997
9982011-02-25 Anthony Green <green@moxielogic.com>
999
1000 * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
1001 32-bit ABIs.
1002
10032011-02-15 Anthony Green <green@moxielogic.com>
1004
1005 * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
1006 * configure: Rebuilt.
1007
029c8f3e
RW
10082011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1009
1010 * configure: Regenerate.
1011
34fa7690
AG
10122011-02-13 Anthony Green <green@moxielogic.com>
1013
1014 * include/ffi_common.h (UNLIKELY, LIKELY): Define.
1015 * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
1016 * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
1017
1018 * src/prep_cif.c (initialize_aggregate): Convert assertion into
1019 FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
1020
1021 * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1022 just return FFI_BAD_ABI when things are wrong.
1023 * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
1024 * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
1025 * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
1026 * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
1027 * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
1028
10292011-02-11 Anthony Green <green@moxielogic.com>
1030
1031 * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1032 just return FFI_BAD_ABI when things are wrong.
1033
30255340 10342011-02-11 Eric Botcazou <ebotcazou@adacore.com>
6adb7308
AG
1035
1036 * src/sparc/v9.S (STACKFRAME): Bump to 176.
1037
34fa7690
AG
10382011-02-09 Stuart Shelton <srcshelton@gmail.com>
1039
1040 http://bugs.gentoo.org/show_bug.cgi?id=286911
1041 * src/mips/ffitarget.h: Clean up error messages.
1042 * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
1043 ffi_raw*.
1044 * include/ffi.h.in: Add pragma for SGI compiler.
1045
10462011-02-09 Anthony Green <green@moxielogic.com>
1047
1048 * configure.ac: Add powerpc64-*-darwin* support.
1049
10502011-02-09 Anthony Green <green@moxielogic.com>
1051
1052 * README: Mention Interix.
1053
10542011-02-09 Jonathan Callen <abcd@gentoo.org>
1055
1056 * configure.ac: Add Interix to win32/cygwin/mingw case.
1057 * configure: Ditto.
1058 * src/closures.c: Treat Interix like Cygwin, instead of as a
1059 generic win32.
1060
10612011-02-09 Anthony Green <green@moxielogic.com>
1062
1063 * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
1064 * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
1065 * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
1066 (ffi_prep_closure_loc): Check for bad ABI.
1067 * src/prep_cif.c (UNLIKELY, LIKELY): Define.
1068 (initialize_aggregate): Check for bad types.
1069
10702011-02-09 Landon Fuller <landonf@plausible.coop>
1071
1072 * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
1073 src/arm/trampoline.S.
1074 (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
1075 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
1076 * src/arm/ffi.c (ffi_trampoline_table)
1077 (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
1078 (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
1079 (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
1080 (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
1081 Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
1082 (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
1083 separately.
1084 * src/arm/sysv.S: Handle Apple iOS host.
1085 * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
1086 * build-ios.sh: New file.
1087 * fficonfig.h.in, configure, Makefile.in: Rebuilt.
1088 * README: Mention ARM iOS.
1089
10902011-02-08 Oren Held <orenhe@il.ibm.com>
1091
1092 * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
1093 redefinition of mallinfo on HP-UX.
1094
10952011-02-08 Ginn Chen <ginn.chen@oracle.com>
1096
1097 * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
1098 aggregate return ABI. Flush cache.
1099 (ffi_prep_closure_loc): Flush cache.
1100
11012011-02-11 Anthony Green <green@moxielogic.com>
1102
1103 From Tom Honermann <tom.honermann@oracle.com>:
1104 * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
1105 AIX. Declare .ffi_prep_args. Insert nops after branch
1106 instructions so that the AIX linker can insert TOC reload
1107 instructions.
1108 * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
1109
11102011-02-08 Ed <ed@kdtc.net>
1111
1112 * src/powerpc/asm.h: Fix grammar nit in comment.
1113
11142011-02-08 Uli Link <ul.mcamafia@linkitup.de>
1115
1116 * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
1117
1bbb4741
RO
11182011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1119
1120 PR libffi/46661
1121 * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
1122 uintptr_t first.
1123 * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
1124
34fa7690
AG
11252011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
1126
1127 * configure.ac: Fix x86 test for pc related relocs.
1128 * configure: Rebuilt.
1129
899fb23d
JS
11302011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1131
1132 * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
1133 Handle case when CPU variant does not have long double support.
1134 * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
1135 and cores with soft floating point.
1136
38db4d09
JS
11372011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1138
1139 * configure.ac: Add mips*-*-rtems* support.
1140 * configure: Regenerate.
1141 * src/mips/ffitarget.h: Ensure needed constants are available
1142 for targets which do not have sgidefs.h.
1143
214dab66
DK
11442011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
1145
1146 PR target/40125
1147 * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
1148 * configure: Regenerate.
1149
3a9f56e8
IS
11502010-12-18 Iain Sandoe <iains@gcc.gnu.org>
1151
1152 PR libffi/29152
1153 PR libffi/42378
1154 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
1155 update comments.
1156 * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
1157 (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
1158 * src/powerpc/darwin.S: Provide Darwin64 implementation,
1159 update comments.
1160 * src/powerpc/ffi_darwin.c: Likewise.
38be4072 1161
b62305b0
RO
11622010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1163
1164 * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
1165 backslashes.
1166 (libffi_cv_as_string_pseudo_op): Likewise.
1167 * configure: Regenerate.
1168
fac68065
CLT
11692010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
1170
1171 * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
1172 (ffi_closure_VFP): Same.
1173 (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
1174 directive.
1175
ce9315a9
RO
11762010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1177
1178 * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
1179 (PRIuPTR): Define.
1180
e12bcbf4
RH
11812010-11-29 Richard Henderson <rth@redhat.com>
1182 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1183
1184 * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
1185 (.eh_frame): Use FDE_ENCODING.
1186 (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
1187
34fa7690
AG
11882010-11-22 Jacek Caban <jacek@codeweavers.com>
1189
1190 * configure.ac: Check for symbol underscores on mingw-w64.
1191 * configure: Rebuilt.
1192 * src/x86/win64.S: Correctly access extern symbols in respect to
1193 underscores.
1194
ed2a97eb
RO
11952010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1196
1197 * testsuite/lib/libffi-dg.exp: Rename ...
1198 * testsuite/lib/libffi.exp: ... to this.
1199 * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
1200 * libffi/testsuite/libffi.special/special.exp: Likewise.
1201
46e0720d
CLT
12022010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
1203
1204 * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
1205 code, new parameter, and return value. Update comments.
1206 (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
1207 call to layout_vfp_args().
1208 (ffi_call_SYSV): Update declaration.
1209 (ffi_call_VFP): New declaration.
1210 (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
1211 when ABI is FFI_VFP.
1212 (ffi_closure_VFP): New declaration.
1213 (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
1214 ffi_prep_incoming_args_SYSV().
1215 (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
1216 case handling.
1217 (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
1218 construction under VFP hard-float.
1219 (rec_vfp_type_p): New function.
1220 (vfp_type_p): Same.
1221 (place_vfp_arg): Same.
1222 (layout_vfp_args): Same.
1223 * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
1224 based on __ARM_PCS_VFP.
1225 (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
1226 fields.
1227 (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
1228 (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
1229 * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
1230 direct call. Move function pointer load upwards.
1231 (ffi_call_VFP): New function.
1232 (ffi_closure_VFP): Same.
1233
1234 * testsuite/lib/libffi-dg.exp (check-flags): New function.
1235 (dg-skip-if): New function.
1236 * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
1237 and compiler options include -mfloat-abi=hard.
1238 * testsuite/libffi.call/cls_longdouble_va.c: Same.
1239
731fc5f0
JJ
12402010-10-01 Jakub Jelinek <jakub@redhat.com>
1241
1242 PR libffi/45677
1243 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
1244 a multiple of 8.
1245 * testsuite/libffi.call/many2.c: New test.
1246
2cd86866
MW
12472010-08-20 Mark Wielaard <mjw@redhat.com>
1248
1249 * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
1250 returns NULL.
1251
87d072e0
AT
12522010-08-09 Andreas Tobler <andreast@fgznet.ch>
1253
1254 * configure.ac: Add target powerpc64-*-freebsd*.
1255 * configure: Regenerate.
1256 * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
1257 -mlong-double-128 only to linux targets.
1258 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1259 * testsuite/libffi.call/cls_longdouble.c: Likewise.
1260 * testsuite/libffi.call/huge_struct.c: Likewise.
1261
34fa7690
AG
12622010-08-05 Dan Witte <dwitte@mozilla.com>
1263
3521ba8b
AM
1264 * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
1265 debug CRT when --enable-debug is given.
1266 * configure.ac: Define it.
1267 * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
34fa7690
AG
1268
12692010-08-04 Dan Witte <dwitte@mozilla.com>
1270
1271 * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
1272 platforms.
1273 * src/x86/ffi.c: Remove redundant ifdef checks.
1274 * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
1275 for X86_ANY so return value space doesn't get added twice.
1276
12772010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
1278
1279 * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
1280
12812010-07-22 Dan Witte <dwitte@mozilla.com>
1282
1283 * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
1284 * src/prep_cif.c: Fix ABI assertion.
3521ba8b 1285 * src/cris/ffi.c: Ditto.
34fa7690 1286
07b6d9ef
EP
12872010-07-10 Evan Phoenix <evan@fallingsnow.net>
1288
1289 * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
1290
3d420bdf
DH
12912010-07-07 Dan Horák <dan@danny.cz>
1292
1293 * include/ffi.h.in: Protect #define with #ifndef.
1294 * src/powerpc/ffitarget.h: Ditto.
1295 * src/s390/ffitarget.h: Ditto.
1296 * src/sparc/ffitarget.h: Ditto.
1297
4138b429
NR
12982010-07-07 Neil Roberts <neil@linux.intel.com>
1299
1300 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
1301 16-bytes.
1302
f0ee5e3e
JJ
13032010-07-02 Jakub Jelinek <jakub@redhat.com>
1304
1305 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
1306 * Makefile.in: Regenerated.
1307
d416abb4
RO
13082010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1309
1310 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
1311 output, too.
1312 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
1313 (libffi_cv_as_string_pseudo_op): Check for .string.
1314 * configure: Regenerate.
1315 * fficonfig.h.in: Regenerate.
1316 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
1317
34fa7690
AG
13182010-05-11 Dan Witte <dwitte@mozilla.com>
1319
1320 * doc/libffi.tex: Document previous change.
1321
13222010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
1323
1324 * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
1325
0af23729
MK
13262010-05-05 Michael Kohler <michaelkohler@live.com>
1327
1328 * src/dlmalloc.c (dlfree): Fix spelling.
1329 * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
1330 * configure.ac: Ditto.
1331 * configure: Rebuilt.
1332
7862d496
DW
13332010-04-13 Dan Witte <dwitte@mozilla.com>
1334
1335 * msvcc.sh: Build with -W3 instead of -Wall.
1336 * src/powerpc/ffi_darwin.c: Remove build warnings.
1337 * src/x86/ffi.c: Ditto.
1338 * src/x86/ffitarget.h: Ditto.
1339
49f6cd1f
DW
13402010-04-12 Dan Witte <dwitte@mozilla.com>
1341 Walter Meinl <wuno@lsvw.de>
1342
1343 * configure.ac: Add OS/2 support.
1344 * configure: Rebuilt.
1345 * src/closures.c: Ditto.
1346 * src/dlmalloc.c: Ditto.
1347 * src/x86/win32.S: Ditto.
1348
60d3aec4
JJ
13492010-04-07 Jakub Jelinek <jakub@redhat.com>
1350
be94d007 1351 * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
60d3aec4 1352
4d9e8446
RW
13532010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1354
1355 * Makefile.in: Regenerate.
1356 * aclocal.m4: Regenerate.
1357 * include/Makefile.in: Regenerate.
1358 * man/Makefile.in: Regenerate.
1359 * testsuite/Makefile.in: Regenerate.
1360
34fa7690
AG
13612010-03-30 Dan Witte <dwitte@mozilla.com>
1362
1363 * msvcc.sh: Disable build warnings.
1364 * README (tested): Clarify windows build procedure.
1365
f4b130bb
RO
13662010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1367
1368 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
1369 * configure: Regenerate.
1370 * fficonfig.h.in: Regenerate.
1371 * libffi/src/x86/unix64.S (.eh_frame)
1372 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
1373
4736718a
MK
13742010-03-14 Matthias Klose <doko@ubuntu.com>
1375
1376 * src/x86/ffi64.c: Fix typo in comment.
1377 * src/x86/ffi.c: Use /* ... */ comment style.
1378
22faf004
RO
13792010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1380
1381 * doc/libffi.texi (The Closure API): Fix typo.
1382 * doc/libffi.info: Remove.
1383
694d3cfd
MK
13842010-02-15 Matthias Klose <doko@ubuntu.com>
1385
1386 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
1387 __ARM_ARCH_7EM__.
1388
3ac097a5
AG
13892010-01-15 Anthony Green <green@redhat.com>
1390
1391 * README: Add notes on building with Microsoft Visual C++.
1392
13932010-01-15 Daniel Witte <dwitte@mozilla.com>
1394
1395 * msvcc.sh: New file.
1396
1397 * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
1398 * src/x86/ffi.c: Tweak function declaration and remove excess
1399 parens.
1400 * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
1401 ffi_closure.
1402
1403 * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
1404 function ffi_call_win32 on X86_WIN32.
1405 * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
1406 (ffi_call_STDCALL): Remove.
1407
1408 * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
1409 to ffi_prep_cif_machdep for x86.
1410 * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
1411
fc28e435
OK
14122010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
1413
1414 * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
38be4072 1415 Sun Studio compiler compatibility.
fc28e435 1416
f2e994f3
CI
14172010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
1418
1419 * doc/libffi.texi: Add closure example.
1420
ec168029
RO
14212010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1422
1423 PR libffi/40701
1424 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
1425 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
1426 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
1427 alpha*-dec-osf*.
1428 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
1429 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1430 * testsuite/libffi.call/return_ll1.c: Likewise.
1431 * testsuite/libffi.call/stret_medium2.c: Likewise.
1432 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
1433 MAP_FAILED to char *.
1434
86d1b9d1
RO
14352010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1436
1437 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
1438
78542dee
AG
14392009-12-31 Anthony Green <green@redhat.com>
1440
1441 * README: Update for libffi 3.0.9.
1442
50117ecb
MK
14432009-12-27 Matthias Klose <doko@ubuntu.com>
1444
1445 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
1446 appropriate.
1447 * configure: Rebuilt.
1448
bc472c00
AG
14492009-12-26 Anthony Green <green@redhat.com>
1450
1451 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
1452 avr32*-*-*.
1453 * testsuite/libffi.call/cls_double_va.c: Ditto.
1454
d7e9538e
AT
14552009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1456
1457 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
1458 and inttypes.h.
1459 * testsuite/libffi.special/unwindtest.cc: Ditto.
1460
cb14fcb8
AT
14612009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1462
1463 * configure.ac: Add amd64-*-openbsd*.
1464 * configure: Rebuilt.
1465 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
1466 openbsd programs with -lpthread.
1467
1098bcf8
AG
14682009-12-26 Anthony Green <green@redhat.com>
1469
1470 * testsuite/libffi.call/cls_double_va.c,
1471 testsuite/libffi.call/cls_longdouble.c,
1472 testsuite/libffi.call/cls_longdouble_va.c,
1473 testsuite/libffi.call/cls_pointer.c,
1474 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
1475 mips*-*-* and arm*-*-*.
1476 * testsuite/libffi.call/cls_align_longdouble_split.c,
1477 testsuite/libffi.call/cls_align_longdouble_split2.c,
1478 testsuite/libffi.call/stret_medium2.c,
1479 testsuite/libffi.call/stret_medium.c,
1480 testsuite/libffi.call/stret_large.c,
1481 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
1482
a761df3d
AG
14832009-12-31 Kay Tietz <ktietz70@googlemail.com>
1484
1485 * testsuite/libffi.call/ffitest.h,
1486 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
1487 definitions.
1488
14892009-12-31 Carlo Bramini <carlo.bramix@libero.it>
1490
1491 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
1492 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
1493 * configure: Rebuilt.
1494 * Makefile.in: Rebuilt.
1495
493278be
AG
14962009-12-31 Anthony Green <green@redhat.com>
1497 Blake Chaffin.
1498
1499 * testsuite/libffi.call/huge_struct.c: New test case from Blake
1500 Chaffin @ Apple.
1501
72b79d39
DE
15022009-12-28 David Edelsohn <edelsohn@gnu.org>
1503
1504 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1505 local variables.
1506 (aix_adjust_aggregate_sizes): New function.
1507 (ffi_prep_cif_machdep): Call it.
1508
99fba2c4
AT
15092009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1510
1511 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1512 * configure: Regenerate.
1513 * fficonfig.h.in: Likewise.
1514 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1515 Solaris/x86.
1516
302486f4
AS
15172009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1518
1519 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1520 when a float arguments is passed in memory.
1521 (ffi_closure_helper_SYSV): Mark general registers as used up when
1522 a 64bit or soft-float long double argument is passed in memory.
1523
b8f38e89 15242009-12-25 Matthias Klose <doko@ubuntu.com>
2c57b161
MK
1525
1526 * man/ffi_call.3: Fix #include in examples.
1527 * doc/libffi.texi: Add dircategory.
1528
c4205f77
FE
15292009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1530
1531 * include/ffi.h.in: Placed '__GNUC__' ifdef around
1532 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1533 IRIX MIPSPro c99.
1534 * include/ffi_common.h: Added '__sgi' define to non
1535 '__attribute__((__mode__()))' integer typedefs.
302486f4 1536 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
c4205f77
FE
1537 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1538 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1539 FFI_LONGDOUBLE support and alignment(N32 only).
1540 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1541 fixed non '__attribute__((__mode__()))' integer typedefs.
1542 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1543 since they are Linux/GNU Assembler specific.
1544
124f60ab
BS
15452009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1546
1547 * configure.ac, Makefile.am, src/avr32/ffi.c,
1548 src/avr32/ffitarget.h,
1549 src/avr32/sysv.S: Add AVR32 port.
1550 * configure, Makefile.in: Rebuilt.
1551
938a483f
AT
15522009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1553
1554 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1555 * configure: Regenerate.
1556
2516c7cd
JDA
15572009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1558
1559 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1560
f93a40ea
JDA
15612009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1562
1563 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1564 type on HP-UX.
1565
6adb7308
AG
15662012-02-13 Kai Tietz <ktietz@redhat.com>
1567
1568 PR libffi/52221
1569 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1570 support for X86_WIN32.
1571 (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1572
fb01d970
EB
15732009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1574
1575 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1576 double' arguments.
1577
2ea54b81
EB
15782009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1579
1580 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1581
dcb00f2e
RO
15822009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1583
1584 PR libffi/40700
1585 * src/closures.c [X86_64 && __sun__ && __svr4__]
1586 (FFI_MMAP_EXEC_WRIT): Define.
1587
6c6859a1
DD
15882009-12-08 David Daney <ddaney@caviumnetworks.com>
1589
1590 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1591 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1592 * testsuite/libffi.call/stret_large.c: Same.
1593 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1594 * testsuite/libffi.call/stret_large2.c: Same.
1595 * testsuite/libffi.call/stret_medium2.c: Same.
1596
9e7e65a0
DE
15972009-12-07 David Edelsohn <edelsohn@gnu.org>
1598
1599 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1600 typo.
1601
5d7fc941
DE
16022009-12-05 David Edelsohn <edelsohn@gnu.org>
1603
1604 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1605 code.
9e7e65a0 1606 * src/powerpc/aix_closure.S: Same.
6c6859a1 1607
43e02a8a
RW
16082009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1609
1610 * Makefile.in: Regenerate.
1611 * configure: Regenerate.
1612 * include/Makefile.in: Regenerate.
1613 * man/Makefile.in: Regenerate.
1614 * testsuite/Makefile.in: Regenerate.
1615
2f2d7386
DE
16162009-12-04 David Edelsohn <edelsohn@gnu.org>
1617
1618 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
302486f4 1619 linux64_closure.S.
6c6859a1 1620
6078f50a
UB
16212009-12-04 Uros Bizjak <ubizjak@gmail.com>
1622
1623 PR libffi/41908
1624 * src/x86/ffi64.c (classify_argument): Update from
1625 gcc/config/i386/i386.c.
1626 (ffi_closure_unix64_inner): Do not use the address of two consecutive
1627 SSE registers directly.
1628 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1629 for x86_64 linux targets.
1630
0c552622
DE
16312009-12-04 David Edelsohn <edelsohn@gnu.org>
1632
1633 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1634 pfr for long double split between fpr13 and stack.
1635
afb5e622
DE
16362009-12-03 David Edelsohn <edelsohn@gnu.org>
1637
1638 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1639 fparg_count twice for long double.
1640
be311914
DE
16412009-12-03 David Edelsohn <edelsohn@gnu.org>
1642
1643 PR libffi/42243
1644 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1645
a27c4040
UB
16462009-12-03 Uros Bizjak <ubizjak@gmail.com>
1647
1648 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
ddf6c187 1649 Remove xfails for x86 linux targets.
a27c4040 1650
7837c247
DE
16512009-12-02 David Edelsohn <edelsohn@gnu.org>
1652
1653 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
1654 case.
1655
16562009-12-01 David Edelsohn <edelsohn@gnu.org>
6d518d3b
DE
1657
1658 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
1659 register usage. Call ffi_prep_args directly. Add long double
1660 return value support.
1661 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
1662 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
1663 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
1664 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
1665 mode.
1666 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
1667 into case.
1668 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
1669 Allocate result area between params and FPRs.
1670
5751cf6f
DE
16712009-11-30 David Edelsohn <edelsohn@gnu.org>
1672
1673 PR target/35484
1674 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
1675 AIX64.
1676 * src/powerpc/aix.S: Implement AIX64 version.
1677 * src/powerpc/aix_closure.S: Implement AIX64 version.
1678 (ffi_closure_ASM): Use extsb, lha and displament addresses.
1679 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
1680 support.
1681 (ffi_prep_cif_machdep): Same.
1682 (ffi_call): Same.
1683 (ffi_closure_helper_DARWIN): Same.
1684
2265f646
AT
16852009-11-02 Andreas Tobler <a.tobler@schweiz.org>
1686
1687 PR libffi/41908
1688 * testsuite/libffi.call/testclosure.c: New test.
1689
ef6ed66d
KT
16902009-09-28 Kai Tietz <kai.tietz@onevision.com>
1691
1692 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
1693 assembly version use of ___chkstk.
1694
29d1370a
MK
16952009-09-23 Matthias Klose <doko@ubuntu.com>
1696
1697 PR libffi/40242, PR libffi/41443
1698 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
1699 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
1700 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
1701 Change the conditionals to __SOFTFP__ || __ARM_EABI__
1702 for -mfloat-abi=softfp to work.
1703
987ce557
LR
17042009-09-17 Loren J. Rittle <ljrittle@acm.org>
1705
1706 PR testsuite/32843 (strikes again)
1707 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
1708 enable proper extension on char and short.
1709
5cbf8c8d
DD
17102009-09-15 David Daney <ddaney@caviumnetworks.com>
1711
1712 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
1713 handling for FFI_TYPE_POINTER.
1714 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
1715 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
1716 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
1717 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
1718 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
1719 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
1720 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
1721 structure and pointer returns.
1722 (ffi_closure_N32): Add handling for pointer returns.
1723 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
1724 calc_n32_return_struct_flags): Handle soft-float.
1725 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
1726 (ffi_call_N32): Declare proper argument types.
1727 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
1728 soft-float.
1729
df58e648
RW
17302009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1731
1732 * configure.ac (AC_PREREQ): Bump to 2.64.
1733
5213506e
RW
17342009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1735
70fa0efa
RW
1736 * Makefile.am (install-html, install-pdf): Remove.
1737 * Makefile.in: Regenerate.
1738
5213506e
RW
1739 * Makefile.in: Regenerate.
1740 * aclocal.m4: Regenerate.
1741 * configure: Regenerate.
1742 * fficonfig.h.in: Regenerate.
1743 * include/Makefile.in: Regenerate.
1744 * man/Makefile.in: Regenerate.
1745 * testsuite/Makefile.in: Regenerate.
1746
34fa7690
AG
17472011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1748
1749 * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
1750 * configure: Rebuilt.
1751
1b3b24c2
RW
17522009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1753
1754 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1755
723512ba
DK
17562009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
1757
1758 PR libffi/40807
1759 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
1760 return types for X86_WIN32.
1761 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
1762 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
1763 _ffi_closure_STDCALL): Likewise.
1764
1765 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
1766 (dlmmap, dlmunmap): Also use these functions on Cygwin.
1767
33cde516
RS
17682009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1769
1770 PR testsuite/40699
1771 PR testsuite/40707
1772 PR testsuite/40709
1773 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
1774 2009-06-30 commits.
1775
edd3a61c
RS
17762009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1777
1778 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
1779 to "" before adding paths. (This reinstates an assignment that
1780 was removed by my 2009-06-30 commit, but changes the initial
1781 value from "." to "".)
1782
33d1a550
L
17832009-07-01 H.J. Lu <hongjiu.lu@intel.com>
1784
1785 PR testsuite/40601
1786 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
1787 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
1788 empty.
1789
b30bfd40
RS
17902009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1791
1792 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
1793 to ld_library_path. Use add_path. Add just find_libgcc_s
1794 to ld_library_path, not every libgcc multilib directory.
1795
6975f17f
WL
17962009-06-16 Wim Lewis <wiml@hhhh.org>
1797
1798 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
1799 supposed to be callee-saved.
1800 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
1801 return buffer for odd-size structs.
1802
7bbcc286
AT
18032009-06-16 Andreas Tobler <a.tobler@schweiz.org>
1804
1805 PR libffi/40444
1806 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
1807 allow_stack_execute for Darwin.
1808
fe673cc9
AH
18092009-06-16 Andrew Haley <aph@redhat.com>
1810
1811 * configure.ac (TARGETDIR): Add missing blank lines.
1812 * configure: Regenerate.
1813
3bc462c2
AH
18142009-06-16 Andrew Haley <aph@redhat.com>
1815
1816 * testsuite/libffi.call/cls_align_sint64.c,
1817 testsuite/libffi.call/cls_align_uint64.c,
1818 testsuite/libffi.call/cls_longdouble_va.c,
1819 testsuite/libffi.call/cls_ulonglong.c,
1820 testsuite/libffi.call/return_ll1.c,
1821 testsuite/libffi.call/stret_medium2.c: Fix printf format
1822 specifiers.
1823 * testsuite/libffi.call/ffitest.h,
1824 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
1825
081b044b
AH
18262009-06-15 Andrew Haley <aph@redhat.com>
1827
1828 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
1829 * testsuite/libffi.call/err_bad_abi.c: Likewise.
302486f4 1830
062b8279
AH
18312009-06-12 Andrew Haley <aph@redhat.com>
1832
1833 * Makefile.am: Remove info_TEXINFOS.
1834
18352009-06-12 Andrew Haley <aph@redhat.com>
1836
1837 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
1838 testsuite/libffi.call/cls_align_uint64.c,
1839 testsuite/libffi.call/cls_ulonglong.c,
1840 testsuite/libffi.call/return_ll1.c,
1841 testsuite/libffi.call/stret_medium2.c: Fix printf format
1842 specifiers.
1843 testsuite/libffi.special/unwindtest.cc: include stdint.h.
1844
18452009-06-11 Timothy Wall <twall@users.sf.net>
1846
1847 * Makefile.am,
302486f4
AS
1848 configure.ac,
1849 include/ffi.h.in,
1850 include/ffi_common.h,
1851 src/closures.c,
1852 src/dlmalloc.c,
1853 src/x86/ffi.c,
1854 src/x86/ffitarget.h,
1855 src/x86/win64.S (new),
062b8279 1856 README: Added win64 support (mingw or MSVC)
302486f4
AS
1857 * Makefile.in,
1858 include/Makefile.in,
1859 man/Makefile.in,
1860 testsuite/Makefile.in,
1861 configure,
1862 aclocal.m4: Regenerated
1863 * ltcf-c.sh: properly escape cygwin/w32 path
1864 * man/ffi_call.3: Clarify size requirements for return value.
1865 * src/x86/ffi64.c: Fix filename in comment.
1866 * src/x86/win32.S: Remove unused extern.
1867
1868 * testsuite/libffi.call/closure_fn0.c,
1869 testsuite/libffi.call/closure_fn1.c,
1870 testsuite/libffi.call/closure_fn2.c,
1871 testsuite/libffi.call/closure_fn3.c,
1872 testsuite/libffi.call/closure_fn4.c,
1873 testsuite/libffi.call/closure_fn5.c,
1874 testsuite/libffi.call/closure_fn6.c,
062b8279
AH
1875 testsuite/libffi.call/closure_stdcall.c,
1876 testsuite/libffi.call/cls_12byte.c,
1877 testsuite/libffi.call/cls_16byte.c,
1878 testsuite/libffi.call/cls_18byte.c,
1879 testsuite/libffi.call/cls_19byte.c,
1880 testsuite/libffi.call/cls_1_1byte.c,
1881 testsuite/libffi.call/cls_20byte.c,
1882 testsuite/libffi.call/cls_20byte1.c,
1883 testsuite/libffi.call/cls_24byte.c,
1884 testsuite/libffi.call/cls_2byte.c,
1885 testsuite/libffi.call/cls_3_1byte.c,
1886 testsuite/libffi.call/cls_3byte1.c,
3521ba8b
AM
1887 testsuite/libffi.call/cls_3byte2.c,
1888 testsuite/libffi.call/cls_4_1byte.c,
1889 testsuite/libffi.call/cls_4byte.c,
1890 testsuite/libffi.call/cls_5_1_byte.c,
1891 testsuite/libffi.call/cls_5byte.c,
1892 testsuite/libffi.call/cls_64byte.c,
1893 testsuite/libffi.call/cls_6_1_byte.c,
1894 testsuite/libffi.call/cls_6byte.c,
1895 testsuite/libffi.call/cls_7_1_byte.c,
1896 testsuite/libffi.call/cls_7byte.c,
1897 testsuite/libffi.call/cls_8byte.c,
1898 testsuite/libffi.call/cls_9byte1.c,
1899 testsuite/libffi.call/cls_9byte2.c,
1900 testsuite/libffi.call/cls_align_double.c,
1901 testsuite/libffi.call/cls_align_float.c,
1902 testsuite/libffi.call/cls_align_longdouble.c,
1903 testsuite/libffi.call/cls_align_longdouble_split.c,
1904 testsuite/libffi.call/cls_align_longdouble_split2.c,
1905 testsuite/libffi.call/cls_align_pointer.c,
1906 testsuite/libffi.call/cls_align_sint16.c,
1907 testsuite/libffi.call/cls_align_sint32.c,
1908 testsuite/libffi.call/cls_align_sint64.c,
1909 testsuite/libffi.call/cls_align_uint16.c,
1910 testsuite/libffi.call/cls_align_uint32.c,
1911 testsuite/libffi.call/cls_align_uint64.c,
1912 testsuite/libffi.call/cls_dbls_struct.c,
1913 testsuite/libffi.call/cls_double.c,
1914 testsuite/libffi.call/cls_double_va.c,
1915 testsuite/libffi.call/cls_float.c,
1916 testsuite/libffi.call/cls_longdouble.c,
1917 testsuite/libffi.call/cls_longdouble_va.c,
1918 testsuite/libffi.call/cls_multi_schar.c,
1919 testsuite/libffi.call/cls_multi_sshort.c,
1920 testsuite/libffi.call/cls_multi_sshortchar.c,
1921 testsuite/libffi.call/cls_multi_uchar.c,
1922 testsuite/libffi.call/cls_multi_ushort.c,
1923 testsuite/libffi.call/cls_multi_ushortchar.c,
1924 testsuite/libffi.call/cls_pointer.c,
1925 testsuite/libffi.call/cls_pointer_stack.c,
1926 testsuite/libffi.call/cls_schar.c,
1927 testsuite/libffi.call/cls_sint.c,
1928 testsuite/libffi.call/cls_sshort.c,
1929 testsuite/libffi.call/cls_uchar.c,
1930 testsuite/libffi.call/cls_uint.c,
1931 testsuite/libffi.call/cls_ulonglong.c,
1932 testsuite/libffi.call/cls_ushort.c,
1933 testsuite/libffi.call/err_bad_abi.c,
1934 testsuite/libffi.call/err_bad_typedef.c,
1935 testsuite/libffi.call/float2.c,
1936 testsuite/libffi.call/huge_struct.c,
1937 testsuite/libffi.call/nested_struct.c,
1938 testsuite/libffi.call/nested_struct1.c,
1939 testsuite/libffi.call/nested_struct10.c,
1940 testsuite/libffi.call/nested_struct2.c,
1941 testsuite/libffi.call/nested_struct3.c,
1942 testsuite/libffi.call/nested_struct4.c,
1943 testsuite/libffi.call/nested_struct5.c,
1944 testsuite/libffi.call/nested_struct6.c,
1945 testsuite/libffi.call/nested_struct7.c,
1946 testsuite/libffi.call/nested_struct8.c,
1947 testsuite/libffi.call/nested_struct9.c,
1948 testsuite/libffi.call/problem1.c,
1949 testsuite/libffi.call/return_ldl.c,
1950 testsuite/libffi.call/return_ll1.c,
1951 testsuite/libffi.call/stret_large.c,
1952 testsuite/libffi.call/stret_large2.c,
1953 testsuite/libffi.call/stret_medium.c,
1954 testsuite/libffi.call/stret_medium2.c,
302486f4
AS
1955 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
1956 of checking for MMAP. Use intptr_t instead of long casts.
062b8279 1957
f43def61
KK
19582009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1959
1960 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
1961 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
1962 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
1963
6aa0b218
AH
19642009-06-09 Andrew Haley <aph@redhat.com>
1965
1966 * src/x86/freebsd.S: Add missing file.
1967
b7b857bb
AH
19682009-06-08 Andrew Haley <aph@redhat.com>
1969
1970 Import from libffi 3.0.8:
1971
1972 * doc/libffi.texi: New file.
1973 * doc/libffi.info: Likewise.
1974 * doc/stamp-vti: Likewise.
1975 * man/Makefile.am: New file.
1976 * man/ffi_call.3: New file.
1977
1978 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
1979 src/dlmalloc.c.
1980 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
1981
1982 * configure.ac: Bump version to 3.0.8.
1983 parisc*-*-linux*: Add.
1984 i386-*-freebsd* | i386-*-openbsd*: Add.
1985 powerpc-*-beos*: Add.
1986 AM_CONDITIONAL X86_FREEBSD: Add.
1987 AC_CONFIG_FILES: Add man/Makefile.
1988
1989 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
1990
491e6ad1
AH
19912009-06-08 Andrew Haley <aph@redhat.com>
1992
1993 * README: Import from libffi 3.0.8.
1994
3b5b1a73
AH
19952009-06-08 Andrew Haley <aph@redhat.com>
1996
1997 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
1998 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
1999 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
2000 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
2001
2002 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
2003 * testsuite/libffi.call/stret_medium.c: Likewise.
2004 * testsuite/libffi.call/stret_large2.c: Likewise.
2005 * testsuite/libffi.call/stret_large.c: Likewise.
2006
20072008-12-26 Timothy Wall <twall@users.sf.net>
2008
302486f4
AS
2009 * testsuite/libffi.call/cls_longdouble.c,
2010 testsuite/libffi.call/cls_longdouble_va.c,
2011 testsuite/libffi.call/cls_align_longdouble.c,
2012 testsuite/libffi.call/cls_align_longdouble_split.c,
2013 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
2014 failures on x86_64 cygwin/mingw.
3b5b1a73
AH
2015
20162008-12-22 Timothy Wall <twall@users.sf.net>
2017
302486f4
AS
2018 * testsuite/libffi.call/closure_fn0.c,
2019 testsuite/libffi.call/closure_fn1.c,
2020 testsuite/libffi.call/closure_fn2.c,
2021 testsuite/libffi.call/closure_fn3.c,
2022 testsuite/libffi.call/closure_fn4.c,
2023 testsuite/libffi.call/closure_fn5.c,
2024 testsuite/libffi.call/closure_fn6.c,
2025 testsuite/libffi.call/closure_loc_fn0.c,
2026 testsuite/libffi.call/closure_stdcall.c,
2027 testsuite/libffi.call/cls_align_pointer.c,
2028 testsuite/libffi.call/cls_pointer.c,
2029 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
2030 pointer to integer (intptr_t).
2031 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
3b5b1a73
AH
2032
20332008-07-24 Anthony Green <green@redhat.com>
2034
302486f4
AS
2035 * testsuite/libffi.call/cls_dbls_struct.c,
2036 testsuite/libffi.call/cls_double_va.c,
2037 testsuite/libffi.call/cls_longdouble.c,
2038 testsuite/libffi.call/cls_longdouble_va.c,
2039 testsuite/libffi.call/cls_pointer.c,
2040 testsuite/libffi.call/cls_pointer_stack.c,
2041 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
2042 compiler warnings.
3b5b1a73
AH
2043
20442008-03-04 Anthony Green <green@redhat.com>
302486f4
AS
2045 Blake Chaffin
2046 hos@tamanegi.org
2047
2048 * testsuite/libffi.call/cls_align_longdouble_split2.c
2049 testsuite/libffi.call/cls_align_longdouble_split.c
2050 testsuite/libffi.call/cls_dbls_struct.c
2051 testsuite/libffi.call/cls_double_va.c
2052 testsuite/libffi.call/cls_longdouble.c
2053 testsuite/libffi.call/cls_longdouble_va.c
2054 testsuite/libffi.call/cls_pointer.c
2055 testsuite/libffi.call/cls_pointer_stack.c
2056 testsuite/libffi.call/err_bad_abi.c
2057 testsuite/libffi.call/err_bad_typedef.c
2058 testsuite/libffi.call/stret_large2.c
2059 testsuite/libffi.call/stret_large.c
2060 testsuite/libffi.call/stret_medium2.c
2061 testsuite/libffi.call/stret_medium.c: New tests from Apple.
3b5b1a73 2062
56faec5e
AH
20632009-06-05 Andrew Haley <aph@redhat.com>
2064
2065 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
2066 libffi.
2067
90409e4c
AH
20682009-06-04 Andrew Haley <aph@redhat.com>
2069
2070 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
2071 stdcall changes.
2072
b1393750 20732008-02-26 Anthony Green <green@redhat.com>
302486f4 2074 Thomas Heller <theller@ctypes.org>
b1393750 2075
302486f4
AS
2076 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
2077 comment.
b1393750
AH
2078
20792008-02-03 Timothy Wall <twall@users.sf.net>
2080
302486f4
AS
2081 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
2082 offset based on code pointer, not data pointer.
b1393750
AH
2083
20842008-01-31 Timothy Wall <twall@users.sf.net>
2085
302486f4
AS
2086 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
2087 closures.
2088 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
2089 closures.
2090 * src/x86/win32.S: Add assembly for stdcall closure.
2091 * src/x86/ffi.c: Initialize stdcall closure trampoline.
b1393750 2092
96baa251
AH
20932009-06-04 Andrew Haley <aph@redhat.com>
2094
2095 * include/ffi.h.in: Change void (*)() to void (*)(void).
2096 * src/x86/ffi.c: Likewise.
2097
7446546a
AH
20982009-06-04 Andrew Haley <aph@redhat.com>
2099
2100 * src/powerpc/ppc_closure.S: Insert licence header.
2101 * src/powerpc/linux64_closure.S: Likewise.
2102 * src/m68k/sysv.S: Likewise.
2103
2104 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
2105 * src/powerpc/ffi.c: Likewise.
2106 * src/powerpc/ffi_darwin.c: Likewise.
2107 * src/m32r/ffi.c: Likewise.
2108 * src/sh64/ffi.c: Likewise.
2109 * src/x86/ffi64.c: Likewise.
2110 * src/alpha/ffi.c: Likewise.
2111 * src/alpha/osf.S: Likewise.
2112 * src/frv/ffi.c: Likewise.
2113 * src/s390/ffi.c: Likewise.
2114 * src/pa/ffi.c: Likewise.
2115 * src/pa/hpux32.S: Likewise.
2116 * src/ia64/unix.S: Likewise.
2117 * src/ia64/ffi.c: Likewise.
2118 * src/sparc/ffi.c: Likewise.
2119 * src/mips/ffi.c: Likewise.
2120 * src/sh/ffi.c: Likewise.
2121
21222008-02-15 David Daney <ddaney@avtrex.com>
2123
302486f4
AS
2124 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
2125 Define (conditionally), and use it to include cachectl.h.
2126 (ffi_prep_closure_loc): Fix cache flushing.
2127 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
7446546a 2128
5f933ef0
AH
21292009-06-04 Andrew Haley <aph@redhat.com>
2130
2131 include/ffi.h.in,
2132 src/arm/ffitarget.h,
2133 src/arm/ffi.c,
2134 src/arm/sysv.S,
2135 src/powerpc/ffitarget.h,
2136 src/closures.c,
2137 src/sh64/ffitarget.h,
2138 src/sh64/ffi.c,
2139 src/sh64/sysv.S,
2140 src/types.c,
2141 src/x86/ffi64.c,
2142 src/x86/ffitarget.h,
2143 src/x86/win32.S,
2144 src/x86/darwin.S,
2145 src/x86/ffi.c,
2146 src/x86/sysv.S,
2147 src/x86/unix64.S,
2148 src/alpha/ffitarget.h,
2149 src/alpha/ffi.c,
2150 src/alpha/osf.S,
2151 src/m68k/ffitarget.h,
2152 src/frv/ffitarget.h,
2153 src/frv/ffi.c,
2154 src/s390/ffitarget.h,
2155 src/s390/sysv.S,
2156 src/cris/ffitarget.h,
2157 src/pa/linux.S,
2158 src/pa/ffitarget.h,
2159 src/pa/ffi.c,
2160 src/raw_api.c,
2161 src/ia64/ffitarget.h,
2162 src/ia64/unix.S,
2163 src/ia64/ffi.c,
2164 src/ia64/ia64_flags.h,
2165 src/java_raw_api.c,
2166 src/debug.c,
2167 src/sparc/v9.S,
2168 src/sparc/ffitarget.h,
2169 src/sparc/ffi.c,
2170 src/sparc/v8.S,
2171 src/mips/ffitarget.h,
2172 src/mips/n32.S,
2173 src/mips/o32.S,
2174 src/mips/ffi.c,
2175 src/prep_cif.c,
2176 src/sh/ffitarget.h,
2177 src/sh/ffi.c,
2178 src/sh/sysv.S: Update license text.
2179
84c40c4a
DK
21802009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2181
2182 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
2183 (.eh_frame): Add FDE for it.
2184
8353cd27
DK
21852009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2186
2187 * configure.ac: Also check if assembler supports pc-relative
2188 relocs on X86_WIN32 targets.
2189 * configure: Regenerate.
2190 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
2191 (_ffi_call_SYSV): Add missing function type symbol .def and
2192 add EH markup labels.
2193 (_ffi_call_STDCALL): Likewise.
2194 (_ffi_closure_SYSV): Likewise.
2195 (_ffi_closure_raw_SYSV): Likewise.
2196 (.eh_frame): Add hand-crafted EH data.
2197
748086b7
JJ
21982009-04-09 Jakub Jelinek <jakub@redhat.com>
2199
2200 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
2201 version 3 of the GNU General Public License and to point readers
2202 at the COPYING3 file and the FSF's license web page.
2203 * testsuite/libffi.call/call.exp: Likewise.
2204 * testsuite/libffi.special/special.exp: Likewise.
2205
7a9d3fe8
RW
22062009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2207
2208 * configure: Regenerate.
2209
4d3d4078
RO
22102008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2211
2212 PR libffi/26048
2213 * configure.ac (HAVE_AS_X86_PCREL): New test.
2214 * configure: Regenerate.
2215 * fficonfig.h.in: Regenerate.
2216 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
2217 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
2218 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
2219 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2220 * src/x86/unix64.S (.Lstore_table): Move to .text section.
2221 (.Lload_table): Likewise.
2222 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2223
baafc534
RW
22242008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2225
2226 * configure: Regenerate.
2227
da17a98b
EB
22282008-11-21 Eric Botcazou <ebotcazou@adacore.com>
2229
2230 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
2231 signed/unsigned int8/16 return values.
2232 * src/sparc/v8.S (ffi_call_v8): Likewise.
2233 (ffi_closure_v8): Likewise.
2234
80c6c2cb 22352008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
302486f4 2236 Steve Ellcey <sje@cup.hp.com>
80c6c2cb
PG
2237
2238 * configure: Regenerate for new libtool.
2239 * Makefile.in: Ditto.
2240 * include/Makefile.in: Ditto.
2241 * aclocal.m4: Ditto.
2242
d7f68a67
AT
22432008-08-25 Andreas Tobler <a.tobler@schweiz.org>
2244
2245 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
2246 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
2247 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
2248 Adjust copyright notice.
2249 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
2250 register or two register to use for FFI_SYSV structs.
2251 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
2252 (ffi_closure_helper_SYSV): Fix the return type for
2253 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
2254 Adjust copyright notice.
2255
130f4c50
KK
22562008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
2257
2258 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
2259 int.
2260
18c04407
RW
22612008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2262
2263 * configure: Regenerate.
2264 * include/Makefile.in: Regenerate.
2265 * testsuite/Makefile.in: Regenerate.
2266
cd985f66
JM
22672008-06-07 Joseph Myers <joseph@codesourcery.com>
2268
2269 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
2270 powerpc-*-beos*): Remove.
2271 * configure: Regenerate.
2272
7afa92c5
JB
22732008-05-09 Julian Brown <julian@codesourcery.com>
2274
2275 * Makefile.am (LTLDFLAGS): New.
2276 (libffi_la_LDFLAGS): Use above.
2277 * Makefile.in: Regenerate.
2278
deb984e6
PB
22792008-04-18 Paolo Bonzini <bonzini@gnu.org>
2280
2281 PR bootstrap/35457
2282 * aclocal.m4: Regenerate.
2283 * configure: Regenerate.
2284
3e9608a5
KK
22852008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
2286
2287 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
2288 * src/sh64/sysv.S: Likewise.
2289
feb51530
MK
22902008-03-26 Daniel Jacobowitz <dan@debian.org>
2291
2292 * src/arm/sysv.S: Fix ARM comment marker.
2293
22942008-03-26 Jakub Jelinek <jakub@redhat.com>
2295
2296 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
2297 * src/s390/sysv.S: Likewise.
2298 * src/powerpc/ppc_closure.S: Likewise.
2299 * src/powerpc/sysv.S: Likewise.
2300 * src/x86/unix64.S: Likewise.
2301 * src/x86/sysv.S: Likewise.
2302 * src/sparc/v8.S: Likewise.
2303 * src/sparc/v9.S: Likewise.
2304 * src/m68k/sysv.S: Likewise.
2305 * src/arm/sysv.S: Likewise.
2306
38d24731
RW
23072008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2308
2309 * aclocal.m4: Regenerate.
2310 * configure: Likewise.
2311 * Makefile.in: Likewise.
2312 * include/Makefile.in: Likewise.
2313 * testsuite/Makefile.in: Likewise.
2314
2e250fa2
BK
23152008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
2316 Andreas Tobler <a.tobler@schweiz.org>
2317
2318 * configure.ac: Add amd64-*-freebsd* target.
2319 * configure: Regenerate.
2320
7f92e242
L
23212008-01-30 H.J. Lu <hongjiu.lu@intel.com>
2322
2323 PR libffi/34612
2324 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
2325 returning struct.
2326
2327 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
2328 tests.
2329
95d4f544
DE
23302008-01-24 David Edelsohn <edelsohn@gnu.org>
2331
2332 * configure: Regenerate.
2333
79ca8fc0
AT
23342008-01-06 Andreas Tobler <a.tobler@schweiz.org>
2335
2336 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
2337
d7b07cc7
AT
23382008-01-05 Andreas Tobler <a.tobler@schweiz.org>
2339
2340 PR testsuite/32843
2341 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
2342 signed/unsigned int8/16 for X86_DARWIN.
2343 Updated copyright info.
2344 Handle one and two byte structs with special cif->flags.
2345 * src/x86/ffitarget.h: Add special types for one and two byte structs.
2346 Updated copyright info.
2347 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
2348 sysv.S
2349 Remove code to pop args from the stack after call.
2350 Special-case signed/unsigned for int8/16, one and two byte structs.
2351 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2352 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2353 FFI_TYPE_SINT32.
2354 Updated copyright info.
2355
c94ae2e4
DD
23562007-12-08 David Daney <ddaney@avtrex.com>
2357
302486f4 2358 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
c94ae2e4
DD
2359 SUBU, add with ADDU and use smaller code sequences.
2360
3875b6d7 23612007-12-07 David Daney <ddaney@avtrex.com>
44be66a1 2362
3875b6d7
DD
2363 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
2364 type.
2365
4c42b3d8
DD
23662007-12-06 David Daney <ddaney@avtrex.com>
2367
2368 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
2369 defined.
2370 (ffi_java_raw): New typedef.
2371 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
2372 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
2373 ffi_java_raw.
2374 (ffi_java_raw_closure) : Same.
2375 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
2376 parameter types.
2377 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
2378 FFI_SIZEOF_JAVA_RAW.
2379 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
2380 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
2381 sizeof(ffi_java_raw) for alignment calculations.
2382 (ffi_java_ptrarray_to_raw): Same.
2383 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
302486f4 2384 if FFI_SIZEOF_JAVA_RAW == 4.
4c42b3d8
DD
2385 (ffi_java_raw_to_rvalue): Same.
2386 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
2387 (ffi_java_translate_args): Same.
2388 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
2389 parameter types.
2390 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
2391
3ef50b62
DD
23922007-12-06 David Daney <ddaney@avtrex.com>
2393
302486f4 2394 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
3ef50b62
DD
2395 pointer values.
2396
16287148
AT
23972007-12-01 Andreas Tobler <a.tobler@schweiz.org>
2398
2399 PR libffi/31937
2400 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
2401 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
2402 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
2403 set the NUM_FPR_ARG_REGISTERS according to.
2404 Add support for potential soft-float support under hard-float
2405 architecture.
2406 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
2407 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
2408 to the FFI_LINUX_SOFT_FLOAT ABI.
2409 (ffi_prep_cif_machdep): Likewise.
2410 (ffi_closure_helper_SYSV): Likewise.
2411 * src/powerpc/ppc_closure.S: Make sure not to store float/double
2412 on archs where __NO_FPRS__ is true.
2413 Add FFI_TYPE_UINT128 support.
2414 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
2415 Adjust copyright notice.
2416
a4b7c9cd
AT
24172007-11-25 Andreas Tobler <a.tobler@schweiz.org>
2418
2419 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
2420 * include/ffi_common.h: ... here.
2421 Update copyright.
2422
e84296c6
AT
24232007-11-17 Andreas Tobler <a.tobler@schweiz.org>
2424
2425 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
2426 * src/powerpc/linux64.S: Likewise.
2427 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
2428 * testsuite/libffi.call/return_ldl.c: New test.
2429
cb642590
AH
24302007-09-04 <aph@redhat.com>
2431
2432 * src/arm/sysv.S (UNWIND): New.
2433 (Whole file): Conditionally compile unwinder directives.
2434 * src/arm/sysv.S: Add unwinder directives.
2435
2436 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
2437 Only treat r0 as a struct address if we're actually returning a
2438 struct by address.
2439 Only copy the bytes that are actually within a struct.
2440 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
2441 is returned in r0, not passed by address.
2442 (ffi_call): Allocate a word-sized temporary for the case where
2443 a composite is returned in r0.
2444 (ffi_prep_incoming_args_SYSV): Align as necessary.
2445
24462007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
2447
302486f4 2448 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
cb642590
AH
2449 directly using the sys_cacheflush syscall.
2450
24512007-07-27 Andrew Haley <aph@redhat.com>
2452
2453 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
2454
8d5c5e35
MR
24552007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
2456
2457 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
2458 * configure.ac: Likewise.
2459 * Makefile.in: Regenerate.
2460 * include/Makefile.in: Likewise.
2461 * testsuite/Makefile.in: Likewise.
2462 * configure: Likewise.
2463
787b0d19
DD
24642007-08-24 David Daney <ddaney@avtrex.com>
2465
2466 * testsuite/libffi.call/return_sl.c: New test.
2467
dfbb3e36
DD
24682007-08-10 David Daney <ddaney@avtrex.com>
2469
2470 * testsuite/libffi.call/cls_multi_ushort.c,
2471 testsuite/libffi.call/cls_align_uint16.c,
2472 testsuite/libffi.call/nested_struct1.c,
2473 testsuite/libffi.call/nested_struct3.c,
2474 testsuite/libffi.call/cls_7_1_byte.c,
2475 testsuite/libffi.call/nested_struct5.c,
2476 testsuite/libffi.call/cls_double.c,
2477 testsuite/libffi.call/nested_struct7.c,
2478 testsuite/libffi.call/cls_sint.c,
2479 testsuite/libffi.call/nested_struct9.c,
2480 testsuite/libffi.call/cls_20byte1.c,
2481 testsuite/libffi.call/cls_multi_sshortchar.c,
2482 testsuite/libffi.call/cls_align_sint64.c,
2483 testsuite/libffi.call/cls_3byte2.c,
2484 testsuite/libffi.call/cls_multi_schar.c,
2485 testsuite/libffi.call/cls_multi_uchar.c,
2486 testsuite/libffi.call/cls_19byte.c,
2487 testsuite/libffi.call/cls_9byte1.c,
2488 testsuite/libffi.call/cls_align_float.c,
2489 testsuite/libffi.call/closure_fn1.c,
2490 testsuite/libffi.call/problem1.c,
2491 testsuite/libffi.call/closure_fn3.c,
2492 testsuite/libffi.call/cls_sshort.c,
2493 testsuite/libffi.call/closure_fn5.c,
2494 testsuite/libffi.call/cls_align_double.c,
2495 testsuite/libffi.call/nested_struct.c,
2496 testsuite/libffi.call/cls_2byte.c,
2497 testsuite/libffi.call/nested_struct10.c,
2498 testsuite/libffi.call/cls_4byte.c,
2499 testsuite/libffi.call/cls_6byte.c,
2500 testsuite/libffi.call/cls_8byte.c,
2501 testsuite/libffi.call/cls_multi_sshort.c,
2502 testsuite/libffi.call/cls_align_sint16.c,
2503 testsuite/libffi.call/cls_align_uint32.c,
2504 testsuite/libffi.call/cls_20byte.c,
2505 testsuite/libffi.call/cls_float.c,
2506 testsuite/libffi.call/nested_struct2.c,
2507 testsuite/libffi.call/cls_5_1_byte.c,
2508 testsuite/libffi.call/nested_struct4.c,
2509 testsuite/libffi.call/cls_24byte.c,
2510 testsuite/libffi.call/nested_struct6.c,
2511 testsuite/libffi.call/cls_64byte.c,
2512 testsuite/libffi.call/nested_struct8.c,
2513 testsuite/libffi.call/cls_uint.c,
2514 testsuite/libffi.call/cls_multi_ushortchar.c,
2515 testsuite/libffi.call/cls_schar.c,
2516 testsuite/libffi.call/cls_uchar.c,
2517 testsuite/libffi.call/cls_align_uint64.c,
2518 testsuite/libffi.call/cls_ulonglong.c,
2519 testsuite/libffi.call/cls_align_longdouble.c,
2520 testsuite/libffi.call/cls_1_1byte.c,
2521 testsuite/libffi.call/cls_12byte.c,
2522 testsuite/libffi.call/cls_3_1byte.c,
2523 testsuite/libffi.call/cls_3byte1.c,
2524 testsuite/libffi.call/cls_4_1byte.c,
2525 testsuite/libffi.call/cls_6_1_byte.c,
2526 testsuite/libffi.call/cls_16byte.c,
2527 testsuite/libffi.call/cls_18byte.c,
2528 testsuite/libffi.call/closure_fn0.c,
2529 testsuite/libffi.call/cls_9byte2.c,
2530 testsuite/libffi.call/closure_fn2.c,
2531 testsuite/libffi.call/closure_fn4.c,
2532 testsuite/libffi.call/cls_ushort.c,
2533 testsuite/libffi.call/closure_fn6.c,
2534 testsuite/libffi.call/cls_5byte.c,
2535 testsuite/libffi.call/cls_align_pointer.c,
2536 testsuite/libffi.call/cls_7byte.c,
2537 testsuite/libffi.call/cls_align_sint32.c,
2538 testsuite/libffi.special/unwindtest_ffi_call.cc,
2539 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2540
89d9d98a
DD
25412007-08-10 David Daney <ddaney@avtrex.com>
2542
2543 PR libffi/28313
2544 * configure.ac: Don't treat mips64 as a special case.
2545 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2546 * configure: Regenerate
2547 * Makefile.in: Ditto.
2548 * fficonfig.h.in: Ditto.
2549 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2550 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2551 (FFI_DEFAULT_ABI): Set for n64 case.
2552 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2553 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2554 (ffi_closure_N32): New function.
2555 (.eh_frame): New section
2556 * src/mips/o32.S: Clean up comments.
2557 (ffi_closure_O32): Pass ffi_closure parameter in $12.
2558 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2559 _MIPS_SIM == _ABIN32 throughout.
2560 (FFI_MIPS_STOP_HERE): New, use in place of
2561 ffi_stop_here.
2562 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2563 to support n32/n64 ABIs.
2564 (calc_n32_struct_flags): Rewrite.
2565 (calc_n32_return_struct_flags): Remove unused variable. Reverse
2566 position of flag bits.
2567 (ffi_prep_cif_machdep): Rewrite n32 portion.
2568 (ffi_call): Enable for n64. Add special handling for small structure
2569 return values.
2570 (ffi_prep_closure_loc): Add n32 and n64 support.
2571 (ffi_closure_mips_inner_O32): Add cast to silence warning.
2572 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2573
d23869d4
DD
25742007-08-08 David Daney <ddaney@avtrex.com>
2575
2576 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2577 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2578 specifiers.
2579 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
2580 * testsuite/libffi.call/cls_sint.c (main): Ditto.
2581 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
2582 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2583 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2584 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
2585 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
2586 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
2587 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
2588 * testsuite/libffi.call/return_fl3.c (main): Ditto.
2589 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
2590 * testsuite/libffi.call/nested_struct.c (main): Ditto.
2591 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
2592 * testsuite/libffi.call/return_ll1.c (main): Ditto.
2593 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
2594 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2595 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2596 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
2597 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
2598 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
2599 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
2600 * testsuite/libffi.call/cls_uint.c (main): Ditto.
2601 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
2602 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
2603 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
2604 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2605 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
2606 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
2607 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
2608 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
2609 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2610
536e0a8f
AH
26112007-08-07 Andrew Haley <aph@redhat.com>
2612
2613 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2614 checkin.
2615
7665c9be
AH
26162007-08-06 Andrew Haley <aph@redhat.com>
2617
2618 PR testsuite/32843
2619 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2620 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2621 FFI_TYPE_SINT32.
2622
58e11497
DD
26232007-08-02 David Daney <ddaney@avtrex.com>
2624
2625 * testsuite/libffi.call/return_ul.c (main): Define return type as
2626 ffi_arg. Use proper printf conversion specifier.
302486f4 2627
387cfbba
AH
26282007-07-30 Andrew Haley <aph@redhat.com>
2629
2630 PR testsuite/32843
2631 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2632 signed/unsigned int8/16.
2633 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2634 Use a jump table.
2635 Remove code to pop args from the stack after call.
2636 Special-case signed/unsigned int8/16.
2637 * testsuite/libffi.call/return_sc.c (main): Revert.
2638
0ee0208e
RG
26392007-07-26 Richard Guenther <rguenther@suse.de>
2640
2641 PR testsuite/32843
2642 * testsuite/libffi.call/return_sc.c (main): Verify call
2643 result as signed char, not ffi_arg.
2644
04a49983
RO
26452007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2646
2647 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
2648 * configure: Regenerate.
2649
433e6a8c
DD
26502007-07-11 David Daney <ddaney@avtrex.com>
2651
2652 * src/mips/ffi.c: Don't include sys/cachectl.h.
2653 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
2654 cacheflush().
2655
0959e2b8
AH
26562007-05-18 Aurelien Jarno <aurelien@aurel32.net>
2657
2658 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
2659 from (ffi_prep_closure): ... this.
2660 (FFI_INIT_TRAMPOLINE): Adjust.
2661
26622005-12-31 Phil Blundell <pb@reciva.com>
2663
302486f4
AS
2664 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
2665 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
0959e2b8
AH
2666 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
2667 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2668 (FFI_CLOSURES): Enable closure support.
2669
26702007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
2671
302486f4
AS
2672 * testsuite/libffi.call/cls_multi_ushort.c,
2673 testsuite/libffi.call/cls_align_uint16.c,
2674 testsuite/libffi.call/nested_struct1.c,
2675 testsuite/libffi.call/nested_struct3.c,
2676 testsuite/libffi.call/cls_7_1_byte.c,
2677 testsuite/libffi.call/cls_double.c,
2678 testsuite/libffi.call/nested_struct5.c,
2679 testsuite/libffi.call/nested_struct7.c,
2680 testsuite/libffi.call/cls_sint.c,
2681 testsuite/libffi.call/nested_struct9.c,
2682 testsuite/libffi.call/cls_20byte1.c,
2683 testsuite/libffi.call/cls_multi_sshortchar.c,
2684 testsuite/libffi.call/cls_align_sint64.c,
2685 testsuite/libffi.call/cls_3byte2.c,
2686 testsuite/libffi.call/cls_multi_schar.c,
2687 testsuite/libffi.call/cls_multi_uchar.c,
2688 testsuite/libffi.call/cls_19byte.c,
2689 testsuite/libffi.call/cls_9byte1.c,
2690 testsuite/libffi.call/cls_align_float.c,
2691 testsuite/libffi.call/closure_fn1.c,
2692 testsuite/libffi.call/problem1.c,
2693 testsuite/libffi.call/closure_fn3.c,
2694 testsuite/libffi.call/cls_sshort.c,
2695 testsuite/libffi.call/closure_fn5.c,
2696 testsuite/libffi.call/cls_align_double.c,
2697 testsuite/libffi.call/cls_2byte.c,
2698 testsuite/libffi.call/nested_struct.c,
2699 testsuite/libffi.call/nested_struct10.c,
2700 testsuite/libffi.call/cls_4byte.c,
2701 testsuite/libffi.call/cls_6byte.c,
2702 testsuite/libffi.call/cls_8byte.c,
2703 testsuite/libffi.call/cls_multi_sshort.c,
2704 testsuite/libffi.call/cls_align_uint32.c,
2705 testsuite/libffi.call/cls_align_sint16.c,
2706 testsuite/libffi.call/cls_float.c,
2707 testsuite/libffi.call/cls_20byte.c,
2708 testsuite/libffi.call/cls_5_1_byte.c,
2709 testsuite/libffi.call/nested_struct2.c,
2710 testsuite/libffi.call/cls_24byte.c,
2711 testsuite/libffi.call/nested_struct4.c,
2712 testsuite/libffi.call/nested_struct6.c,
2713 testsuite/libffi.call/cls_64byte.c,
2714 testsuite/libffi.call/nested_struct8.c,
2715 testsuite/libffi.call/cls_uint.c,
2716 testsuite/libffi.call/cls_multi_ushortchar.c,
2717 testsuite/libffi.call/cls_schar.c,
2718 testsuite/libffi.call/cls_uchar.c,
2719 testsuite/libffi.call/cls_align_uint64.c,
2720 testsuite/libffi.call/cls_ulonglong.c,
2721 testsuite/libffi.call/cls_align_longdouble.c,
2722 testsuite/libffi.call/cls_1_1byte.c,
2723 testsuite/libffi.call/cls_12byte.c,
2724 testsuite/libffi.call/cls_3_1byte.c,
2725 testsuite/libffi.call/cls_3byte1.c,
2726 testsuite/libffi.call/cls_4_1byte.c,
2727 testsuite/libffi.call/cls_6_1_byte.c,
2728 testsuite/libffi.call/cls_16byte.c,
2729 testsuite/libffi.call/cls_18byte.c,
2730 testsuite/libffi.call/closure_fn0.c,
2731 testsuite/libffi.call/cls_9byte2.c,
2732 testsuite/libffi.call/closure_fn2.c,
2733 testsuite/libffi.call/closure_fn4.c,
2734 testsuite/libffi.call/cls_ushort.c,
2735 testsuite/libffi.call/closure_fn6.c,
2736 testsuite/libffi.call/cls_5byte.c,
2737 testsuite/libffi.call/cls_align_pointer.c,
2738 testsuite/libffi.call/cls_7byte.c,
2739 testsuite/libffi.call/cls_align_sint32.c,
2740 testsuite/libffi.special/unwindtest_ffi_call.cc,
2741 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
0959e2b8 2742
12a27363
L
27432007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2744
2745 * aclocal.m4: Regenerated.
2746
82a6cadf
PB
27472007-06-02 Paolo Bonzini <bonzini@gnu.org>
2748
2749 * configure: Regenerate.
2750
1cf3d07d
SE
27512007-05-23 Steve Ellcey <sje@cup.hp.com>
2752
2753 * Makefile.in: Regenerate.
2754 * configure: Regenerate.
2755 * aclocal.m4: Regenerate.
2756 * include/Makefile.in: Regenerate.
2757 * testsuite/Makefile.in: Regenerate.
2758
5635c26e
RZ
27592007-05-10 Roman Zippel <zippel@linux-m68k.org>
2760
2761 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
2762 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
2763 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
2764 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2765 (FFI_CLOSURES): Enable closure support.
2766
e6fbf387
RZ
27672007-05-10 Roman Zippel <zippel@linux-m68k.org>
2768
2769 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
2770 * configure: Regenerate.
2771 * fficonfig.h.in: Regenerate.
2772 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
2773 CFI_OFFSET,CFI_DEF_CFA): New macros.
2774 (ffi_call_SYSV): Add callframe annotation.
2775
b5296e52
RZ
27762007-05-10 Roman Zippel <zippel@linux-m68k.org>
2777
2778 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
2779 numerous test suite failures.
2780 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
2781
bd61d708
PB
27822007-04-11 Paolo Bonzini <bonzini@gnu.org>
2783
2784 * Makefile.am (EXTRA_DIST): Bring up to date.
2785 * Makefile.in: Regenerate.
2786 * src/frv/eabi.S: Remove RCS keyword.
2787
bf8da5fc
RH
27882007-04-06 Richard Henderson <rth@redhat.com>
2789
2790 * configure.ac: Tidy target case.
2791 (HAVE_LONG_DOUBLE): Allow the target to override.
2792 * configure: Regenerate.
2793 * include/ffi.h.in: Don't define ffi_type_foo if
2794 LIBFFI_HIDE_BASIC_TYPES is defined.
2795 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
2796 to ffi_type_double.
2797 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
2798 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
2799 (ffi_type_longdouble): Special case for Alpha. Don't define
2800 if long double == double.
2801
2802 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
2803 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
2804 (ffi_call, ffi_closure_osf_inner): Likewise.
2805 (ffi_closure_osf_inner): Likewise. Mark hidden.
2806 (ffi_call_osf, ffi_closure_osf): Mark hidden.
2807 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
2808 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
2809 (load_table): Handle 128-bit long double.
2810
2811 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
2812
8669fed1
TT
28132007-04-06 Tom Tromey <tromey@redhat.com>
2814
2815 PR libffi/31491:
2816 * README: Fixed bug in example.
2817
f0920e6c
JJ
28182007-04-03 Jakub Jelinek <jakub@redhat.com>
2819
2820 * src/closures.c: Include sys/statfs.h.
2821 (_GNU_SOURCE): Define on Linux.
2822 (FFI_MMAP_EXEC_SELINUX): Define.
2823 (selinux_enabled): New variable.
2824 (selinux_enabled_check): New function.
2825 (is_selinux_enabled): Define.
2826 (dlmmap): Use it.
2827
34a6ccda
UB
28282007-03-24 Uros Bizjak <ubizjak@gmail.com>
2829
2830 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
2831 Use 'volatile float sum' to create sum of floats to avoid false
2832 negative due to excess precision on ix86 targets.
302486f4 2833 (main): Ditto.
34a6ccda 2834
8b9cf39e
AO
28352007-03-08 Alexandre Oliva <aoliva@redhat.com>
2836
2837 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
2838 patch.
2839 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
2840
18fa3240
AO
28412007-03-07 Alexandre Oliva <aoliva@redhat.com>
2842
2843 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
2844 (ffi_prep_closure_loc): New.
2845 (ffi_prep_raw_closure_loc): New.
2846 (ffi_prep_java_raw_closure_loc): New.
2847 * src/closures.c: New file.
2848 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
2849 Replace sflags with exec_offset.
2850 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
2851 sub_segment_exec_offset): New macros.
2852 (get_segment_flags, set_segment_flags, check_segment_merge): New
2853 macros.
2854 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
2855 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
2856 destroy_mspace): Use new macros.
2857 (sys_alloc): Silence warning.
2858 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
2859 * Makefile.in: Rebuilt.
2860 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
2861 terms of ffi_prep_closure_loc.
2862 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
2863 from...
2864 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
2865 renamed version.
2866 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
2867 adjusted from...
2868 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
2869 the renamed version.
2870 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
2871 (ffi_prep_closure): ... this.
2872 * src/pa/ffi.c: Likewise.
2873 * src/cris/ffi.c: Likewise. Adjust.
2874 * src/frv/ffi.c: Likewise.
2875 * src/ia64/ffi.c: Likewise.
2876 * src/mips/ffi.c: Likewise.
2877 * src/powerpc/ffi_darwin.c: Likewise.
2878 * src/s390/ffi.c: Likewise.
2879 * src/sh/ffi.c: Likewise.
2880 * src/sh64/ffi.c: Likewise.
2881 * src/sparc/ffi.c: Likewise.
2882 * src/x86/ffi64.c: Likewise.
2883 * src/x86/ffi.c: Likewise.
2884 (FFI_INIT_TRAMPOLINE): Adjust.
2885 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
2886 (ffi_prep_raw_closure): ... this.
2887 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
2888 (ffi_prep_closure): ... this.
2889 (flush_icache): Adjust.
2890
dd778331
AO
28912007-03-07 Alexandre Oliva <aoliva@redhat.com>
2892
2893 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
2894 Lea's malloc.
2895
b5f8d49b
BM
28962007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2897
2898 * Makefile.am: Add dummy install-pdf target.
2899 * Makefile.in: Regenerate
2900
7a23933b
AK
29012007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2902
2903 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
2904 ffi_closure_helper_SYSV): Add long double handling.
2905
8aaf4681
JJ
29062007-02-02 Jakub Jelinek <jakub@redhat.com>
2907
2908 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
2909 immediately after bctrl instruction.
2910
0eb5e2b9
AO
29112007-01-18 Alexandre Oliva <aoliva@redhat.com>
2912
2913 * Makefile.am (all-recursive, install-recursive,
2914 mostlyclean-recursive, clean-recursive, distclean-recursive,
2915 maintainer-clean-recursive): Add missing targets.
2916 * Makefile.in: Rebuilt.
2917
f4f7486b
AT
29182006-12-14 Andreas Tobler <a.tobler@schweiz.org>
2919
2920 * configure.ac: Add TARGET for x86_64-*-darwin*.
2921 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
2922 for X86_DARWIN.
2923 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
2924 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
2925 * configure: Regenerate.
2926 * Makefile.in: Regenerate.
2927 * include/Makefile.in: Regenerate.
2928 * testsuite/Makefile.in: Regenerate.
2929 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
2930 ffi_call only.
2931
3d5eafe2
AT
29322006-12-13 Andreas Tobler <a.tobler@schweiz.org>
2933
2934 * aclocal.m4: Regenerate with aclocal -I .. as written in the
2935 Makefile.am.
2936
d5523ce1 29372006-10-31 Geoffrey Keating <geoffk@apple.com>
58182de3
GK
2938
2939 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
2940 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
2941 Darwin.
2942 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
2943 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
2944
a3bd50cc
PB
29452006-10-10 Paolo Bonzini <bonzini@gnu.org>
2946 Sandro Tolaini <tolaini@libero.it>
2947
302486f4 2948 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
a3bd50cc
PB
2949 conditional.
2950 * configure: Regenerated.
2951 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
2952 (EXTRA_DIST): Add src/x86/darwin.S.
2953 * Makefile.in: Regenerated.
2954 * include/Makefile.in: Regenerated.
2955 * testsuite/Makefile.in: Regenerated.
2956
2957 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
2958 X86_WIN32, and additionally align stack to 16 bytes.
2959 * src/x86/darwin.S: New, based on sysv.S.
2960 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
2961
b095810f
DD
29622006-09-12 David Daney <ddaney@avtrex.com>
2963
2964 PR libffi/23935
2965 * include/Makefile.am: Install both ffi.h and ffitarget.h in
2966 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
2967 * aclocal.m4: Regenerated for automake 1.9.6.
2968 * Makefile.in: Regenerated.
2969 * include/Makefile.in: Regenerated.
2970 * testsuite/Makefile.in: Regenerated.
2971
110b2db4
AT
29722006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2973
2974 * include/ffi_common.h (struct): Revert accidental commit.
2975
8e5fde87
AT
29762006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2977
2978 * include/ffi_common.h: Remove lint directives.
2979 * include/ffi.h.in: Likewise.
2980
cb4132fe
TS
29812006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
2982
2983 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
2984 for 32-bit architectures.
2985 * testsuite/libffi.call/return_ul.c: New test case.
2986
0d24c3fa
DD
29872006-07-19 David Daney <ddaney@avtrex.com>
2988
2989 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
2990 xfail remains for mips64.
2991
8665824c
CD
29922006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2993
2994 * Makefile.am: Add install-html target. Add install-html to .PHONY
2995 * Makefile.in: Regenerate.
2996 * aclocal.m4: Regenerate.
2997 * include/Makefile.in: Regenerate.
2998 * testsuite/Makefile.in: Regenerate.
2999
84e2e370
JDA
30002006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3001
3002 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
3003 stack slot.
3004
ac6ed182
AT
30052006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
3006
3007 * README: Remove notice about 'Crazy Comments'.
3008 * src/debug.c: Remove lint directives. Cleanup white spaces.
3009 * src/java_raw_api.c: Likewise.
3010 * src/prep_cif.c: Likewise.
3011 * src/raw_api.c: Likewise.
3012 * src/ffitest.c: Delete. No longer needed, all test cases migrated
3013 to the testsuite.
3014 * src/arm/ffi.c: Remove lint directives.
3015 * src/m32r/ffi.c: Likewise.
3016 * src/pa/ffi.c: Likewise.
3017 * src/powerpc/ffi.c: Likewise.
3018 * src/powerpc/ffi_darwin.c: Likewise.
3019 * src/sh/ffi.c: Likewise.
3020 * src/sh64/ffi.c: Likewise.
3021 * src/x86/ffi.c: Likewise.
3022 * testsuite/libffi.call/float2.c: Likewise.
3023 * testsuite/libffi.call/promotion.c: Likewise.
3024 * testsuite/libffi.call/struct1.c: Likewise.
3025
b7211585
AT
30262006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
3027
3028 * src/pa/hpux32.S: Correct unwind offset calculation for
3029 ffi_closure_pa32.
3030 * src/pa/linux.S: Likewise.
3031
86066f9b
JW
30322006-04-12 James E Wilson <wilson@specifix.com>
3033
3034 PR libgcj/26483
3035 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
3036 (hfa_type_load): Call stf_spill.
3037 (hfa_type_store): Call ldf_fill.
3038 (ffi_call): Adjust calls to above routines. Add local temps for
3039 macro result.
b7211585 3040
615baed7
MK
30412006-04-10 Matthias Klose <doko@debian.org>
3042
3043 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
3044 directory names containing underscores.
3045
8e7a2b58
JW
30462006-04-07 James E Wilson <wilson@specifix.com>
3047
3048 * testsuite/libffi.call/float4.c: New testcase.
3049
e6c300ef
JDA
30502006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3051 Andreas Tobler <a.tobler@schweiz.ch>
3052
3053 * Makefile.am: Add PA_HPUX port.
3054 * Makefile.in: Regenerate.
3055 * include/Makefile.in: Likewise.
3056 * testsuite/Makefile.in: Likewise.
3057 * configure.ac: Add PA_HPUX rules.
3058 * configure: Regenerate.
3059 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
3060 Add PA_HPUX and PA64_HPUX.
3061 Rename FFI_LINUX ABI to FFI_PA32 ABI.
3062 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
3063 (FFI_TYPE_SMALL_STRUCT2): Define.
3064 (FFI_TYPE_SMALL_STRUCT4): Likewise.
3065 (FFI_TYPE_SMALL_STRUCT8): Likewise.
3066 (FFI_TYPE_SMALL_STRUCT3): Redefine.
3067 (FFI_TYPE_SMALL_STRUCT5): Likewise.
3068 (FFI_TYPE_SMALL_STRUCT6): Likewise.
3069 (FFI_TYPE_SMALL_STRUCT7): Likewise.
3070 * src/pa/ffi.c (ROUND_DOWN): Delete.
3071 (fldw, fstw, fldd, fstd): Use '__asm__'.
3072 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
3073 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
3074 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
3075 Simplify incrementing of stack slot variable. Change type of local
3076 'n' to unsigned int.
3077 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
3078 double on PA_HPUX.
3079 (ffi_prep_cif_machdep): Likewise.
3080 (ffi_call): Likewise.
3081 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
3082 return type to ffi_status. Simplify incrementing of stack slot
3083 variable. Only copy floating point argument registers when PA_LINUX
3084 is true. Reformat debug statement.
3085 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
3086 FFI_TYPE_SMALL_STRUCT8.
3087 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
3088 declaration.
3089 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
3090 Add nops to cache flush. Add trampoline for PA_HPUX.
3091 * src/pa/hpux32.S: New file.
3092 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
3093 ffi_prep_args_LINUX to ffi_prep_args_pa32.
3094 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
3095 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
3096 argument type checks so that common argument types appear first.
3097 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
3098 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
3099
75b8b1be
AM
31002006-03-24 Alan Modra <amodra@bigpond.net.au>
3101
3102 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
3103 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
3104 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
3105 FFI_TYPE_LONGDOUBLE.
3106 (ffi_prep_args64): Assert using IBM extended double.
3107 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
3108 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
3109 (ffi_call): Handle FFI_LINUX.
3110 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
3111 gpr3 return pointer as for struct return. Handle FFI_LINUX
3112 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
3113 unnecessarily.
3114 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
3115 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
3116 Don't use r6 as pointer to results, instead use sp offset. Don't
3117 make a special call to load lr with case table address, instead
3118 use offset from previous call.
3119 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
3120 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
3121 return.
3122
697701ad
KK
31232006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
3124
3125 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
3126 passed with FP registers correctly.
3127 (ffi_closure_helper_SYSV): Likewise.
3128 * src/sh64/sysv.S: Likewise.
3129
b295c471
AT
31302006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
3131
3132 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
3133 args and userdata unused.
3134 (closure_test_fn1): Mark cif and userdata unused.
3135 (main): Remove unused res.
3136
9fdeb13b
AT
31372006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
3138
3139 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
3140 -O2, -O3, -Os and the warning flags -W -Wall.
3141 * testsuite/libffi.special/special.exp: Likewise.
3142 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
3143 unused parameter unused for gcc or else do nothing.
3144 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3145 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
3146 and userdata unused.
3147 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
3148 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
3149 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
3150 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
3151 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
3152 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
3153 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
3154 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
3155 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
3156 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
3157 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
3158 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
3159 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
3160 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
3161 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
3162 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
3163 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
3164 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
3165 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
3166 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
3167 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
3168 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
3169 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
3170 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
3171 Likewise.
3172 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
3173 Likewise.
3174 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
3175 Likewise.
3176 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
3177 void* to avoid compiler warning.
3178 (main): Likewise.
3179 (cls_struct_align_gn): Mark cif and userdata unused.
3180 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
3181 Likewise.
3182 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
3183 Likewise.
3184 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
3185 Likewise.
3186 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
3187 Likewise.
3188 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
3189 Likewise.
3190 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
3191 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
3192 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
3193 data unused.
3194 (main): Cast res_call to silence gcc.
3195 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
3196 data unused.
3197 (main): Cast res_call to silence gcc.
3198 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
3199 and data unused.
3200 (main): Cast res_call to silence gcc.
3201 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
3202 data unused.
3203 (main): Cast res_call to silence gcc.
3204 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
3205 data unused.
3206 (main): Cast res_call to silence gcc.
3207 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
3208 and data unused.
3209 (main): Cast res_call to silence gcc.
3210 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
3211 userdata unused.
3212 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
3213 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
3214 userdata unused.
3215 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
3216 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
3217 userdata unused.
3218 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
3219 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
3220 userdata unused.
3221 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
3222 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
3223 userdata unused.
3224 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
3225 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
3226 and userdata unused.
3227 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
3228 userdata unused.
3229 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
3230 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
3231 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
3232 Cleanup white spaces.
3233 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
3234 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
3235 cif and userdata unused.
3236 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
3237 Likewise.
3238 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
3239 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
3240 formatters to silence gcc.
3241 (B_gn): Mark cif and userdata unused.
3242 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
3243 unused.
3244 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
3245 (B_gn): Mark cif and userdata unused.
3246 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
3247 unused.
3248 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
3249 (B_gn): Mark cif and userdata unused.
3250 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
3251 unused.
3252 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
3253 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
3254 * testsuite/libffi.call/problem1.c (stub): Likewise.
3255 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
3256 gcc.
3257 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
3258 in the last commit for this test case in the test case itself.
3259 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
3260 unused.
3261 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
3262 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
3263 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
3264 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
3265 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
3266 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
3267
0a4e2bb5
KK
32682006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
3269
3270 * src/sh/sysv.S: Fix register numbers in the FDE for
3271 ffi_closure_SYSV.
3272
723e5d5a
AT
32732006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
3274
3275 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
3276 declaration to avoid a false negative on ix86. See PR323.
3277
e097f887
KK
32782006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
3279
3280 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
3281 and cast integer to void * if needed. Update the pointer to
3282 the FP register saved area correctly.
302486f4 3283
1a4878f7
AT
32842006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
3285
3286 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
3287 is fixed.
3288 * testsuite/libffi.call/nested_struct4.c: Likewise.
3289
b47b5e08
AT
32902006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
3291
6429d58f
AT
3292 * testsuite/libffi.call/return_dbl.c: New test case.
3293 * testsuite/libffi.call/return_dbl1.c: Likewise.
3294 * testsuite/libffi.call/return_dbl2.c: Likewise.
3295 * testsuite/libffi.call/return_fl.c: Likewise.
3296 * testsuite/libffi.call/return_fl1.c: Likewise.
3297 * testsuite/libffi.call/return_fl2.c: Likewise.
3298 * testsuite/libffi.call/return_fl3.c: Likewise.
3299 * testsuite/libffi.call/closure_fn6.c: Likewise.
3300
b47b5e08
AT
3301 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
3302 definition.
3303 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
3304 here to be used by other test cases too.
3305
3306 * testsuite/libffi.call/nested_struct10.c: New test case.
3307 * testsuite/libffi.call/nested_struct9.c: Likewise.
3308 * testsuite/libffi.call/nested_struct8.c: Likewise.
3309 * testsuite/libffi.call/nested_struct7.c: Likewise.
3310 * testsuite/libffi.call/nested_struct6.c: Likewise.
3311 * testsuite/libffi.call/nested_struct5.c: Likewise.
3312 * testsuite/libffi.call/nested_struct4.c: Likewise.
3313
9abe31d4
AT
33142006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
3315
3316 * configure.ac: Enable libffi for sparc64-*-freebsd*.
3317 * configure: Rebuilt.
3318
71aa1a70
JJ
33192006-01-18 Jakub Jelinek <jakub@redhat.com>
3320
3321 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
3322 instead do the shifting inline.
3323 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
3324 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
3325 and 8 byte structs, for the remaining struct sizes don't call
3326 __lshrdi3, instead do the shifting inline.
3327
8a39029d
TS
33282005-12-07 Thiemo Seufer <ths@networkno.de>
3329
3330 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
3331 missing parentheses.
3332 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
3333 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
3334 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
3335 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
3336 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
3337 FA_0_0_OFF2.
3338 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
3339 endianness bugs.
3340 (ffi_prep_closure): Improve trampoline instruction scheduling.
3341 (ffi_closure_mips_inner_O32): Fix endianness bugs.
3342
cd4241aa
AM
33432005-12-03 Alan Modra <amodra@bigpond.net.au>
3344
3345 * src/powerpc/ffi.c: Formatting.
3346 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
3347 (ffi_prep_args64): Likewise.
3348
0363db46
GK
33492005-09-30 Geoffrey Keating <geoffk@apple.com>
3350
3351 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
3352 darwin, use -shared-libgcc not -lgcc_s, and explain why.
3353
d674eb2f
TT
33542005-09-26 Tom Tromey <tromey@redhat.com>
3355
3356 * testsuite/libffi.call/float1.c (value_type): New typedef.
3357 (CANARY): New define.
3358 (main): Check for result buffer overflow.
3359 * src/powerpc/linux64.S: Handle linux64 long double returns.
3360 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
3361 (ffi_prep_cif_machdep): Handle linux64 long double returns.
3362
2d9c5743
AM
33632005-08-25 Alan Modra <amodra@bigpond.net.au>
3364
3365 PR target/23404
3366 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
3367 homed fp args.
3368 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
3369
8a42356f
JJ
33702005-08-11 Jakub Jelinek <jakub@redhat.com>
3371
3372 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
3373 (AH_BOTTOM): Add FFI_HIDDEN definition.
3374 * configure: Rebuilt.
3375 * fficonfig.h.in: Rebuilt.
3376 * src/powerpc/ffi.c (hidden): Remove.
3377 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
3378 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
3379 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
3380 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
3381 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
3382 add FFI_HIDDEN to its prototype.
3383 (ffi_closure_SYSV_inner): New.
3384 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3385 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3386
863c5508
AS
33872005-08-10 Alfred M. Szmidt <ams@gnu.org>
3388
3389 PR libffi/21819:
3390 * configure: Rebuilt.
3391 * configure.ac: Handle i*86-*-gnu*.
3392
6a26ea58
JJ
33932005-08-09 Jakub Jelinek <jakub@redhat.com>
3394
3395 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
3396 DW_CFA_offset_extended_sf rather than
3397 DW_CFA_GNU_negative_offset_extended.
3398 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
3399
583a92e8
ST
34002005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3401
3402 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
3403 on sh3.
3404 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
3405 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
3406 partially on register.
3407 (ffi_closure_helper_SYSV): Likewise.
3408 (ffi_prep_cif_machdep): Don't set too many cif->flags.
3409
5d0317fc
KK
34102005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
3411
3412 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
3413 Remove empty line.
3414 * src/sh64/ffi.c (simple_type): Remove.
3415 (return_type): Handle small structures correctly.
3416 (ffi_prep_args): Likewise.
3417 (ffi_call): Likewise.
3418 (ffi_closure_helper_SYSV): Likewise.
3419 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
3420 Emit position independent code if PIC and remove wrong datalabel
3421 prefixes from EH data.
3422
8d9fd5f5
AT
34232005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
3424
3425 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
3426 * Makefile.in: Regenerate.
3427 * include/Makefile.in: Likewise.
3428 * testsuite/Makefile.in: Likewise.
3429 * configure.ac: Add POWERPC_FREEBSD rules.
3430 * configure: Regenerate.
3431 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
3432 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
3433 * src/powerpc/ffi.c: Add flags to handle small structure returns
3434 in ffi_call_SYSV.
3435 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
3436 Aka FFI_SYSV.
3437 (ffi_closure_helper_SYSV): Likewise.
3438 * src/powerpc/ppc_closure.S: Add return types for small structures.
3439 * src/powerpc/sysv.S: Add bits to handle small structures for
3440 final SYSV 4 ABI.
3441
93c76f81
AT
34422005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
3443
3444 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
3445 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
3446 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
3447
b65da304
RC
34482005-07-05 Randolph Chung <tausq@debian.org>
3449
3450 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
3451 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
3452 structures. Kill compilation warnings.
3453 (ffi_closure_inner_LINUX): Print return values as hex in debug
3454 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
3455 Properly handle 5-7 byte structure returns.
3456 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
3457 (FFI_TYPE_SMALL_STRUCT2): Remove.
3458 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
3459 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
3460 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
3461 (checksmst1, checksmst2): Remove.
3462 (checksmst3): Optimize handling of 3-byte struct returns.
3463 (checksmst567): Properly handle 5-7 byte struct returns.
3464
2572f1c6
RO
34652005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3466
3467 PR libgcj/21943
3468 * src/mips/n32.S: Enforce PIC code.
3469 * src/mips/o32.S: Likewise.
3470
cc786582
RO
34712005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3472
3473 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
3474 * configure: Regenerate.
302486f4 3475
6d0d376c
AM
34762005-06-01 Alan Modra <amodra@bigpond.net.au>
3477
3478 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
3479 to call ffi_closure_helper_SYSV. Append @local instead.
3480 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
3481
a21946f5 34822005-05-17 Kelley Cook <kcook@gcc.gnu.org>
a097ef55
KC
3483
3484 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3485 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3486 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
3487 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
3488 include/Makefile.in, testsuite/Makefile.in: Regenerate.
302486f4 3489
f4c767fd
MS
34902005-05-09 Mike Stump <mrs@apple.com>
3491
3492 * configure: Regenerate.
3493
7e15b5fe
RH
34942005-05-08 Richard Henderson <rth@redhat.com>
3495
3496 PR libffi/21285
3497 * src/alpha/osf.S: Update unwind into to match code.
3498
d56ea8d9
RH
34992005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
3500 Richard Henderson <rth@redhat.com>
3501
3502 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
3503 bit 11 of flags.
3504 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
3505 (ffi_prep_closure): Set carry bit if sse-used flag set.
3506 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3507 Only load sse registers if ssecount non-zero.
3508 (ffi_closure_unix64): Only save sse registers if carry set on entry.
3509
35102005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
d948c201
RC
3511
3512 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3513 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3514 * configure: Regenerate.
3515
fc0ad8d9
HPN
35162005-04-20 Hans-Peter Nilsson <hp@axis.com>
3517
3518 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3519 have Tcl8.3-compatible intermediate variable.
3520
302486f4 35212005-04-18 Simon Posnjak <simon.posnjak@siol.net>
614348bb
SP
3522 Hans-Peter Nilsson <hp@axis.com>
3523
3524 * Makefile.am: Add CRIS support.
3525 * configure.ac: Likewise.
29ede6db
HPN
3526 * Makefile.in, configure, testsuite/Makefile.in,
3527 include/Makefile.in: Regenerate.
614348bb
SP
3528 * src/cris: New directory.
3529 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3530 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
727e729b
HPN
3531
3532 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3533 \r?\n in output tests.
3534
6dab073b
MS
35352005-04-12 Mike Stump <mrs@apple.com>
3536
3537 * configure: Regenerate.
3538
51f55d7c
HB
35392005-03-30 Hans Boehm <Hans.Boehm@hp.com>
3540
3541 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
302486f4 3542
7efa52a3
SE
35432005-03-30 Steve Ellcey <sje@cup.hp.com>
3544
3545 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3546 (ffi_sarg) Ditto.
3547 * src/ia64/unix.S (ffi_closure_unix): Extend gp
3548 to 64 bits in ILP32 mode.
3549 Load 64 bits even for short data.
3550
1488177a
MS
35512005-03-23 Mike Stump <mrs@apple.com>
3552
3553 * src/powerpc/darwin.S: Update for -m64 multilib.
3554 * src/powerpc/darwin_closure.S: Likewise.
3555
c6900272
ZW
35562005-03-21 Zack Weinberg <zack@codesourcery.com>
3557
3558 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
3559 Do not set tool_include_dir.
3560 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3561 Regenerate.
3562 * include/Makefile.am: Set gcc_version and toollibffidir.
3563 * include/Makefile.in: Regenerate.
3564
962eea0a
AH
35652005-02-22 Andrew Haley <aph@redhat.com>
3566
3567 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3568 odd-numbered register pairs for 64-bit integer types.
3569
1b05e8bf
AT
35702005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
3571
3572 PR libffi/20104
3573 * testsuite/libffi.call/return_ll1.c: New test case.
3574
6027770b
JJ
35752005-02-11 Janis Johnson <janis187@us.ibm.com>
3576
3577 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
3578 * testsuite/libffi.call/float.c: Ditto.
3579 * testsuite/libffi.call/float2.c: Ditto.
3580 * testsuite/libffi.call/float3.c: Ditto.
3581
ee31ea68
AT
35822005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
3583
3584 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
3585
c16be7d5
EB
35862005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3587
3588 * testsuite/libffi.special/special.exp (cxx_options): Add
3589 -shared-libgcc.
3590
5df07255
RH
35912004-12-31 Richard Henderson <rth@redhat.com>
3592
3593 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
3594 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
3595 offset parameters with a type parameter; deduce size and structure
3596 alignment. Update all users.
3597
81a69b13
RH
35982004-12-31 Richard Henderson <rth@redhat.com>
3599
3600 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
3601 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
c6900272 3602 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
81a69b13
RH
3603 into ffi_prep_closure.
3604 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
3605 from scratch.
3606
d833cfb0
RH
36072004-12-27 Richard Henderson <rth@redhat.com>
3608
3609 * src/x86/unix64.S: Fix typo in unwind info.
3610
1a0f488c
RH
36112004-12-25 Richard Henderson <rth@redhat.com>
3612
3613 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
3614 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
3615 (merge_classes): Check for it.
3616 (SSE_CLASS_P): New.
3617 (classify_argument): Pass byte_offset by value; perform all updates
3618 inside struct case.
3619 (examine_argument): Add classes argument; handle
3620 X86_64_COMPLEX_X87_CLASS.
3621 (ffi_prep_args): Merge into ...
3622 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
3623 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
3624 (ffi_fill_return_value): Remove.
3625 (ffi_prep_closure): Remove dead assert.
3626 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
3627 Rewrite to use struct register_args instead of va_list. Create
3628 flags for handling structure returns.
3629 * src/x86/unix64.S: Remove dead strings.
3630 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
3631 stack frame with ffi_call. Handle structure returns properly.
3632 (float2sse, floatfloat2sse, double2sse): Remove.
3633 (sse2float, sse2double, sse2floatfloat): Remove.
3634 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
3635 to handle structure returns properly.
3636
7994d50c
DE
36372004-12-08 David Edelsohn <edelsohn@gnu.org>
3638
3639 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
3640 PICFLAG.
3641 * Makefile.in: Regenerated.
3642
afabd8e6
RS
36432004-12-02 Richard Sandiford <rsandifo@redhat.com>
3644
3645 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
3646 * configure, aclocal.m4, Makefile.in: Regenerate.
3647 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
3648
2539bffe
KC
36492004-11-29 Kelley Cook <kcook@gcc.gnu.org>
3650
3651 * configure: Regenerate for libtool change.
3652
767f726e
KC
36532004-11-25 Kelley Cook <kcook@gcc.gnu.org>
3654
3655 * configure: Regenerate for libtool reversion.
3656
2c92e90f
KC
36572004-11-24 Kelley Cook <kcook@gcc.gnu.org>
3658
3659 * configure: Regenerate for libtool change.
3660
1df8e834
JDA
36612004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3662
3663 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
3664
36652004-11-23 Richard Sandiford <rsandifo@redhat.com>
3666
3667 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
3668 of jal. Use an absolute encoding for the frame information.
3669
36702004-11-23 Kelley Cook <kcook@gcc.gnu.org>
3671
3672 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
3673 * acinclude.m4: Delete logic for sincludes.
3674 * aclocal.m4, Makefile.in, configure: Regenerate.
3675 * include/Makefile: Likewise.
3676 * testsuite/Makefile: Likewise.
3677
bf02e7fa
EB
36782004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3679
3680 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
3681 on a 8-byte boundary.
3682 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
3683
f20459f1
RE
36842004-10-27 Richard Earnshaw <rearnsha@arm.com>
3685
3686 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
3687 long long values. Round stack allocation to a multiple of 8 bytes
3688 for ATPCS compatibility.
3689 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
3690 names. Handle returning long long types. Add Thumb and interworking
3691 support. Improve soft-float code.
3692
fdc69597
RE
36932004-10-27 Richard Earnshaw <rearnsha@arm.com>
3694
3695 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
3696 (libffi_exit): New function.
3697 (libffi_init): Build the testglue wrapper if needed.
3698
1e02510f
EB
36992004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3700
3701 PR other/18138
3702 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
3703
d9a193b2
KI
37042004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3705
3706 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
3707
1fddb058
KK
37082004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3709
3710 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
3711 * testsuite/libffi.call/float3.c: New test case.
3712
e0d3b452
KK
37132004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
3714
3715 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
3716 the function returning a structure pointed with R2.
3717 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
3718 the structure return value if T bit set. Emit position
3719 independent code and EH data if PIC.
3720
a472e9d4
KI
37212004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3722
3723 * Makefile.am: Add m32r support.
3724 * configure.ac: Likewise.
3725 * Makefile.in: Regenerate.
3726 * confiugre: Regenerate.
3727 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
3728 (uint64, sint64, double, longdouble)
3729 * src/m32r: New directory.
3730 * src/m32r/ffi.c: New file.
3731 * src/m32r/sysv.S: Likewise.
3732 * src/m32r/ffitarget.h: Likewise.
3733
3d47e9ca
KK
37342004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
3735
3736 * testsuite/libffi.call/negint.c: New test case.
3737
fc9051dd
L
37382004-09-14 H.J. Lu <hongjiu.lu@intel.com>
3739
3740 PR libgcj/17465
3741 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
3742 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
3743 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
3744 DYLD_LIBRARY_PATH.
3745
2010caea
AT
37462004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3747
3748 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
3749 * testsuite/libffi.call/promotion.c: Likewise.
3750 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
3751 whitespaces.
3752 * testsuite/libffi.call/return_sc.c: Likewise.
3753 * testsuite/libffi.call/return_uc.c: Likewise.
3754
894be816
AT
37552004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3756
3757 * src/powerpc/darwin.S: Fix comments and identation.
3758 * src/powerpc/darwin_closure.S: Likewise.
3759
2fe7404a
AT
37602004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3761
3762 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
3763 (ffi_prep_args): Handle longdouble arguments.
3764 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
3765 longdouble.
3766 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
3767 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
3768 values.
3769 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
3770 * src/types.c: Defined longdouble size and alignment for darwin.
3771
16070e45
AT
37722004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3773
3774 * src/powerpc/aix.S: Remove whitespaces.
3775 * src/powerpc/aix_closure.S: Likewise.
3776 * src/powerpc/asm.h: Likewise.
3777 * src/powerpc/ffi.c: Likewise.
3778 * src/powerpc/ffitarget.h: Likewise.
3779 * src/powerpc/linux64.S: Likewise.
3780 * src/powerpc/linux64_closure.S: Likewise.
3781 * src/powerpc/ppc_closure.S: Likewise.
3782 * src/powerpc/sysv.S: Likewise.
3783
88d8c771
AG
37842004-08-30 Anthony Green <green@redhat.com>
3785
3786 * Makefile.am: Add frv support.
3787 * Makefile.in, testsuite/Makefile.in: Rebuilt.
3788 * configure.ac: Read configure.host.
3789 * configure.in: Read configure.host.
3790 * configure.host: New file. frv-elf needs libgloss.
3791 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
a23adb4d 3792 alignment. This is needed to frv and shouldn't harm the others.
88d8c771
AG
3793 * include/ffi_common.h (ALIGN_DOWN): New macro.
3794 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
3795
4c5f37d5
DD
37962004-08-24 David Daney <daney@avtrex.com>
3797
3798 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
3799 * testsuite/libffi.call/closure_fn1.c: Likewise.
3800 * testsuite/libffi.call/closure_fn2.c Likewise.
3801 * testsuite/libffi.call/closure_fn3.c: Likewise.
3802 * testsuite/libffi.call/closure_fn4.c: Likewise.
3803 * testsuite/libffi.call/closure_fn5.c: Likewise.
3804 * testsuite/libffi.call/cls_18byte.c: Likewise.
3805 * testsuite/libffi.call/cls_19byte.c: Likewise.
3806 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3807 * testsuite/libffi.call/cls_20byte.c: Likewise.
3808 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3809 * testsuite/libffi.call/cls_24byte.c: Likewise.
3810 * testsuite/libffi.call/cls_2byte.c: Likewise.
3811 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3812 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3813 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3814 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3815 * testsuite/libffi.call/cls_4byte.c: Likewise.
3816 * testsuite/libffi.call/cls_64byte.c: Likewise.
3817 * testsuite/libffi.call/cls_6byte.c: Likewise.
3818 * testsuite/libffi.call/cls_7byte.c: Likewise.
3819 * testsuite/libffi.call/cls_8byte.c: Likewise.
3820 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3821 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3822 * testsuite/libffi.call/cls_align_double.c: Likewise.
3823 * testsuite/libffi.call/cls_align_float.c: Likewise.
3824 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3825 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
3826 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
3827 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
3828 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
3829 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
3830 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
3831 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
3832 * testsuite/libffi.call/cls_double.c: Likewise.
3833 * testsuite/libffi.call/cls_float.c: Likewise.
3834 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
3835 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
3836 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3837 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3838 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3839 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3840 * testsuite/libffi.call/cls_schar.c: Likewise.
3841 * testsuite/libffi.call/cls_sint.c: Likewise.
3842 * testsuite/libffi.call/cls_sshort.c: Likewise.
3843 * testsuite/libffi.call/cls_uchar.c: Likewise.
3844 * testsuite/libffi.call/cls_uint.c: Likewise.
3845 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3846 * testsuite/libffi.call/cls_ushort.c: Likewise.
3847 * testsuite/libffi.call/nested_struct.c: Likewise.
3848 * testsuite/libffi.call/nested_struct1.c: Likewise.
3849 * testsuite/libffi.call/nested_struct2.c: Likewise.
3850 * testsuite/libffi.call/nested_struct3.c: Likewise.
3851 * testsuite/libffi.call/problem1.c: Likewise.
3852 * testsuite/libffi.special/unwindtest.cc: Likewise.
3853 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
3854 to zero.
3855 * testsuite/libffi.call/cls_16byte.c: Likewise.
3856 * testsuite/libffi.call/cls_5byte.c: Likewise.
3857
39dca114
DD
38582004-08-23 David Daney <daney@avtrex.com>
3859
3860 PR libgcj/13141
3861 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
3862 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
3863 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
3864 parameters and return types.
3865 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
3866 (ffi_prep_closure): Ditto.
3867 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
3868 alignment calculations.
3869 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
3870 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
3871
b790003a
CM
38722004-08-14 Casey Marshall <csm@gnu.org>
3873
3874 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
3875 contain `FFI_TYPE_UINT64' as return type for any 64-bit
3876 integer (O32 ABI only).
3877 (ffi_prep_closure): new function.
3878 (ffi_closure_mips_inner_O32): new function.
c6900272 3879 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
b790003a
CM
3880 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
3881 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
3882 64 bit integers correctly.
3883 (ffi_closure_O32): new function.
3884 Added DWARF-2 unwind info for both functions.
3885
547d71a1
AH
38862004-08-10 Andrew Haley <aph@redhat.com>
3887
3888 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
3889
98a5bb3b
RM
38902004-08-01 Robert Millan <robertmh@gnu.org>
3891
3892 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
3893 * configure: Regenerate.
3894
4d447364
MR
38952004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
3896
3897 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
3898 and mmap() explicitly instead of relying on preset autoconf cache
3899 variables.
3900 * aclocal.m4: Regenerate.
3901 * configure: Regenerate.
3902
e5dce82f
UW
39032004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
3904
3905 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
3906 (ffi_check_float_struct): Remove unused prototype.
3907
e6a0022b
GK
39082004-06-30 Geoffrey Keating <geoffk@apple.com>
3909
3910 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
3911 character on Darwin, use '\n\t' instead.
3912
5a2d52ca
MK
39132004-06-26 Matthias Klose <doko@debian.org>
3914
3915 * libtool-version: Fix typo in revision/age.
3916
401844ef
MK
39172004-06-17 Matthias Klose <doko@debian.org>
3918
3919 * libtool-version: New.
3920 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
3921 * Makefile.in: Regenerate.
3922
94632047 39232004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
3924
3925 * Makefile.am: Remove useless multilib rules.
3926 * Makefile.in: Regenerate.
3927 * aclocal.m4: Regenerate with automake 1.8.5.
3928 * configure.ac: Remove useless multilib configury.
3929 * configure: Regenerate.
3930
94632047 39312004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
3932
3933 * .cvsignore: New file.
3934
37c849e4
JJ
39352004-06-10 Jakub Jelinek <jakub@redhat.com>
3936
3937 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
3938 fp_done.
3939 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
3940 changed from 8.
3941
cb623172
SM
39422004-06-06 Sean McNeil <sean@mcneil.com>
3943
3944 * configure.ac: Add x86_64-*-freebsd* support.
3945 * configure: Regenerate.
3946
c9b93377
JB
39472004-04-26 Joe Buck <jbuck@welsh-buck.org>
3948
3949 Bug 15093
3950 * configure.ac: Test for existence of mmap and sys/mman.h before
3951 checking blacklist. Fix suggested by Jim Wilson.
3952 * configure: Regenerate.
3953
cf90fd1b
MA
39542004-04-26 Matt Austern <austern@apple.com>
3955
3956 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
3957 FDE location.
3958 * src/powerpc/darwin_closure.S: Likewise.
c6900272 3959
67781b44
AT
39602004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
3961
3962 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
3963 error. Reported by Thomas Heller <theller@python.net>.
3964 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
3965 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
3966
14b078a8
MK
39672004-03-20 Matthias Klose <doko@debian.org>
3968
3969 * src/pa/linux.S: Fix typo.
3970
d65a810f
MK
39712004-03-19 Matthias Klose <doko@debian.org>
3972
67781b44 3973 * Makefile.am: Update.
d65a810f
MK
3974 * Makefile.in: Regenerate.
3975 * src/pa/ffi.h.in: Remove.
3976 * src/pa/ffitarget.h: New file.
3977
39782004-02-10 Randolph Chung <tausq@debian.org>
3979
3980 * Makefile.am: Add PA support.
3981 * Makefile.in: Regenerate.
3982 * include/Makefile.in: Regenerate.
3983 * configure.ac: Add PA target.
3984 * configure: Regenerate.
3985 * src/pa/ffi.c: New file.
3986 * src/pa/ffi.h.in: Add PA support.
3987 * src/pa/linux.S: New file.
3988 * prep_cif.c: Add PA support.
3989
09cababc
HY
39902004-03-16 Hosaka Yuji <hos@tamanegi.org>
3991
3992 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
3993 double.
3994 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
3995 with ecif->cif->flags.
3996 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
3997 with cif->flags.
3998 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
3999 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
4000 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
4001 sc_retstruct2b): Add for 1 or 2-bytes struct case.
4002
0e8d0c5f
KC
40032004-03-15 Kelley Cook <kcook@gcc.gnu.org>
4004
4005 * configure.in: Rename file to ...
4006 * configure.ac: ... this.
4007 * fficonfig.h.in: Regenerate.
4008 * Makefile.in: Regenerate.
4009 * include/Makefile.in: Regenerate.
4010 * testsuite/Makefile.in: Regenerate.
4011
b8d50739
MA
40122004-03-12 Matt Austern <austern@apple.com>
4013
4014 * src/powerpc/darwin.S: Fix EH information so it corresponds to
4015 changes in EH format resulting from addition of linkonce support.
4016 * src/powerpc/darwin_closure.S: Likewise.
09cababc 4017
3ed8e5b6
AT
40182004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
4019 Paolo Bonzini <bonzini@gnu.org>
4020
4021 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
4022 Remove VPATH. Remove rules for object files. Remove multilib support.
4023 (AM_CCASFLAGS): Add.
4024 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
4025 (AC_PREREQ): Bump version to 2.59.
4026 (AC_INIT): Fill with version info and bug address.
4027 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
4028 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
4029 De-precious CC so that the right flags are passed down to multilibs.
4030 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
4031 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
4032 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
4033 * configure: Rebuilt.
4034 * aclocal.m4: Likewise.
4035 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
4036 * fficonfig.h.in: Likewise.
4037
254ea477
AS
40382004-03-11 Andreas Schwab <schwab@suse.de>
4039
4040 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
4041 arguments from fp registers only for the first 8 parameter slots.
4042 Don't convert a float parameter when passed in memory.
4043
3beb1315
HPN
40442004-03-09 Hans-Peter Nilsson <hp@axis.com>
4045
4046 * configure: Regenerate for config/accross.m4 correction.
4047
fecf735c
MK
40482004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
4049
4050 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
4051 ecif->cif->bytes to bytes.
4052 (ffi_prep_cif_machdep): Add braces around nested if statement.
4053
4243752c
AM
40542004-02-09 Alan Modra <amodra@bigpond.net.au>
4055
12001e0f
AM
4056 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
4057
4243752c
AM
4058 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
4059 (ffi_closure_helper_LINUX64): Fix typo.
4060 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
4061 for powerpc64-*-*.
4062 * testsuite/libffi.call/float.c: Likewise.
4063 * testsuite/libffi.call/float2.c: Likewise.
4064
bf310028
AM
40652004-02-08 Alan Modra <amodra@bigpond.net.au>
4066
4067 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
4068 long double function return and long double arg handling.
4069 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
4070 Use "end_pfr" instead of "nf". Correct long double handling.
4071 Localise "temp".
4072 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
4073 return value.
4074 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
4075 space for long double return value. Adjust stack frame and offsets.
4076 Load f2 long double return.
4077
dd5f9ea2
AM
40782004-02-07 Alan Modra <amodra@bigpond.net.au>
4079
4080 * src/types.c: Use 16 byte long double for POWERPC64.
4081
0ce78f01
EB
40822004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4083
4084 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
4085 when the structure return address is passed in %o0.
4086 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
4087 (ffi_v9_layout_struct): Align the field following a nested structure
4088 on a word boundary. Use memmove instead of memcpy.
4089 (ffi_call): Update call to ffi_V9_return_struct.
4090 (ffi_prep_closure): Define 'ctx' only for V8.
4091 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
4092 and ffi_closure_sparc_inner_v9.
4093 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
4094 Always skip the structure return address. For structures and long
4095 doubles, copy the argument directly.
4096 (ffi_closure_sparc_inner_v9): Skip the structure return address only
4097 if required. Shift the maximum floating-point slot accordingly. For
4098 big structures, copy the argument directly; otherwise, left-justify the
4099 argument and call ffi_v9_layout_struct to lay out the structure on
4100 the stack.
4101 * src/sparc/v8.S: Undef STACKFRAME before defining it.
4102 (ffi_closure_v8): Pass the structure return address. Update call to
4103 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
4104 Skip the 'unimp' insn when returning long doubles and structures.
4105 * src/sparc/v9.S: Undef STACKFRAME before defining it.
4106 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
4107 FFI_TYPE_INT handling. Load structures both in integers and
4108 floating-point registers on return.
4109 * README: Update status of the SPARC port.
4110
7fcc1d9b
AT
41112004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
4112
4113 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
4114 as of type ffi_arg.
4115 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
4116
6ed0ecaf
UW
41172004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
4118
4119 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
4120 value as of type ffi_arg, not unsigned int.
4121
c930d8a5
MR
41222004-01-21 Michael Ritzert <ritzert@t-online.de>
4123
4124 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
4125 of the LHS.
4126
7b2e3e60
AT
41272004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
4128
4129 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
4130 Solaris.
4131
2e89756b
RO
41322004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4133
4134 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
4135 to void *.
4136
628b26f8
RH
41372003-12-10 Richard Henderson <rth@redhat.com>
4138
4139 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
4140 size_t instead of int.
4141
0ee646d6
HY
41422003-12-04 Hosaka Yuji <hos@tamanegi.org>
4143
4144 * testsuite/libffi.call/many_win32.c: Include <float.h>.
4145 * testsuite/libffi.call/many_win32.c (main): Replace variable
4146 int i with unsigned long ul.
4147
4148 * testsuite/libffi.call/cls_align_uint64.c: New test case.
4149 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
4150 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
4151 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
4152 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
4153 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
4154 * testsuite/libffi.call/cls_align_float.c: Likewise.
4155 * testsuite/libffi.call/cls_align_double.c: Likewise.
4156 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4157 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
4158
2c4ed456
HY
41592003-12-02 Hosaka Yuji <hos@tamanegi.org>
4160
4161 PR other/13221
4162 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
4163 Align arguments to 32 bits.
4164
d18c3386
AT
41652003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
4166
4167 PR other/13221
4168 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
4169 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4170 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4171 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
4172 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4173 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4174
4175 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
4176
88096b2a
KG
41772003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4178
4179 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
4180 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4181
3eee102e
AT
41822003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
4183
4184 * Makefile.in: Rebuilt.
4185 * configure: Likewise.
4186 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
4187 the right type.
4188
5196736e
AJ
41892003-11-21 Andreas Jaeger <aj@suse.de>
4190 Andreas Tobler <a.tobler@schweiz.ch>
4191
4192 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
4193 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
4194 * Makefile.in: Rebuilt.
4195 * aclocal.m4: Likewise.
4196 * configure: Likewise.
4197 * fficonfig.h.in: Likewise.
4198 * testsuite/lib/libffi-dg.exp: Add include dir.
4199 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
4200 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4201 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
4202 for ffi_closure if available.
4203 * testsuite/libffi.call/closure_fn1.c: Likewise.
4204 * testsuite/libffi.call/closure_fn2.c: Likewise.
4205 * testsuite/libffi.call/closure_fn3.c: Likewise.
4206 * testsuite/libffi.call/closure_fn4.c: Likewise.
4207 * testsuite/libffi.call/closure_fn5.c: Likewise.
4208 * testsuite/libffi.call/cls_12byte.c: Likewise.
4209 * testsuite/libffi.call/cls_16byte.c: Likewise.
4210 * testsuite/libffi.call/cls_18byte.c: Likewise.
4211 * testsuite/libffi.call/cls_19byte.c: Likewise.
4212 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4213 * testsuite/libffi.call/cls_20byte.c: Likewise.
4214 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4215 * testsuite/libffi.call/cls_24byte.c: Likewise.
4216 * testsuite/libffi.call/cls_2byte.c: Likewise.
4217 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4218 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4219 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4220 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4221 * testsuite/libffi.call/cls_4byte.c: Likewise.
4222 * testsuite/libffi.call/cls_5byte.c: Likewise.
4223 * testsuite/libffi.call/cls_64byte.c: Likewise.
4224 * testsuite/libffi.call/cls_6byte.c: Likewise.
4225 * testsuite/libffi.call/cls_7byte.c: Likewise.
4226 * testsuite/libffi.call/cls_8byte.c: Likewise.
4227 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4228 * testsuite/libffi.call/cls_9byte2.c: Likewise.
4229 * testsuite/libffi.call/cls_double.c: Likewise.
4230 * testsuite/libffi.call/cls_float.c: Likewise.
4231 * testsuite/libffi.call/cls_schar.c: Likewise.
4232 * testsuite/libffi.call/cls_sint.c: Likewise.
4233 * testsuite/libffi.call/cls_sshort.c: Likewise.
4234 * testsuite/libffi.call/cls_uchar.c: Likewise.
4235 * testsuite/libffi.call/cls_uint.c: Likewise.
4236 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4237 * testsuite/libffi.call/cls_ushort.c: Likewise.
4238 * testsuite/libffi.call/nested_struct.c: Likewise.
4239 * testsuite/libffi.call/nested_struct1.c: Likewise.
4240 * testsuite/libffi.call/nested_struct2.c: Likewise.
4241 * testsuite/libffi.call/nested_struct3.c: Likewise.
4242 * testsuite/libffi.call/problem1.c: Likewise.
4243 * testsuite/libffi.special/unwindtest.cc: Likewise.
4244
9e6c3ecb
AT
42452003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
4246
4247 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
4248
70d8f2a1
AT
42492003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
4250
4251 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
4252 Add -lgcc_s to additional flags.
4253
ea81d2a3
AT
42542003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
4255
4256 * configure.in, include/Makefile.am: PR libgcj/11147, install
4257 the ffitarget.h header file in a gcc versioned and target
4258 dependent place.
4259 * configure: Regenerated.
4260 * Makefile.in, include/Makefile.in: Likewise.
4261 * testsuite/Makefile.in: Likewise.
4262
647af4a9
AT
42632003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
4264
4265 * testsuite/libffi.call/closure_fn0.c: Print result and check
4266 with dg-output to make debugging easier.
4267 * testsuite/libffi.call/closure_fn1.c: Likewise.
4268 * testsuite/libffi.call/closure_fn2.c: Likewise.
4269 * testsuite/libffi.call/closure_fn3.c: Likewise.
4270 * testsuite/libffi.call/closure_fn4.c: Likewise.
4271 * testsuite/libffi.call/closure_fn5.c: Likewise.
4272 * testsuite/libffi.call/cls_12byte.c: Likewise.
4273 * testsuite/libffi.call/cls_16byte.c: Likewise.
4274 * testsuite/libffi.call/cls_18byte.c: Likewise.
4275 * testsuite/libffi.call/cls_19byte.c: Likewise.
4276 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4277 * testsuite/libffi.call/cls_20byte.c: Likewise.
4278 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4279 * testsuite/libffi.call/cls_24byte.c: Likewise.
4280 * testsuite/libffi.call/cls_2byte.c: Likewise.
4281 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4282 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4283 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4284 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4285 * testsuite/libffi.call/cls_4byte.c: Likewise.
4286 * testsuite/libffi.call/cls_5byte.c: Likewise.
4287 * testsuite/libffi.call/cls_64byte.c: Likewise.
4288 * testsuite/libffi.call/cls_6byte.c: Likewise.
4289 * testsuite/libffi.call/cls_7byte.c: Likewise.
4290 * testsuite/libffi.call/cls_8byte.c: Likewise.
4291 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4292 * testsuite/libffi.call/cls_9byte2.c: Likewise.
4293 * testsuite/libffi.call/cls_double.c: Likewise.
4294 * testsuite/libffi.call/cls_float.c: Likewise.
4295 * testsuite/libffi.call/cls_schar.c: Likewise.
4296 * testsuite/libffi.call/cls_sint.c: Likewise.
4297 * testsuite/libffi.call/cls_sshort.c: Likewise.
4298 * testsuite/libffi.call/cls_uchar.c: Likewise.
4299 * testsuite/libffi.call/cls_uint.c: Likewise.
4300 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4301 * testsuite/libffi.call/cls_ushort.c: Likewise.
4302 * testsuite/libffi.call/problem1.c: Likewise.
4303
4304 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
4305 static.
4306
ac47cc13
AT
43072003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4308
4309 * testsuite/libffi.call/cls_9byte2.c: New test case.
4310 * testsuite/libffi.call/cls_9byte1.c: Likewise.
4311 * testsuite/libffi.call/cls_64byte.c: Likewise.
4312 * testsuite/libffi.call/cls_20byte1.c: Likewise.
4313 * testsuite/libffi.call/cls_19byte.c: Likewise.
4314 * testsuite/libffi.call/cls_18byte.c: Likewise.
4315 * testsuite/libffi.call/closure_fn4.c: Likewise.
4316 * testsuite/libffi.call/closure_fn5.c: Likewise.
4317 * testsuite/libffi.call/cls_schar.c: Likewise.
4318 * testsuite/libffi.call/cls_sint.c: Likewise.
4319 * testsuite/libffi.call/cls_sshort.c: Likewise.
4320 * testsuite/libffi.call/nested_struct2.c: Likewise.
4321 * testsuite/libffi.call/nested_struct3.c: Likewise.
4322
f145ed6b
AT
43232003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4324
4325 * testsuite/libffi.call/cls_double.c: Do a check on the result.
4326 * testsuite/libffi.call/cls_uchar.c: Likewise.
4327 * testsuite/libffi.call/cls_uint.c: Likewise.
4328 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4329 * testsuite/libffi.call/cls_ushort.c: Likewise.
4330 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
4331
2b04d015
AT
43322003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
4333
4334 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
4335 the initialization.
4336
57f542b3
AT
43372003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
4338
2b04d015 4339 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
4340 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
4341
e61acf72
DD
43422003-10-22 David Daney <ddaney@avtrex.com>
4343
4344 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
4345 __attribute__((__mode__(__SI__))) and friends.
4346
2461c08b
AS
43472003-10-22 Andreas Schwab <schwab@suse.de>
4348
4349 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
4350
1450eb7a
AT
43512003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
4352
4353 * configure.in: AC_LINK_FILES(ffitarget.h).
4354 * configure: Regenerate.
4355 * Makefile.in: Likewise.
4356 * include/Makefile.in: Likewise.
4357 * testsuite/Makefile.in: Likewise.
4358 * fficonfig.h.in: Likewise.
4359
43602003-10-21 Paolo Bonzini <bonzini@gnu.org>
4361 Richard Henderson <rth@redhat.com>
4362
4363 Avoid that ffi.h includes fficonfig.h.
4364
4365 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
4366 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4367 (TARGET_SRC_MIPS_SGI): Removed.
4368 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4369 (MIPS_SGI): Removed.
4370 (CLEANFILES): Removed.
4371 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
4372 targets.
4373 * acconfig.h: Removed.
4374 * configure.in: Compute sizeofs only for double and long double.
4375 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
4376 into AC_DEFINE instead of using acconfig.h. Create
4377 include/ffitarget.h instead of include/fficonfig.h. Rename
4378 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
4379 AC_DEFINE EH_FRAME_FLAGS.
4380 * include/Makefile.am (DISTCLEANFILES): New automake macro.
4381 (hack_DATA): Add ffitarget.h.
4382 * include/ffi.h.in: Remove all system specific definitions.
4383 Declare raw API even if it is not installed, why bother?
4384 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
4385 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
4386 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
4387 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
4388 * include/ffi_common.h (bool): Do not define.
4389 (ffi_assert): Accept failed assertion.
4390 (ffi_type_test): Return void and accept file/line.
4391 (FFI_ASSERT): Pass stringized failed assertion.
4392 (FFI_ASSERT_AT): New macro.
4393 (FFI_ASSERT_VALID_TYPE): New macro.
4394 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
4395 UINT64, SINT64): Define here with gcc's __attribute__ macro
4396 instead of in ffi.h
4397 (FLOAT32, ALIGN): Define here instead of in ffi.h
4398 * include/ffi-mips.h: Removed. Its content moved to
4399 src/mips/ffitarget.h after separating assembly and C sections.
4400 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
4401 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
4402 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
4403 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
4404 SIZEOF_ARG -> FFI_SIZEOF_ARG.
4405 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
4406 * src/debug.c (ffi_assert): Accept stringized failed assertion.
4407 (ffi_type_test): Rewritten.
4408 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
4409 FFI_ASSERT_VALID_TYPE.
4410 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
4411 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
4412 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
4413 src/s390/ffitarget.h, src/sh/ffitarget.h,
4414 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
4415 src/x86/ffitarget.h: New files.
4416 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
4417 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
4418 src/powerpc/aix.S, src/powerpc/darwin.S,
4419 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
4420 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
4421 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
4422 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
4423 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
4424 include fficonfig.h
4425
27d54b2a
RO
44262003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4427
4428 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
4429 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
4430
0df6970d
AT
44312003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
4432
4433 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
4434 Used when FFI_DEBUG = 1.
4435
2612ffce
AM
44362003-10-14 Alan Modra <amodra@bigpond.net.au>
4437
4438 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
4439 and align.
4440
d54f7354
RO
44412003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4442
4443 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
4444 FFI_MIPS_O32 for O32 ABI.
4445
7a54c850
AT
44462003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
4447
4448 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
4449 SPARC64. Cleanup whitespaces.
4450
9e3bfa9b
AT
44512003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
4452
4453 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
4454 strongarm, xscale. Cleanup whitespaces.
4455 * testsuite/libffi.call/closure_fn1.c: Likewise.
4456 * testsuite/libffi.call/closure_fn2.c: Likewise.
4457 * testsuite/libffi.call/closure_fn3.c: Likewise.
4458 * testsuite/libffi.call/cls_12byte.c: Likewise.
4459 * testsuite/libffi.call/cls_16byte.c: Likewise.
4460 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4461 * testsuite/libffi.call/cls_20byte.c: Likewise.
4462 * testsuite/libffi.call/cls_24byte.c: Likewise.
4463 * testsuite/libffi.call/cls_2byte.c: Likewise.
4464 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4465 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4466 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4467 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4468 * testsuite/libffi.call/cls_4byte.c: Likewise.
4469 * testsuite/libffi.call/cls_5byte.c: Likewise.
4470 * testsuite/libffi.call/cls_6byte.c: Likewise.
4471 * testsuite/libffi.call/cls_7byte.c: Likewise.
4472 * testsuite/libffi.call/cls_8byte.c: Likewise.
4473 * testsuite/libffi.call/cls_double.c: Likewise.
4474 * testsuite/libffi.call/cls_float.c: Likewise.
4475 * testsuite/libffi.call/cls_uchar.c: Likewise.
4476 * testsuite/libffi.call/cls_uint.c: Likewise.
4477 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4478 * testsuite/libffi.call/cls_ushort.c: Likewise.
4479 * testsuite/libffi.call/nested_struct.c: Likewise.
4480 * testsuite/libffi.call/nested_struct1.c: Likewise.
4481 * testsuite/libffi.call/problem1.c: Likewise.
4482 * testsuite/libffi.special/unwindtest.cc: Likewise.
4483 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
4484
3e86b595
DE
44852003-09-18 David Edelsohn <edelsohn@gnu.org>
4486
4487 * src/powerpc/aix.S: Cleanup whitespaces.
4488 * src/powerpc/aix_closure.S: Likewise.
4489
8d8369f8
AT
44902003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4491
4492 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
4493 * src/powerpc/darwin_closure.S: Likewise.
4494 * src/powerpc/ffi_darwin.c: Likewise.
4495
69b182fd
AT
44962003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4497 David Edelsohn <edelsohn@gnu.org>
4498
4499 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
4500 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
4501 parameter stack.
4502 * src/powerpc/darwin_closure.S: Likewise.
4503 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4504 according to the Darwin/AIX ABI.
4505 (ffi_prep_cif_machdep): Likewise.
4506 (ffi_closure_helper_DARWIN): Likewise.
4507 Remove the outgoing parameter stack logic. Simplify the evaluation
4508 of the different CASE types.
4509 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4510 statement in the trampoline code.
4511
df805cdc
KK
45122003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4513
4514 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4515 for the register size.
4516 (ffi_closure_helper_SYSV): Handle the structure return value
4517 address correctly.
4518 (ffi_closure_helper_SYSV): Return the appropriate type when
4519 the registers are used for the structure return value.
4520 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4521 the 64-bit return value. Update copyright years.
4522
eb26c76c
RO
45232003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4524
4525 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4526 srcdir for ffi_mips.h.
4527
6350c02c
AM
45282003-09-12 Alan Modra <amodra@bigpond.net.au>
4529
4530 * src/prep_cif.c (initialize_aggregate): Include tail padding in
4531 structure size.
4532 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4533 placement of float result.
4534 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4535 cast of "resp" for big-endian 64 bit machines.
4536
5af1c806
AM
45372003-09-11 Alan Modra <amodra@bigpond.net.au>
4538
4539 * src/types.c (double, longdouble): Merge identical SH and ARM
4540 typedefs, and add POWERPC64.
4541 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4542 struct split over gpr and rest.
4543 (ffi_prep_cif_machdep): Correct intarg_count for structures.
4544 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4545
086a4bd7
AT
45462003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
4547
4548 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4549 passing correctly.
c930d8a5 4550
e517f636
AM
45512003-09-09 Alan Modra <amodra@bigpond.net.au>
4552
4553 * configure: Regenerate.
4554
6f20d627
AT
45552003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4556
4557 * Makefile.am: Remove build rules for ffitest.
4558 * Makefile.in: Rebuilt.
c930d8a5 4559
6f20d627 45602003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
4561
4562 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4563 about implicit declaration of abort().
4564
bbf3057b
AT
45652003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4566
4567 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4568 * Makefile.in: Rebuilt.
4569 * configure.in: Add dejagnu test framework.
4570 * configure: Rebuilt.
4571
4572 * testsuite/Makefile.am: New file.
4573 * testsuite/Makefile.in: Built
c930d8a5 4574 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
4575 * testsuite/config/default.exp: Likewise.
4576 * testsuite/libffi.call/call.exp: Likewise.
4577 * testsuite/libffi.call/ffitest.h: Likewise.
4578 * testsuite/libffi.call/closure_fn0.c: Likewise.
4579 * testsuite/libffi.call/closure_fn1.c: Likewise.
4580 * testsuite/libffi.call/closure_fn2.c: Likewise.
4581 * testsuite/libffi.call/closure_fn3.c: Likewise.
4582 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4583 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4584 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4585 * testsuite/libffi.call/cls_2byte.c: Likewise.
4586 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4587 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4588 * testsuite/libffi.call/cls_4byte.c: Likewise.
4589 * testsuite/libffi.call/cls_5byte.c: Likewise.
4590 * testsuite/libffi.call/cls_6byte.c: Likewise.
4591 * testsuite/libffi.call/cls_7byte.c: Likewise.
4592 * testsuite/libffi.call/cls_8byte.c: Likewise.
4593 * testsuite/libffi.call/cls_12byte.c: Likewise.
4594 * testsuite/libffi.call/cls_16byte.c: Likewise.
4595 * testsuite/libffi.call/cls_20byte.c: Likewise.
4596 * testsuite/libffi.call/cls_24byte.c: Likewise.
4597 * testsuite/libffi.call/cls_double.c: Likewise.
4598 * testsuite/libffi.call/cls_float.c: Likewise.
4599 * testsuite/libffi.call/cls_uchar.c: Likewise.
4600 * testsuite/libffi.call/cls_uint.c: Likewise.
4601 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4602 * testsuite/libffi.call/cls_ushort.c: Likewise.
4603 * testsuite/libffi.call/float.c: Likewise.
4604 * testsuite/libffi.call/float1.c: Likewise.
4605 * testsuite/libffi.call/float2.c: Likewise.
4606 * testsuite/libffi.call/many.c: Likewise.
4607 * testsuite/libffi.call/many_win32.c: Likewise.
4608 * testsuite/libffi.call/nested_struct.c: Likewise.
4609 * testsuite/libffi.call/nested_struct1.c: Likewise.
4610 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
4611 * testsuite/libffi.call/problem1.c: Likewise.
4612 * testsuite/libffi.call/promotion.c: Likewise.
4613 * testsuite/libffi.call/return_ll.c: Likewise.
4614 * testsuite/libffi.call/return_sc.c: Likewise.
4615 * testsuite/libffi.call/return_uc.c: Likewise.
4616 * testsuite/libffi.call/strlen.c: Likewise.
4617 * testsuite/libffi.call/strlen_win32.c: Likewise.
4618 * testsuite/libffi.call/struct1.c: Likewise.
4619 * testsuite/libffi.call/struct2.c: Likewise.
4620 * testsuite/libffi.call/struct3.c: Likewise.
4621 * testsuite/libffi.call/struct4.c: Likewise.
4622 * testsuite/libffi.call/struct5.c: Likewise.
4623 * testsuite/libffi.call/struct6.c: Likewise.
4624 * testsuite/libffi.call/struct7.c: Likewise.
4625 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 4626 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
4627 * testsuite/libffi.special/special.exp: New file.
4628 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4629 * testsuite/libffi.special/unwindtest.cc: Likewise.
4630
c930d8a5 4631
996b4f8f
KK
46322003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4633
4634 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
4635 copyright years.
4636
b00badcd
AM
46372003-08-02 Alan Modra <amodra@bigpond.net.au>
4638
4639 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
4640 structure passing.
4641 (ffi_closure_helper_LINUX64): Likewise.
4642 * src/powerpc/linux64.S: Remove code writing to parm save area.
4643 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
4644 address in lr from ffi_closure_helper_LINUX64 call to calculate
4645 table address. Optimize function tail.
4646
c1516eae
AT
46472003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
4648
4649 * src/sparc/ffi.c: Handle all floating point registers.
4650 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
4651
fc0e6222
GP
46522003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4653
4654 * README: Note that libffi is not part of GCC. Update the project
4655 URL and status.
4656
a1569df8
FS
46572003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4658
4659 * src/powerpc/ppc_closure.S: Include ffi.h.
4660
12e816bf
RO
46612003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4662
4663 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
4664 Use C style comments.
4665
e860ed6d
KK
46662003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4667
4668 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
4669 * Makefile.in: Regenerate.
4670 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
4671 * configure: Regenerate.
4672 * include/ffi.h.in: Add SHmedia support.
4673 * src/sh64/ffi.c: New file.
4674 * src/sh64/sysv.S: New file.
4675
a733b15e
JJ
46762003-05-16 Jakub Jelinek <jakub@redhat.com>
4677
4678 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
4679 should be read-only.
4680 * configure: Rebuilt.
4681 * fficonfig.h.in: Rebuilt.
4682 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
4683 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
4684 * src/powerpc/linux64.S: Likewise.
4685 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
4686 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
4687 if -fpic/-fPIC/-mrelocatable.
4688 * src/powerpc/powerpc_closure.S: Likewise.
4689 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
4690 #write in .eh_frame flags.
4691 * src/sparc/v9.S: Likewise.
4692 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
4693 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
4694 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
4695
bd19c9f4
JS
46962003-05-07 Jeff Sturm <jsturm@one-point.com>
4697
4698 Fixes PR bootstrap/10656
4699 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
4700 support for .register pseudo-op.
4701 * src/sparc/v8.S: Use it.
4702 * fficonfig.h.in: Rebuilt.
4703 * configure: Rebuilt.
4704
e9b84181
JJ
47052003-04-18 Jakub Jelinek <jakub@redhat.com>
4706
4707 * include/ffi.h.in (POWERPC64): Define if 64-bit.
4708 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
4709 Make it the default on POWERPC64.
4710 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
4711 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
4712 * configure: Rebuilt.
4713 * src/powerpc/ffi.c (hidden): Define.
4714 (ffi_prep_args_SYSV): Renamed from
4715 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
4716 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
4717 ASM_NEEDS_REGISTERS64): New.
4718 (ffi_prep_args64): New function.
4719 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
4720 (ffi_call): Likewise.
4721 (ffi_prep_closure): Likewise.
4722 (flush_icache): Surround by #ifndef POWERPC64.
4723 (ffi_dblfl): New union type.
4724 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
4725 (ffi_closure_helper_LINUX64): New function.
4726 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
4727 __powerpc64__.
4728 * src/powerpc/sysv.S: Likewise.
4729 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
4730 * src/powerpc/linux64.S: New file.
4731 * src/powerpc/linux64_closure.S: New file.
4732 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
4733 src/powerpc/linux64_closure.S.
4734 (TARGET_SRC_POWERPC): Likewise.
4735
4736 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
4737 closure_test_fn3): Fix result printing on big-endian 64-bit
4738 machines.
4739 (main): Print tst2_arg instead of uninitialized tst2_result.
4740
4741 * src/ffitest.c (main): Hide what closure pointer really points to
4742 from the compiler.
4743
908a31e1
RE
47442003-04-16 Richard Earnshaw <rearnsha@arm.com>
4745
4746 * configure.in (arm-*-netbsdelf*): Add configuration.
4747 (configure): Regenerated.
4748
41a73c4c
LR
47492003-04-04 Loren J. Rittle <ljrittle@acm.org>
4750
4751 * include/Makefile.in: Regenerate.
4752
cd41c847
ZD
47532003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4754
4755 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
4756 bit mode.
4757 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
4758 Receive closure pointer through parameter, read args using
4759 __builtin_dwarf_cfa.
4760 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
4761
6db450f9
AS
47622003-03-12 Andreas Schwab <schwab@suse.de>
4763
4764 * configure.in: Avoid trailing /. in toolexeclibdir.
4765 * configure: Rebuilt.
4766
70144e9c
AT
47672003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
4768
c6900272 4769 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
70144e9c 4770
79e43f89
AT
47712003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
4772
4773 * libffi/src/powerpc/darwin_closure.S:
4774 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 4775 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
4776 Likewise.
4777 * libffi/src/powerpc/ffi_darwin.c:
4778 Update stackframe description for aix/darwin_closure.S.
c930d8a5 4779
0fcc9e55
JJ
47802003-02-06 Jakub Jelinek <jakub@redhat.com>
4781
4782 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
4783 attribute.
4784
63b87c2e
CC
47852003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
4786 Andreas Schwab <schwab@suse.de>
4787
c6900272 4788 * configure.in: Adjust command to source config-ml.in to account
63b87c2e
CC
4789 for changes to the libffi_basedir definition.
4790 (libffi_basedir): Remove ${srcdir} from value and include trailing
4791 slash if nonempty.
c930d8a5 4792
c6900272 4793 * configure: Regenerate.
63b87c2e 4794
c33402e2
FS
47952003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4796
4797 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
4798
fd2e49b2
AH
47992003-01-28 Andrew Haley <aph@redhat.com>
4800
4801 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
4802 * src/x86/ffi64.c (ffi_prep_closure): New.
4803 (ffi_closure_UNIX64_inner): New.
4804 * src/x86/unix64.S (ffi_closure_UNIX64): New.
4805
0e292c01
AO
48062003-01-27 Alexandre Oliva <aoliva@redhat.com>
4807
4808 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
4809 Remove USE_LIBDIR conditional.
4810 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
4811 * Makefile.in, configure: Rebuilt.
4812
acabc220
DE
48132003-01027 David Edelsohn <edelsohn@gnu.org>
4814
4815 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
4816 * Makefile.in: Regenerate.
4817
be0acd42
AH
48182003-01-22 Andrew Haley <aph@redhat.com>
4819
4820 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
4821 unwind info.
4822
ed695c8e
AT
48232003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
4824
4825 * src/powerpc/darwin.S: Add unwind info.
4826 * src/powerpc/darwin_closure.S: Likewise.
4827
45ba15f4
AH
48282003-01-14 Andrew Haley <aph@redhat.com>
4829
4830 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
4831 (ffi_prep_cif_machdep): Likewise.
4832 * src/x86/unix64.S: Add unwind info.
4833
4b5f402e
AJ
48342003-01-14 Andreas Jaeger <aj@suse.de>
4835
4836 * src/ffitest.c (main): Only use ffi_closures if those are
4837 supported.
4838
7b5102af
TT
48392003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
4840
4841 * libffi/src/ffitest.c
c6900272 4842 add closure testcases
7b5102af
TT
4843
48442003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
4845
4846 * libffi/src/powerpc/ffi.c
c6900272 4847 fix alignment bug for float (4 byte aligned iso 8 byte)
7b5102af 4848
5f7c78d8
GK
48492003-01-09 Geoffrey Keating <geoffk@apple.com>
4850
4851 * src/powerpc/ffi_darwin.c: Remove RCS version string.
4852 * src/powerpc/darwin.S: Remove RCS version string.
4853
c75c7793
JS
48542003-01-03 Jeff Sturm <jsturm@one-point.com>
4855
4856 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
4857 * src/ffitest.c (main): Use static storage for closure.
4858 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
4859 * src/sparc/v8.S (ffi_closure_v8): New.
4860 * src/sparc/v9.S (ffi_closure_v9): New.
4861
eb3c46a1
RM
48622002-11-10 Ranjit Mathew <rmathew@hotmail.com>
4863
4864 * include/ffi.h.in: Added FFI_STDCALL ffi_type
4865 enumeration for X86_WIN32.
4866 * src/x86/win32.S: Added ffi_call_STDCALL function
4867 definition.
4868 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
4869 switch cases for recognising FFI_STDCALL and
4870 calling ffi_call_STDCALL if target is X86_WIN32.
4871 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
4872 stdcall versions of the "my_strlen" and "many"
4873 test functions (for X86_WIN32).
4874 Added test cases to test stdcall invocation using
4875 these functions.
4876
4977bab6
ZW
48772002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
4878
4879 * src/sh/sysv.S: Add DWARF2 unwind info.
4880
67333e84
UW
48812002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
4882
4883 * src/s390/sysv.S (.eh_frame section): Make section read-only.
4884
bc3cf760
JW
48852002-11-26 Jim Wilson <wilson@redhat.com>
4886
4887 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
4888
4977bab6
ZW
48892002-11-23 H.J. Lu <hjl@gnu.org>
4890
4891 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
4892 Include ../config/accross.m4.
4893 * aclocal.m4; Rebuild.
4894 * configure: Likewise.
4895
18789f4e
UW
48962002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4897
4898 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
4899
6bee5372
DD
49002002-11-11 DJ Delorie <dj@redhat.com>
4901
4902 * configure.in: Look for common files in the right place.
4903
8177895b
UW
49042002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
4905
4906 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
4907 raw data as _Jv_word values, not ffi_raw.
4908 (ffi_java_ptrarray_to_raw): Likewise.
4909 (ffi_java_rvalue_to_raw): New function.
4910 (ffi_java_raw_call): Call it.
4911 (ffi_java_raw_to_rvalue): New function.
4912 (ffi_java_translate_args): Call it.
4913 * src/ffitest.c (closure_test_fn): Interpret return value
4914 as ffi_arg, not int.
4915 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
4916 FFI_TYPE_POINTER case.
4917 (ffi_closure_helper_SYSV): Likewise. Also, assume return
4918 values extended to word size.
4919
af50f4c8
AJ
49202002-10-02 Andreas Jaeger <aj@suse.de>
4921
4922 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
4923
5d297584
BT
49242002-10-01 Bo Thorsen <bo@smetana.suse.de>
4925
4926 * include/ffi.h.in: Fix i386 win32 compilation.
4927
c4f17c6f
UW
49282002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
4929
4930 * configure.in: Add s390x-*-linux-* target.
4931 * configure: Regenerate.
4932 * include/ffi.h.in: Define S390X for s390x targets.
4933 (FFI_CLOSURES): Define for s390/s390x.
4934 (FFI_TRAMPOLINE_SIZE): Likewise.
4935 (FFI_NATIVE_RAW_API): Likewise.
4936 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
4937 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 4938 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
4939 s390x targets. Add closure support.
4940 * src/s390/sysv.S: Likewise.
4941
d7b52625
RE
49422002-09-29 Richard Earnshaw <rearnsha@arm.com>
4943
4944 * src/arm/sysv.S: Fix typo.
4945
28165e22
RE
49462002-09-28 Richard Earnshaw <rearnsha@arm.com>
4947
4948 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
4949 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
4950 (ffi_call_SYSV): Handle soft-float.
4951
0b0f4163
BT
49522002-09-27 Bo Thorsen <bo@suse.de>
4953
4954 * include/ffi.h.in: Fix multilib x86-64 support.
4955
6c5d742e
KG
49562002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4957
4958 * Makefile.am (all-multi): Fix multilib parallel build.
4959
f4b2b0d6
KK
49602002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
4961
4962 * configure.in (sh[34]*-*-linux*): Add brackets.
4963 * configure: Regenerate.
4964
ddebdfeb
KK
49652002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
4966
4967 * Makefile.am: Add SH support.
4968 * Makefile.in: Regenerate.
4969 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
4970 * configure: Regenerate.
4971 * include/ffi.h.in: Add SH support.
4972 * src/sh/ffi.c: New file.
4973 * src/sh/sysv.S: New file.
4974 * src/types.c: Add SH support.
4975
c94974ca
BT
49762002-07-16 Bo Thorsen <bo@suse.de>
4977
4978 * src/x86/ffi64.c: New file that adds x86-64 support.
4979 * src/x86/unix64.S: New file that handles argument setup for
4980 x86-64.
4981 * src/x86/sysv.S: Don't use this on x86-64.
4982 * src/x86/ffi.c: Don't use this on x86-64.
4983 Remove unused vars.
4984 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
4985 for x86-64.
4986 * src/ffitest.c (struct6): New test that tests a special case in
4987 the x86-64 ABI.
4988 (struct7): Likewise.
4989 (struct8): Likewise.
4990 (struct9): Likewise.
4991 (closure_test_fn): Silence warning about this when it's not used.
4992 (main): Add the new tests.
4993 (main): Fix a couple of wrong casts and silence some compiler warnings.
4994 * include/ffi.h.in: Add x86-64 ABI definition.
4995 * fficonfig.h.in: Regenerate.
4996 * Makefile.am: Add x86-64 support.
4997 * configure.in: Likewise.
4998 * Makefile.in: Regenerate.
4999 * configure: Likewise.
5000
50012002-06-24 Bo Thorsen <bo@suse.de>
5002
5003 * src/types.c: Merge settings for similar architectures.
5004 Add x86-64 sizes and alignments.
5005
50062002-06-23 Bo Thorsen <bo@suse.de>
5007
5008 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
5009 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
5010 * src/mips/ffi.c (ffi_prep_args): Likewise.
5011 * src/m68k/ffi.c (ffi_prep_args): Likewise.
5012
5be36a8f
L
50132002-07-18 H.J. Lu (hjl@gnu.org)
5014
5015 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
5016 (libffi_la_SOURCES): Support MIPS_LINUX.
5017 (libffi_convenience_la_SOURCES): Likewise.
5018 * Makefile.in: Regenerated.
5019
5020 * configure.in (mips64*-*): Skip.
5021 (mips*-*-linux*): New.
5022 * configure: Regenerated.
5023
5024 * src/mips/ffi.c: Include <sgidefs.h>.
5025
ad5e163c
UW
50262002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
5027
5028 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
5029
ee4586c5
RS
50302002-05-27 Roger Sayle <roger@eyesopen.com>
5031
5032 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
5033
b86aa7b0
BT
50342002-05-27 Bo Thorsen <bo@suse.de>
5035
5036 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
5037 fix formatting.
5038
859f7aaf
AT
50392002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
5040
5041 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
5042 beginning of function (for older apple cc).
5043
6706f116
AO
50442002-05-08 Alexandre Oliva <aoliva@redhat.com>
5045
5046 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
5047 script entry, and set LD to it when configuring multilibs.
5048 * configure: Rebuilt.
5049
fad655c8
JT
50502002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
5051
5052 * configure.in (sparc64-*-netbsd*): Add target.
5053 (sparc-*-netbsdelf*): Likewise.
5054 * configure: Regenerate.
5055
189ab118
DM
50562002-04-28 David S. Miller <davem@redhat.com>
5057
5058 * configure.in, configure: Fix SPARC test in previous change.
5059
22bcf65c
GT
50602002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
5061
5062 * Makefile.am: Add Linux for S/390 support.
5063 * Makefile.in: Regenerate.
5064 * configure.in: Add Linux for S/390 support.
5065 * configure: Regenerate.
5066 * include/ffi.h.in: Add Linux for S/390 support.
5067 * src/s390/ffi.c: New file from libffi CVS tree.
5068 * src/s390/sysv.S: New file from libffi CVS tree.
5069
5d84cf0b
JJ
50702002-04-28 Jakub Jelinek <jakub@redhat.com>
5071
5072 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
5073 %r_disp32().
5074 * src/sparc/v8.S: Use it.
5075 * src/sparc/v9.S: Likewise.
5076 * fficonfig.h.in: Rebuilt.
5077 * configure: Rebuilt.
5078
cc382e5c
HB
50792002-04-08 Hans Boehm <Hans_Boehm@hp.com>
5080
5081 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
5082 correctly.
5083 * src/ia64/unix.S: Add unwind information. Fix comments.
5084 Save sp in a way that's compatible with unwind info.
5085 (ffi_call_unix): Correctly restore sp in all cases.
5086 * src/ia64/ffi.c: Add, fix comments.
5087
dc798645
JJ
50882002-04-08 Jakub Jelinek <jakub@redhat.com>
5089
5090 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
5091
da00eaab
JT
50922002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
5093
5094 * configure.in (alpha*-*-netbsd*): Add target.
5095 * configure: Regenerate.
5096
0c0b87ad
JS
50972002-04-04 Jeff Sturm <jsturm@one-point.com>
5098
5099 * src/sparc/v8.S: Add unwind info.
5100 * src/sparc/v9.S: Likewise.
5101
320d7e7a
KW
51022002-03-30 Krister Walfridsson <cato@df.lth.se>
5103
5104 * configure.in: Enable i*86-*-netbsdelf*.
5105 * configure: Rebuilt.
4977bab6 5106
c75e51ed
DB
51072002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
5108
5109 PR other/2620
5110 * src/mips/n32.s: Delete
5111 * src/mips/o32.s: Delete
5112
5bb366e0
LR
51132002-03-21 Loren J. Rittle <ljrittle@acm.org>
5114
5115 * configure.in: Enable alpha*-*-freebsd*.
5116 * configure: Rebuilt.
5117
ce3b24a7
BM
51182002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5119
5120 * Makefile.am: libfficonvenience -> libffi_convenience.
5121 * Makefile.in: Rebuilt.
4977bab6 5122
1eb7ba30
BM
5123 * Makefile.am: Define ffitest_OBJECTS.
5124 * Makefile.in: Rebuilt.
ce3b24a7 5125
073ae293
AT
51262002-03-07 Andreas Tobler <toa@pop.agri.ch>
5127 David Edelsohn <edelsohn@gnu.org>
5128
5129 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
5130 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
5131 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
5132 * Makefile.in: Regenerate.
5133 * include/ffi.h.in: Add AIX and Darwin closure definitions.
5134 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
5135 (flush_icache, flush_range): New functions.
5136 (ffi_closure_helper_DARWIN): New function.
5137 * src/powerpc/aix_closure.S: New file.
5138 * src/powerpc/darwin_closure.S: New file.
4977bab6 5139
02c521f4
JS
51402002-02-24 Jeff Sturm <jsturm@one-point.com>
5141
5142 * include/ffi.h.in: Add typedef for ffi_arg.
5143 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 5144
287dd527
AT
51452002-02-21 Andreas Tobler <toa@pop.agri.ch>
5146
5147 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
5148 number of GPRs for floating-point arguments.
5149
e2f2e70a
AG
51502002-01-31 Anthony Green <green@redhat.com>
5151
5152 * configure: Rebuilt.
5153 * configure.in: Replace CHECK_SIZEOF and endian tests with
5154 cross-compiler friendly macros.
5155 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
5156 macros.
5157
15b9b32f
DE
51582002-01-18 David Edelsohn <edelsohn@gnu.org>
5159
5160 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 5161 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 5162
2f4006f8
DE
51632002-01-17 David Edelsohn <edelsohn@gnu.org>
5164
5165 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
5166 (TARGET_SRC_POWERPC_AIX): New.
5167 (POWERPC_AIX): New stanza.
5168 * Makefile.in: Regenerate.
5169 * configure.in: Add AIX case.
5170 * configure: Regenerate.
5171 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
5172 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
5173 size. Fix "long double" support.
5174 (ffi_call): Add FFI_AIX case.
5175 * src/powerpc/aix.S: New.
5176
3c017635
JH
51772001-10-09 John Hornkvist <john@toastedmarshmallow.com>
5178
5179 Implement Darwin PowerPC ABI.
5180 * configure.in: Handle powerpc-*-darwin*.
5181 * Makefile.am: Set source files for POWERPC_DARWIN.
5182 * configure: Rebuilt.
5183 * Makefile.in: Rebuilt.
5184 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
5185 POWERPC_DARWIN.
5186 * src/powerpc/darwin.S: New file.
5187 * src/powerpc/ffi_darwin.c: New file.
5188
cc712abf
JM
51892001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5190
5191 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
5192
03a8de49
RO
51932001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5194
5195 * src/x86/sysv.S: Avoid gas-only .balign directive.
5196 Use C style comments.
5197
92a0e6c6
RO
51982001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5199
5200 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
5201 Fixes PR bootstrap/3563.
5202
57482f58
RO
52032001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5204
5205 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
5206
d7e2dd2f
RO
52072001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5208
5209 * configure.in: Recognize sparc*-sun-* host.
5210 * configure: Regenerate.
4977bab6 5211
be72207c
AH
52122001-06-06 Andrew Haley <aph@redhat.com>
5213
4075db8f 5214 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 5215
552cb45a
AH
52162001-06-03 Andrew Haley <aph@redhat.com>
5217
4075db8f
BT
5218 * src/alpha/osf.S: Add unwind info.
5219 * src/powerpc/sysv.S: Add unwind info.
5220 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 5221
7d45b968
JS
52222000-05-31 Jeff Sturm <jsturm@one-point.com>
5223
5224 * configure.in: Fix AC_ARG_ENABLE usage.
5225 * configure: Rebuilt.
5226
2a7f63c4
BM
52272001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5228
5229 * configure.in: Remove warning about beta code.
5230 * configure: Rebuilt.
5231
52322001-04-25 Hans Boehm <Hans_Boehm@hp.com>
5233
03a55252
HB
5234 * src/ia64/unix.S: Restore stack pointer when returning from
5235 ffi_closure_UNIX.
5236 * src/ia64/ffi.c: Fix typo in comment.
5237
df5da1c4
JW
52382001-04-18 Jim Wilson <wilson@redhat.com>
5239
5240 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
5241 to eliminate RAW DV.
5242
52c28977
BM
52432001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
5244
5245 * Makefile.am: Make a libtool convenience library.
5246 * Makefile.in: Rebuilt.
5247
3b905056
BM
52482001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
5249
5250 * configure.in: Use different syntax for subdirectory creation.
5251 * configure: Rebuilt.
5252
d6c4152a
JB
52532001-03-27 Jon Beniston <jon@beniston.com>
5254
5255 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
5256 * configure: Rebuilt.
5257 * Makefile.am: Added X86_WIN32 target support.
5258 * Makefile.in: Rebuilt.
5259
5260 * include/ffi.h.in: Added X86_WIN32 target support.
5261
5262 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
5263 * src/types.c: Added X86_WIN32 target support.
5264
5265 * src/x86/win32.S: New file. Based on sysv.S, but with EH
5266 stuff removed and made to work with CygWin's gas.
5267
675cdab3
BM
52682001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
5269
5270 * configure.in: Make target subdirectory in build dir.
5271 * Makefile.am: Override suffix based rules to specify correct output
5272 subdirectory.
5273 * Makefile.in: Rebuilt.
5274 * configure: Rebuilt.
5275
e5f8858a 52762001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
5277
5278 * src/powerpc/ppc_closure.S: New file.
5279 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
5280 involving long long and register pairs.
5281 (ffi_prep_closure): New function.
5282 (flush_icache): Likewise.
5283 (ffi_closure_helper_SYSV): Likewise.
5284 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
5285 (FFI_TRAMPOLINE_SIZE): Likewise.
5286 (FFI_NATIVE_RAW_API): Likewise.
5287 * Makefile.in: Rebuilt.
5288 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
5289 (TARGET_SRC_POWERPC): Likewise.
5290
9450a929
TT
52912001-03-19 Tom Tromey <tromey@redhat.com>
5292
5293 * Makefile.in: Rebuilt.
5294 * Makefile.am (ffitest_LDFLAGS): New macro.
5295
4d2cf715
NC
52962001-03-02 Nick Clifton <nickc@redhat.com>
5297
5298 * include/ffi.h.in: Remove RCS ident string.
5299 * include/ffi_mips.h: Remove RCS ident string.
5300 * src/debug.c: Remove RCS ident string.
5301 * src/ffitest.c: Remove RCS ident string.
5302 * src/prep_cif.c: Remove RCS ident string.
5303 * src/types.c: Remove RCS ident string.
5304 * src/alpha/ffi.c: Remove RCS ident string.
5305 * src/alpha/osf.S: Remove RCS ident string.
5306 * src/arm/ffi.c: Remove RCS ident string.
5307 * src/arm/sysv.S: Remove RCS ident string.
5308 * src/mips/ffi.c: Remove RCS ident string.
5309 * src/mips/n32.S: Remove RCS ident string.
5310 * src/mips/o32.S: Remove RCS ident string.
5311 * src/sparc/ffi.c: Remove RCS ident string.
5312 * src/sparc/v8.S: Remove RCS ident string.
5313 * src/sparc/v9.S: Remove RCS ident string.
5314 * src/x86/ffi.c: Remove RCS ident string.
5315 * src/x86/sysv.S: Remove RCS ident string.
5316
7e5fd99f
JM
53172001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
5318
5319 * include/ffi.h.in: Change sourceware.cygnus.com references to
5320 gcc.gnu.org.
5321
3f67ba6e
RH
53222000-12-09 Richard Henderson <rth@redhat.com>
5323
5324 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
5325 (ffi_closure_osf_inner): Index rather than increment avalue
5326 and arg_types. Give ffi_closure_osf the raw return value type.
5327 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
5328 promotion.
5329
53302000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
5331
5332 * src/raw_api.c (ffi_translate_args): Fix typo.
5333 (ffi_prep_closure): Likewise.
5334
5335 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
5336 FFI_TRAMPOLINE_SIZE.
5337 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
5338 cif->bytes for new ffi_call_osf implementation.
5339 (ffi_prep_args): Absorb into ...
5340 (ffi_call): ... here. Do all stack allocation here and
5341 avoid a callback function.
5342 (ffi_prep_closure, ffi_closure_osf_inner): New.
5343 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
5344 (ffi_closure_osf): New.
5345
2f7bf5b7
AO
53462000-09-10 Alexandre Oliva <aoliva@redhat.com>
5347
ed1c1a1a
AO
5348 * config.guess, config.sub, install-sh: Removed.
5349 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
5350 * Makefile.in: Rebuilt.
5351
2f7bf5b7
AO
5352 * acinclude.m4: Include libtool macros from the top level.
5353 * aclocal.m4, configure: Rebuilt.
5354
e15a68e7
AO
53552000-08-22 Alexandre Oliva <aoliva@redhat.com>
5356
5357 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
5358 * configure: Rebuilt.
5359
7f8c11d5
SB
53602000-05-11 Scott Bambrough <scottb@netwinder.org>
5361
4977bab6
ZW
5362 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
5363 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
5364 possible.
5365
c5acf51f
TT
53662000-05-04 Tom Tromey <tromey@cygnus.com>
5367
5368 * configure: Rebuilt.
5369 * configure.in: Match `arm*-*-linux-*'.
5370 From Chris Dornan <cdornan@arm.com>.
5371
91bffbe9
JJ
53722000-04-28 Jakub Jelinek <jakub@redhat.com>
5373
5374 * Makefile.am (SUBDIRS): Define.
5375 (AM_MAKEFLAGS): Likewise.
5376 (Multilib support.): Add section.
5377 * Makefile.in: Rebuilt.
5378 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
5379 New variables. Set for gcc using -print-multi-lib. Export them
5380 to libtool.
5381 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
5382 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
5383 for -shared links.
5384 (extra_compiler_flags_value, extra_compiler_flags): Check these
5385 for extra compiler options which need to be passed down in
5386 compiler_flags.
91bffbe9 5387
bd66587e
AG
53882000-04-16 Anthony Green <green@redhat.com>
5389
5390 * configure: Rebuilt.
5391 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
5392
3791773c
JJ
53932000-04-14 Jakub Jelinek <jakub@redhat.com>
5394
4075db8f 5395 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
5396 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
5397 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
5398 Replace all void * sizeofs with sizeof(int).
5399 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
5400 different than DOUBLE.
5401 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
5402 (ffi_prep_args_v9): New function.
5403 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
5404 (ffi_V9_return_struct): New function.
5405 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
5406 32bit code (not yet cross-arch calls).
5407 * src/sparc/v8.S: Add struct return delay nop.
5408 Handle long long.
5409 * src/sparc/v9.S: New file.
5410 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
5411 is used on sparc64 only for structures larger than 32 bytes.
5412 Pass by reference for structures is done for structure arguments
5413 larger than 16 bytes.
5414 * src/ffitest.c (main): Use 64bit rint on sparc64.
5415 Run long long tests on sparc.
5416 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
5417 sparc64.
5418 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
5419 on sparc64.
5420 * configure.in (sparc-*-linux*): New supported target.
5421 (sparc64-*-linux*): Likewise.
5422 * configure: Rebuilt.
5423 * Makefile.am: Add v9.S to SPARC files.
5424 * Makefile.in: Likewise.
5425 (LINK): Surround $(CCLD) into double quotes, so that multilib
5426 compiles work correctly.
5427
db459595
APB
54282000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
5429
5430 * configure: Rebuilt.
5431 * configure.in: (i*86-*-solaris*): New libffi target. Patch
5432 proposed by Bryce McKinlay.
5433
c1f63902
TT
54342000-03-20 Tom Tromey <tromey@cygnus.com>
5435
5436 * Makefile.in: Hand edit for java_raw_api.lo.
5437
0f72dc9e
BM
54382000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
5439
5440 * config.guess, config.sub: Update from the gcc tree.
5441 Fix for PR libgcj/168.
5442
3c18f2d1
TT
54432000-03-03 Tom Tromey <tromey@cygnus.com>
5444
323eee8a
TT
5445 * Makefile.in: Fixed ia64 by hand.
5446
3c18f2d1
TT
5447 * configure: Rebuilt.
5448 * configure.in (--enable-multilib): New option.
5449 (libffi_basedir): New subst.
5450 (AC_OUTPUT): Added multilib code.
5451
a2b10a92
TT
54522000-03-02 Tom Tromey <tromey@cygnus.com>
5453
5454 * Makefile.in: Rebuilt.
5455 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
5456 directory name.
5457
dc5de370
HB
54582000-02-25 Hans Boehm <boehm@acm.org>
5459
5460 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
5461 files.
5462 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
5463 list.
5464 (ffi_prep_raw_closure): Use ffi_translate_args, not
5465 ffi_closure_translate.
5466 * src/java_raw_api.c: New file.
5467 * src/ffitest.c (closure_test_fn): New function.
5468 (main): Define `rint' as long long on IA64. Added new test when
5469 FFI_CLOSURES is defined.
5470 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
5471 (ffi_abi): Recognize IA64.
5472 (ffi_raw): Added `flt' field.
5473 Added "Java raw API" code.
5474 * configure.in: Recognize ia64.
5475 * Makefile.am (TARGET_SRC_IA64): New macro.
5476 (libffi_la_common_SOURCES): Added java_raw_api.c.
5477 (libffi_la_SOURCES): Define in IA64 case.
5478
d79229bd
TT
54792000-01-04 Tom Tromey <tromey@cygnus.com>
5480
5481 * Makefile.in: Rebuilt with newer automake.
5482
2c33b220
TT
54831999-12-31 Tom Tromey <tromey@cygnus.com>
5484
5485 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
5486
6ba9e3b0
TT
54871999-09-01 Tom Tromey <tromey@cygnus.com>
5488
5489 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
5490 undefs.
5491 * fficonfig.h.in: Rebuilt.
5492 * configure: Rebuilt.
5493 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
5494 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
5495 * acconfig.h: Don't #undef PACKAGE or VERSION.
5496
63e5e3e0
AG
54971999-08-09 Anthony Green <green@cygnus.com>
5498
5499 * include/ffi.h.in: Try to work around messy header problem
5500 with PACKAGE and VERSION.
5501
5502 * configure: Rebuilt.
5503 * configure.in: Change version to 2.00-beta.
5504
4075db8f 5505 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
5506 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5507
5508 * src/x86/ffi.c (ffi_raw_call): Rename.
5509
55101999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
5511
5512 * src/x86/ffi.c (ffi_closure_SYSV): New function.
5513 (ffi_prep_incoming_args_SYSV): Ditto.
5514 (ffi_prep_closure): Ditto.
5515 (ffi_closure_raw_SYSV): Ditto.
5516 (ffi_prep_raw_closure): More ditto.
5517 (ffi_call_raw): Final ditto.
5518
5519 * include/ffi.h.in: Add definitions for closure and raw API.
5520
5521 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 5522 FFI_TYPE_UINT64.
63e5e3e0
AG
5523
5524 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5525
5526 * src/raw_api.c: New file.
5527
5528 * include/ffi.h.in (ffi_raw): New type.
5529 (UINT_ARG, SINT_ARG): New defines.
5530 (ffi_closure, ffi_raw_closure): New types.
5531 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 5532
63e5e3e0
AG
5533 * configure.in: Add check for endianness and sizeof void*.
5534
5535 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5536 instead of directly.
5537
5538 * configure: Rebuilt.
5539
5540Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
5541
5542 * configure.in: Add x86 and powerpc BeOS configurations.
5543 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
5544
55451999-05-09 Anthony Green <green@cygnus.com>
5546
5547 * configure.in: Add warning about this being beta code.
5548 Remove src/Makefile.am from the picture.
5549 * configure: Rebuilt.
5550
5551 * Makefile.am: Move logic from src/Makefile.am. Add changes
5552 to support libffi as a target library.
5553 * Makefile.in: Rebuilt.
5554
5555 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5556 Upgraded to new autoconf, automake, libtool.
5557
5558 * README: Tweaks.
5559
5560 * LICENSE: Update copyright date.
5561
5562 * src/Makefile.am, src/Makefile.in: Removed.
5563
55641998-11-29 Anthony Green <green@cygnus.com>
5565
5566 * include/ChangeLog: Removed.
5567 * src/ChangeLog: Removed.
5568 * src/mips/ChangeLog: Removed.
5569 * src/sparc/ChangeLog: Remboved.
5570 * src/x86/ChangeLog: Removed.
5571
5572 * ChangeLog.v1: Created.