blob: 376edf719d753c0b57dbe6931d46bd8e67f6cf6d [file] [log] [blame]
Anthony Green213ed152012-04-27 01:34:15 -040012012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
2
3 * configure.ac: Add Blackfin/sysv support
4 * Makefile.am: Add Blackfin/sysv support
5 * src/bfin/ffi.c: Add Blackfin/sysv support
6 * src/bfin/ffitarget.h: Add Blackfin/sysv support
7 * src/bfin/sysv.S: Add Blackfin/sysv support
8
Anthony Green7e0a4122012-04-11 22:47:44 -040092012-04-11 Anthony Green <green@moxielogic.com>
10
11 * Makefile.am (EXTRA_DIST): Add new script.
12 * Makefile.in: Rebuilt.
13
Zachary Waldowski39e6a582012-04-11 22:39:46 -0400142012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
15
16 * generate-ios-source-and-headers.py,
17 libffi.xcodeproj/project.pbxproj: Support a Mac static library via
18 Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
19 generation into an Xcode "run script" phase. Include both as
20 Xcode build scripts. Don't always regenerate config files.
21
Anthony Green853cc722012-04-10 06:33:33 -0400222012-04-10 Anthony Green <green@moxielogic.com>
23
24 * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
25
Anthony Green3f502302012-04-06 20:34:51 -0400262012-04-06 Anthony Green <green@moxielogic.com>
27
28 * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
29 * Makefile.in: Rebuilt.
30
Mike Lewisebb8e892012-04-06 20:02:08 -0400312012-04-06 Mike Lewis <mikelikespie@gmail.com>
32
33 * generate-ios-source-and-headers.py: New file.
34 * libffi.xcodeproj/project.pbxproj: New file.
35 * README: Update instructions on building iOS binary.
36 * build-ios.sh: Delete.
37
Anthony Greena044a562012-04-06 10:39:10 -0400382012-04-06 H.J. Lu <hongjiu.lu@intel.com>
39
40 * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
41
422012-04-06 Anthony Green <green@moxielogic.com>
43
44 * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
45 compilers, then use it.
46
Anthony Green59bb61a2012-04-06 08:26:14 -0400472012-04-06 Anthony Green <green@moxielogic.com>
48
49 * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
50 * testsuite/Makefile.in: Rebuilt.
51
Zachary Waldowski39dccdd2012-04-05 12:32:41 -0400522012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
53
54 * include/ffi.h.in: Add missing trampoline table fields.
55 * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
56 in CNAME.
57 * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
58
Peter Rosin3afaa9a2012-04-03 07:40:31 -0400592012-04-02 Peter Rosin <peda@lysator.liu.se>
60
61 * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
62 value in the Intel version as is already done for the AT&T version.
63 (ffi_closure_SYSV): Likewise.
64 (ffi_closure_raw_SYSV): Likewise.
65 (ffi_closure_STDCALL): Likewise.
66
Peter Rosin0a1ab122012-03-30 08:14:08 -0400672012-03-29 Peter Rosin <peda@lysator.liu.se>
68
69 * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
70 generation, fix the ENDP label and remove the surplus third arg
71 from the 'lea' insn.
72
732012-03-29 Peter Rosin <peda@lysator.liu.se>
74
75 * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
76 visible outside the PROC, so that ffi_closure_raw_THISCALL can see
77 it. Also instruct the assembler to add a frame to the function.
78
792012-03-23 Peter Rosin <peda@lysator.liu.se>
80
81 * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
82 * Makefile.in: Rebuilt.
83 * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
84 to all data exports, when compiling libffi clients using MSVC.
85
862012-03-29 Peter Rosin <peda@lysator.liu.se>
87
88 * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
89 make it the default for MSVC.
90 (FFI_TYPE_MS_STRUCT): New structure return convention.
91 * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
92 return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
93 instead of an ordinary FFI_TYPE_STRUCT.
94 (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
95 (ffi_call): Likewise.
96 (ffi_prep_incoming_args_SYSV): Likewise.
97 (ffi_raw_call): Likewise.
98 (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
99 * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
100 return a pointer to the result structure in eax and don't pop
101 that pointer from the stack, the caller takes care of it.
102 (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
103 (ffi_closure_raw_SYSV): Likewise.
104
1052012-03-22 Peter Rosin <peda@lysator.liu.se>
106
107 * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
108 assembly version with Intel syntax.
109 * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
110
1112012-03-23 Peter Rosin <peda@lysator.liu.se>
112
113 * testsuite/libffi.call/ffitest.h: Provide abstration of
114 __attribute__((fastcall)) in the form of a __FASTCALL__
115 define. Define it to __fastcall for MSVC.
116 * testsuite/libffi.call/fastthis1_win32.c: Use the above.
117 * testsuite/libffi.call/fastthis2_win32.c: Likewise.
118 * testsuite/libffi.call/fastthis3_win32.c: Likewise.
119 * testsuite/libffi.call/strlen2_win32.c: Likewise.
120 * testsuite/libffi.call/struct1_win32.c: Likewise.
121 * testsuite/libffi.call/struct2_win32.c: Likewise.
122
1232012-03-22 Peter Rosin <peda@lysator.liu.se>
124
125 * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
126 frame on function entry, MASM adds one automatically.
127
1282012-03-22 Peter Rosin <peda@lysator.liu.se>
129
130 * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
131 bits in the MSVC headers.
132
1332012-03-22 Peter Rosin <peda@lysator.liu.se>
134
135 * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
136 with no declarations after statements.
137 * testsuite/libffi.call/cls_16byte.c: Likewise.
138 * testsuite/libffi.call/cls_18byte.c: Likewise.
139 * testsuite/libffi.call/cls_19byte.c: Likewise.
140 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
141 * testsuite/libffi.call/cls_20byte.c: Likewise.
142 * testsuite/libffi.call/cls_20byte1.c: Likewise.
143 * testsuite/libffi.call/cls_24byte.c: Likewise.
144 * testsuite/libffi.call/cls_2byte.c: Likewise.
145 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
146 * testsuite/libffi.call/cls_3byte1.c: Likewise.
147 * testsuite/libffi.call/cls_3byte2.c: Likewise.
148 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
149 * testsuite/libffi.call/cls_4byte.c: Likewise.
150 * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
151 * testsuite/libffi.call/cls_5byte.c: Likewise.
152 * testsuite/libffi.call/cls_64byte.c: Likewise.
153 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
154 * testsuite/libffi.call/cls_6byte.c: Likewise.
155 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
156 * testsuite/libffi.call/cls_7byte.c: Likewise.
157 * testsuite/libffi.call/cls_8byte.c: Likewise.
158 * testsuite/libffi.call/cls_9byte1.c: Likewise.
159 * testsuite/libffi.call/cls_9byte2.c: Likewise.
160 * testsuite/libffi.call/cls_align_double.c: Likewise.
161 * testsuite/libffi.call/cls_align_float.c: Likewise.
162 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
163 * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
164 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
165 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
166 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
167 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
168 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
169 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
170 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
171 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
172 * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
173 * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
174 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
175 * testsuite/libffi.call/huge_struct.c: Likewise.
176 * testsuite/libffi.call/nested_struct.c: Likewise.
177 * testsuite/libffi.call/nested_struct1.c: Likewise.
178 * testsuite/libffi.call/nested_struct10.c: Likewise.
179 * testsuite/libffi.call/nested_struct2.c: Likewise.
180 * testsuite/libffi.call/nested_struct3.c: Likewise.
181 * testsuite/libffi.call/nested_struct4.c: Likewise.
182 * testsuite/libffi.call/nested_struct5.c: Likewise.
183 * testsuite/libffi.call/nested_struct6.c: Likewise.
184 * testsuite/libffi.call/nested_struct7.c: Likewise.
185 * testsuite/libffi.call/nested_struct8.c: Likewise.
186 * testsuite/libffi.call/nested_struct9.c: Likewise.
187 * testsuite/libffi.call/stret_large.c: Likewise.
188 * testsuite/libffi.call/stret_large2.c: Likewise.
189 * testsuite/libffi.call/stret_medium.c: Likewise.
190 * testsuite/libffi.call/stret_medium2.c: Likewise.
191 * testsuite/libffi.call/struct1.c: Likewise.
192 * testsuite/libffi.call/struct1_win32.c: Likewise.
193 * testsuite/libffi.call/struct2.c: Likewise.
194 * testsuite/libffi.call/struct2_win32.c: Likewise.
195 * testsuite/libffi.call/struct3.c: Likewise.
196 * testsuite/libffi.call/struct4.c: Likewise.
197 * testsuite/libffi.call/struct5.c: Likewise.
198 * testsuite/libffi.call/struct6.c: Likewise.
199 * testsuite/libffi.call/struct7.c: Likewise.
200 * testsuite/libffi.call/struct8.c: Likewise.
201 * testsuite/libffi.call/struct9.c: Likewise.
202 * testsuite/libffi.call/testclosure.c: Likewise.
203
2042012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
Anthony Greene1539262012-03-30 00:40:18 -0400205
206 * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
207 ffi_call_VFP().
208 (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
209 ffi_closure_VFP.
210 * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
211
Anthony Greene72ed5e2012-03-21 09:52:28 -04002122012-03-21 Peter Rosin <peda@lysator.liu.se>
213
214 * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
215 printing doubles (%lf is for long doubles).
216 (main): Likewise.
217
Anthony Greenbd78c9c2012-03-21 08:09:30 -04002182012-03-21 Peter Rosin <peda@lysator.liu.se>
219
220 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
221 (set_ld_library_path_env_vars): Add the library search dir to PATH
222 (and save PATH for later).
223 (restore_ld_library_path_env_vars): Restore PATH.
224
2252012-03-20 Peter Rosin <peda@lysator.liu.se>
226
227 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
228 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
229 visible outside the PROC, so that ffi_closure_THISCALL can see it.
230
2312012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
232
233 * src/m68k/ffi.c: Add MINT support.
234 * src/m68k/sysv.S: Ditto.
235
2362012-03-19 chennam <csit@axway.com>
237
238 * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
239 support.
240
Anthony Green65f40c32012-04-03 07:35:59 -04002412012-04-02 Peter Bergner <bergner@vnet.ibm.com>
242
243 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
244 Silence casting pointer to integer of different size warning.
245 Delete goto to previously deleted label.
246 (ffi_call): Silence possibly undefined warning.
247 (ffi_closure_helper_SYSV): Declare variable type.
248
Anthony Green84d32532012-03-19 23:07:35 -04002492012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
250
251 * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
252 just return FFI_BAD_ABI when things are wrong.
253 * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
254
2552012-03-09 David Edelsohn <dje.gcc@gmail.com>
256
257 * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
258 change to return value of ffi_closure_helper_DARWIN and load type
259 from return type.
260
Anthony Green964c5b92012-03-03 14:46:20 -05002612012-03-03 H.J. Lu <hongjiu.lu@intel.com>
262
263 * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
264 long.
265 (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
266 (ffi_closure_unix64_inner): Cast return pointer to unsigned long
267 first.
268
269 * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
270 (ffi_arg): Set to unsigned long long for x32.
271 (ffi_sarg): Set to long long for x32.
272
2732012-03-03 H.J. Lu <hongjiu.lu@intel.com>
274
275 * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
276
Anthony Green6c194232012-03-03 14:17:54 -05002772012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
278
279 * configure.ac: Add -no-undefined for both 32- and 64-bit x86
280 windows-like hosts.
281 * configure: Rebuilt.
282
Anthony Green7c5e60b2012-03-29 08:48:22 -04002832012-02-27 Mikael Pettersson <mikpe@it.uu.se>
284
285 PR libffi/52223
286 * Makefile.am (FLAGS_TO_PASS): Define.
287 * Makefile.in: Regenerate.
288
Anthony Green8360bf12012-02-23 07:01:13 -05002892012-02-23 Anthony Green <green@moxielogic.com>
290
291 * src/*/ffitarget.h: Ensure that users never include ffitarget.h
292 directly.
293
Anthony Green7c5e60b2012-03-29 08:48:22 -04002942012-02-23 Kai Tietz <ktietz@redhat.com>
295
296 PR libffi/52221
297 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
298 prototype.
299 (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
300 thiscall-convention.
301 (ffi_raw_call): Use ffi_prep_args_raw.
302 * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
303 implementation for stub.
304
Anthony Greendee20f82012-02-10 13:06:46 -05003052012-02-10 Kai Tietz <ktietz@redhat.com>
306
307 * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
308 windows target.
309 * configure: Regenerated.
Anthony Green8360bf12012-02-23 07:01:13 -0500310
Anthony Greendee20f82012-02-10 13:06:46 -05003112012-02-08 Kai Tietz <ktietz@redhat.com>
312
313 * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
314 also FFI_THISCALL.
315 * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
316 (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
317 (ffi_prep_closure_loc): Add FFI_THISCALL support.
318 * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
319 * src/x86/win32.S (ffi_closure_THISCALL): New closure code
320 for thiscall-calling convention.
321 * testsuite/libffi.call/closure_thiscall.c: New test.
322
Anthony Green1ff9c602012-02-01 16:34:30 -06003232012-01-28 Kai Tietz <ktietz@redhat.com>
324
325 * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
326 argument to prototype for specify calling-convention.
327 (ffi_call): Add support for stdcall/thiscall convention.
328 (ffi_prep_args): Likewise.
329 (ffi_raw_call): Likewise.
330 * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
331 FFI_FASTCALL.
332 * src/x86/win32.S (_ffi_call_win32): Add support for
333 fastcall/thiscall calling-convention calls.
334 * testsuite/libffi.call/fastthis1_win32.c: New test.
335 * testsuite/libffi.call/fastthis2_win32.c: New test.
336 * testsuite/libffi.call/fastthis3_win32.c: New test.
337 * testsuite/libffi.call/strlen2_win32.c: New test.
338 * testsuite/libffi.call/many2_win32.c: New test.
339 * testsuite/libffi.call/struct1_win32.c: New test.
340 * testsuite/libffi.call/struct2_win32.c: New test.
341
Anthony Green211060e2012-01-23 14:24:01 -05003422012-01-23 Uros Bizjak <ubizjak@gmail.com>
343
344 * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
345
Anthony Green1ff9c602012-02-01 16:34:30 -06003462012-01-23 Anthony Green <green@moxielogic.com>
347 Chris Young <cdyoung@ntlworld.com>
Anthony Green9e9c4ae2012-01-23 14:11:23 -0500348
349 * configure.ac: Add Amiga support.
350 * configure: Rebuilt.
351
3522012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
Anthony Green8efc0b12012-01-23 13:47:38 -0500353
354 * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
355
Anthony Green1ff9c602012-02-01 16:34:30 -06003562012-01-23 Andreas Schwab <schwab@linux-m68k.org>
Anthony Greencd2277c2012-01-23 13:43:38 -0500357
358 * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
359 mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
360
Anthony Greenc365ee72012-01-23 11:13:18 -05003612012-01-19 Jakub Jelinek <jakub@redhat.com>
362
363 PR rtl-optimization/48496
364 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
365
3662012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
367
368 * configure.ac (i?86-*-*): Set TARGET to X86_64.
369 * configure: Regenerate.
370
3712011-12-07 Andrew Pinski <apinski@cavium.com>
372
373 PR libffi/50051
374 * src/mips/n32.S: Add ".set mips4".
375
3762011-11-21 Andreas Tobler <andreast@fgznet.ch>
377
378 * configure: Regenerate.
379
Anthony Greenff9454d2011-11-12 17:18:51 -05003802011-11-12 David Gilbert <david.gilbert@linaro.org>
381
382 * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
383 man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
384 man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
385 src/cris/ffi.c, src/prep_cif.c,
386 testsuite/libffi.call/cls_double_va.c,
387 testsuite/libffi.call/cls_longdouble_va.c,
388 testsuite/libffi.call/float_va.c: Many changes to support variadic
389 function calls.
390
Anthony Green52891f82011-11-12 16:35:55 -05003912011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
392
393 * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
394 src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
395 softfloat powerpc variants.
396
Anthony Green6a6e7f82011-11-12 16:20:42 -05003972011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
398
399 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
400 * configure: Rebuilt.
401
Anthony Greend52fbed2011-11-12 16:13:41 -05004022011-11-12 Timothy Wall <twall@users.sf.net>
403
404 * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
405 alignment of 4 for wince on ARM.
406
Anthony Greenaf18df22011-11-12 15:52:08 -05004072011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
408 Anthony Green <green@moxielogic.com>
409
410 * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
411 instructions (not available on some cores, like the PPC440).
412
Anthony Greenc411f142011-11-12 07:32:36 -05004132011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
Anthony Green8c019542011-09-06 14:26:32 -0400414
Anthony Greenc411f142011-11-12 07:32:36 -0500415 * m4/ax_enable_builddir: Change from string comparison to numeric
Anthony Green52891f82011-11-12 16:35:55 -0500416 comparison for wc output.
Anthony Green236c9392011-11-12 07:37:40 -0500417 * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
418 X 10.7.
419 * configure: Rebuilt.
Anthony Greenee6696f2011-08-23 12:30:29 -0400420
Anthony Green6a6e7f82011-11-12 16:20:42 -05004212011-11-12 Anthony Green <green@moxielogic.com>
422
423 * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
424 files with debug info.
425 * Makefile.in: Rebuilt.
426
4272011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
428
429 * README: Update list of supported OpenBSD systems.
430
4312011-11-12 Anthony Green <green@moxielogic.com>
432
433 * libtool-version: Update.
434 * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
435 FFI_DEBUG.
436 (libffi_la_SOURCES): Remove src/debug.c
437 (EXTRA_DIST): Add src/debug.c
438 * Makefile.in: Rebuilt.
439 * README: Update for 3.0.11.
440
Anthony Green3d561062011-11-12 07:20:24 -05004412011-11-10 Richard Henderson <rth@redhat.com>
Anthony Green049d8382011-08-22 14:50:10 -0400442
Anthony Green3d561062011-11-12 07:20:24 -0500443 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
444 * configure, aclocal.m4: Rebuild.
445
4462011-09-04 Iain Sandoe <iains@gcc.gnu.org>
447
448 PR libffi/49594
449 * src/powerpc/darwin_closure.S (stubs): Make the stub binding
450 helper reference track the architecture pointer size.
451
4522011-08-25 Andrew Haley <aph@redhat.com>
453
454 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
455 instructions.
456 * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
Anthony Green049d8382011-08-22 14:50:10 -0400457
Anthony Greend992ac52011-07-29 17:32:53 -04004582011-07-11 Andrew Haley <aph@redhat.com>
459
460 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
461
4622011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
463
464 * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
465 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
466
4672011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
468
469 PR libffi/46660
470 * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
471 mips-sgi-irix6*.
472 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
473
4742011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
475
476 * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
477 PRId8 instead of %hhu, %hhd.
478 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
479 PRIu8): Define.
480 [__sgi__] (PRId8, PRIu8): Define.
481
4822011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
483
484 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
485 Define.
486 Use them to handle ELF vs. ECOFF differences.
487 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
488
Anthony Green2d3fb362011-03-30 16:54:42 -04004892011-03-30 Timothy Wall <twall@users.sf.net>
490
491 * src/powerpc/darwin.S: Fix unknown FDE encoding.
492 * src/powerpc/darwin_closure.S: ditto.
493
Anthony Green25416792011-02-25 15:09:13 -05004942011-02-25 Anthony Green <green@moxielogic.com>
495
Anthony Green74ee6ea2011-02-25 15:52:14 -0500496 * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
497 32-bit ABIs.
Anthony Green25416792011-02-25 15:09:13 -0500498
Anthony Green8cf88782011-02-15 15:19:49 -05004992011-02-15 Anthony Green <green@moxielogic.com>
500
501 * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
502 * configure: Rebuilt.
503
Anthony Greend992ac52011-07-29 17:32:53 -04005042011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
505
506 * configure: Regenerate.
507
Anthony Green1fbf9dc2011-02-13 08:06:39 -05005082011-02-13 Anthony Green <green@moxielogic.com>
509
510 * include/ffi_common.h (UNLIKELY, LIKELY): Define.
511 * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
512 * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
513
514 * src/prep_cif.c (initialize_aggregate): Convert assertion into
515 FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
516
517 * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
518 just return FFI_BAD_ABI when things are wrong.
519 * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
520 * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
521 * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
522 * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
523 * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
524
Anthony Green1833aa02011-02-11 07:11:04 -05005252011-02-11 Anthony Green <green@moxielogic.com>
526
527 * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
528 just return FFI_BAD_ABI when things are wrong.
529
Anthony Green7c5e60b2012-03-29 08:48:22 -04005302012-02-11 Eric Botcazou <ebotcazou@adacore.com>
531
532 * src/sparc/v9.S (STACKFRAME): Bump to 176.
533
Anthony Green42695e72011-02-09 15:12:35 -05005342011-02-09 Stuart Shelton <srcshelton@gmail.com>
535
536 http://bugs.gentoo.org/show_bug.cgi?id=286911
537 * src/mips/ffitarget.h: Clean up error messages.
538 * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
539 ffi_raw*.
540 * include/ffi.h.in: Add pragma for SGI compiler.
541
Anthony Greena6e56b92011-02-09 15:00:42 -05005422011-02-09 Anthony Green <green@moxielogic.com>
543
544 * configure.ac: Add powerpc64-*-darwin* support.
545
Anthony Green0cad4382011-02-09 06:11:46 -05005462011-02-09 Anthony Green <green@moxielogic.com>
Anthony Green11062292011-02-08 19:20:09 -0500547
Anthony Green747d6c32011-02-09 14:56:23 -0500548 * README: Mention Interix.
549
5502011-02-09 Jonathan Callen <abcd@gentoo.org>
551
552 * configure.ac: Add Interix to win32/cygwin/mingw case.
553 * configure: Ditto.
554 * src/closures.c: Treat Interix like Cygwin, instead of as a
555 generic win32.
556
5572011-02-09 Anthony Green <green@moxielogic.com>
558
Anthony Green69dbe842011-02-09 07:38:43 -0500559 * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
560 * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
561 * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
562 (ffi_prep_closure_loc): Check for bad ABI.
563 * src/prep_cif.c (UNLIKELY, LIKELY): Define.
564 (initialize_aggregate): Check for bad types.
Anthony Green0cad4382011-02-09 06:11:46 -0500565
Anthony Green90af15e2011-02-12 12:29:36 -05005662011-02-09 Landon Fuller <landonf@plausible.coop>
Anthony Green0cad4382011-02-09 06:11:46 -0500567
568 * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
569 src/arm/trampoline.S.
570 (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
571 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
572 * src/arm/ffi.c (ffi_trampoline_table)
573 (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
574 (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
575 (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
576 (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
577 Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
578 (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
579 separately.
580 * src/arm/sysv.S: Handle Apple iOS host.
581 * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
Anthony Greenf4983182011-02-09 06:26:46 -0500582 * build-ios.sh: New file.
Anthony Green0cad4382011-02-09 06:11:46 -0500583 * fficonfig.h.in, configure, Makefile.in: Rebuilt.
Anthony Green69dbe842011-02-09 07:38:43 -0500584 * README: Mention ARM iOS.
Anthony Green11062292011-02-08 19:20:09 -0500585
Anthony Greendc411e82011-02-08 10:49:29 -05005862011-02-08 Oren Held <orenhe@il.ibm.com>
587
588 * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
589 redefinition of mallinfo on HP-UX.
590
Anthony Green404585d2011-02-08 10:44:36 -05005912011-02-08 Ginn Chen <ginn.chen@oracle.com>
592
593 * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
Anthony Green049d8382011-08-22 14:50:10 -0400594 aggregate return ABI. Flush cache.
595 (ffi_prep_closure_loc): Flush cache.
Anthony Green404585d2011-02-08 10:44:36 -0500596
Anthony Green6972a4f2011-02-11 07:32:51 -05005972011-02-11 Anthony Green <green@moxielogic.com>
598
599 From Tom Honermann <tom.honermann@oracle.com>:
600 * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
601 AIX. Declare .ffi_prep_args. Insert nops after branch
602 instructions so that the AIX linker can insert TOC reload
603 instructions.
604 * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
605
Anthony Greend992ac52011-07-29 17:32:53 -04006062011-02-08 Ed <ed@kdtc.net>
607
608 * src/powerpc/asm.h: Fix grammar nit in comment.
609
Anthony Green89284fe2011-02-08 10:19:19 -05006102011-02-08 Uli Link <ul.mcamafia@linkitup.de>
611
612 * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
613
Anthony Greend992ac52011-07-29 17:32:53 -04006142011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
615
616 PR libffi/46661
617 * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
618 uintptr_t first.
619 * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
620
Anthony Greened2c5182011-02-08 10:10:07 -05006212011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
622
623 * configure.ac: Fix x86 test for pc related relocs.
Anthony Green09f8f312011-02-28 15:36:07 -0500624 * configure: Rebuilt.
Anthony Greened2c5182011-02-08 10:10:07 -0500625
Anthony Green3b836242011-02-08 14:28:59 -05006262011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
627
628 * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
629 Handle case when CPU variant does not have long double support.
630 * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
631 and cores with soft floating point.
632
6332011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
634
635 * configure.ac: Add mips*-*-rtems* support.
636 * configure: Regenerate.
637 * src/mips/ffitarget.h: Ensure needed constants are available
638 for targets which do not have sgidefs.h.
639
Anthony Green0e584392011-02-08 07:52:40 -05006402011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
641
642 PR target/40125
643 * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
644 * configure: Regenerate.
645
6462010-12-18 Iain Sandoe <iains@gcc.gnu.org>
647
648 PR libffi/29152
649 PR libffi/42378
650 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
651 update comments.
652 * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
653 (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
654 * src/powerpc/darwin.S: Provide Darwin64 implementation,
655 update comments.
656 * src/powerpc/ffi_darwin.c: Likewise.
657
6582010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
659
660 * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
661 backslashes.
662 (libffi_cv_as_string_pseudo_op): Likewise.
663 * configure: Regenerate.
664
6652010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
666
667 * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
668 (ffi_closure_VFP): Same.
669 (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
670 directive.
671
6722010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
673
674 * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
675 (PRIuPTR): Define.
676
6772010-11-29 Richard Henderson <rth@redhat.com>
678 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
679
680 * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
681 (.eh_frame): Use FDE_ENCODING.
682 (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
683
Anthony Green5b9cd522010-11-22 15:19:57 -05006842010-11-22 Jacek Caban <jacek@codeweavers.com>
685
686 * configure.ac: Check for symbol underscores on mingw-w64.
687 * configure: Rebuilt.
688 * src/x86/win64.S: Correctly access extern symbols in respect to
689 underscores.
690
Anthony Green2db72612010-11-21 10:50:56 -05006912010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
692
693 * testsuite/lib/libffi-dg.exp: Rename ...
694 * testsuite/lib/libffi.exp: ... to this.
695 * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
696 * libffi/testsuite/libffi.special/special.exp: Likewise.
697
6982010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
699
700 * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
701 code, new parameter, and return value. Update comments.
702 (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
703 call to layout_vfp_args().
704 (ffi_call_SYSV): Update declaration.
705 (ffi_call_VFP): New declaration.
706 (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
707 when ABI is FFI_VFP.
708 (ffi_closure_VFP): New declaration.
709 (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
710 ffi_prep_incoming_args_SYSV().
711 (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
712 case handling.
713 (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
714 construction under VFP hard-float.
715 (rec_vfp_type_p): New function.
716 (vfp_type_p): Same.
717 (place_vfp_arg): Same.
718 (layout_vfp_args): Same.
719 * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
720 based on __ARM_PCS_VFP.
721 (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
722 fields.
723 (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
724 (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
725 * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
726 direct call. Move function pointer load upwards.
727 (ffi_call_VFP): New function.
728 (ffi_closure_VFP): Same.
729
730 * testsuite/lib/libffi-dg.exp (check-flags): New function.
731 (dg-skip-if): New function.
732 * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
733 and compiler options include -mfloat-abi=hard.
734 * testsuite/libffi.call/cls_longdouble_va.c: Same.
735
7362010-10-01 Jakub Jelinek <jakub@redhat.com>
737
738 PR libffi/45677
739 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
740 a multiple of 8.
741 * testsuite/libffi.call/many2.c: New test.
742
7432010-08-20 Mark Wielaard <mjw@redhat.com>
744
745 * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
746 returns NULL.
747
7482010-08-09 Andreas Tobler <andreast@fgznet.ch>
749
750 * configure.ac: Add target powerpc64-*-freebsd*.
751 * configure: Regenerate.
752 * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
753 -mlong-double-128 only to linux targets.
754 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
755 * testsuite/libffi.call/cls_longdouble.c: Likewise.
756 * testsuite/libffi.call/huge_struct.c: Likewise.
757
Anthony Green00d0b592010-08-05 14:56:53 -04007582010-08-05 Dan Witte <dwitte@mozilla.com>
759
760 * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
761 debug CRT when --enable-debug is given.
762 * configure.ac: Define it.
763 * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
764
Anthony Greenc1d28ba2010-08-05 08:48:16 -04007652010-08-04 Dan Witte <dwitte@mozilla.com>
766
767 * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
768 platforms.
769 * src/x86/ffi.c: Remove redundant ifdef checks.
770 * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
771 for X86_ANY so return value space doesn't get added twice.
772
Anthony Greenbda487e2010-08-05 09:02:41 -04007732010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
774
775 * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
776
Anthony Greend14178b2010-07-23 09:14:00 -04007772010-07-22 Dan Witte <dwitte@mozilla.com>
778
779 * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
780 * src/prep_cif.c: Fix ABI assertion.
781 * src/cris/ffi.c: Ditto.
782
Anthony Greeneaf444e2010-07-10 08:59:09 -04007832010-07-10 Evan Phoenix <evan@fallingsnow.net>
784
785 * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
786
Anthony Green5feacad2010-08-05 08:30:04 -04007872010-07-07 Dan Horák <dan@danny.cz>
788
789 * include/ffi.h.in: Protect #define with #ifndef.
790 * src/powerpc/ffitarget.h: Ditto.
791 * src/s390/ffitarget.h: Ditto.
792 * src/sparc/ffitarget.h: Ditto.
793
Anthony Green2db72612010-11-21 10:50:56 -05007942010-07-07 Neil Roberts <neil@linux.intel.com>
795
796 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
797 16-bytes.
798
7992010-07-02 Jakub Jelinek <jakub@redhat.com>
800
801 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
802 * Makefile.in: Regenerated.
803
8042010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
805
806 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
807 output, too.
808 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
809 (libffi_cv_as_string_pseudo_op): Check for .string.
810 * configure: Regenerate.
811 * fficonfig.h.in: Regenerate.
812 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
813
Anthony Green10ea8482010-08-05 08:24:27 -04008142010-05-11 Dan Witte <dwitte@mozilla.com>
815
816 * doc/libffi.tex: Document previous change.
817
8182010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
819
820 * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
821
Anthony Green63097412010-05-05 20:14:56 -04008222010-05-05 Michael Kohler <michaelkohler@live.com>
823
824 * src/dlmalloc.c (dlfree): Fix spelling.
825 * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
826 * configure.ac: Ditto.
827 * configure: Rebuilt.
828
Anthony Greenf2c2a4f2010-04-13 10:19:28 -04008292010-04-13 Dan Witte <dwitte@mozilla.com>
830
831 * msvcc.sh: Build with -W3 instead of -Wall.
832 * src/powerpc/ffi_darwin.c: Remove build warnings.
833 * src/x86/ffi.c: Ditto.
834 * src/x86/ffitarget.h: Ditto.
835
Anthony Green2db72612010-11-21 10:50:56 -05008362010-04-12 Dan Witte <dwitte@mozilla.com>
837 Walter Meinl <wuno@lsvw.de>
Anthony Greenc0b69e52010-03-30 08:30:22 -0400838
Anthony Green2db72612010-11-21 10:50:56 -0500839 * configure.ac: Add OS/2 support.
840 * configure: Rebuilt.
841 * src/closures.c: Ditto.
842 * src/dlmalloc.c: Ditto.
843 * src/x86/win32.S: Ditto.
Anthony Green3f5b1372010-07-12 14:39:18 -0400844
8452010-04-07 Jakub Jelinek <jakub@redhat.com>
846
Anthony Green2db72612010-11-21 10:50:56 -0500847 * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
Anthony Green3f5b1372010-07-12 14:39:18 -0400848
8492010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
850
851 * Makefile.in: Regenerate.
852 * aclocal.m4: Regenerate.
853 * include/Makefile.in: Regenerate.
854 * man/Makefile.in: Regenerate.
855 * testsuite/Makefile.in: Regenerate.
856
Anthony Green2db72612010-11-21 10:50:56 -05008572010-03-30 Dan Witte <dwitte@mozilla.com>
858
859 * msvcc.sh: Disable build warnings.
860 * README (tested): Clarify windows build procedure.
861
Anthony Green3f5b1372010-07-12 14:39:18 -04008622010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
863
864 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
865 * configure: Regenerate.
866 * fficonfig.h.in: Regenerate.
867 * libffi/src/x86/unix64.S (.eh_frame)
868 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
869
Anthony Green2db72612010-11-21 10:50:56 -05008702010-03-14 Matthias Klose <doko@ubuntu.com>
871
872 * src/x86/ffi64.c: Fix typo in comment.
873 * src/x86/ffi.c: Use /* ... */ comment style.
874
Anthony Green9dc9a292010-04-13 10:33:52 -04008752010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
876
877 * doc/libffi.texi (The Closure API): Fix typo.
878 * doc/libffi.info: Remove.
879
8802010-02-15 Matthias Klose <doko@ubuntu.com>
881
882 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
883 __ARM_ARCH_7EM__.
884
Anthony Green2db72612010-11-21 10:50:56 -05008852010-01-15 Anthony Green <green@redhat.com>
886
887 * README: Add notes on building with Microsoft Visual C++.
888
8892010-01-15 Daniel Witte <dwitte@mozilla.com>
890
891 * msvcc.sh: New file.
892
893 * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
894 * src/x86/ffi.c: Tweak function declaration and remove excess
895 parens.
896 * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
897 ffi_closure.
898
899 * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
900 function ffi_call_win32 on X86_WIN32.
901 * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
902 (ffi_call_STDCALL): Remove.
903
904 * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
905 to ffi_prep_cif_machdep for x86.
906 * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
907
9082010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
909
910 * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
Anthony Green0e584392011-02-08 07:52:40 -0500911 Sun Studio compiler compatibility.
Anthony Green2db72612010-11-21 10:50:56 -0500912
9132010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
914
915 * doc/libffi.texi: Add closure example.
916
Anthony Green7b7a42f2010-01-12 09:14:14 -05009172010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
918
919 PR libffi/40701
920 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
921 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
922 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
923 alpha*-dec-osf*.
924 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
925 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
926 * testsuite/libffi.call/return_ll1.c: Likewise.
927 * testsuite/libffi.call/stret_medium2.c: Likewise.
928 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
929 MAP_FAILED to char *.
930
9312010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
932
933 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
934
Anthony Greenc3042af2010-01-01 08:08:02 -05009352009-12-31 Anthony Green <green@redhat.com>
936
937 * README: Update for libffi 3.0.9.
938
9392009-12-27 Matthias Klose <doko@ubuntu.com>
940
941 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
942 appropriate.
943 * configure: Rebuilt.
944
9452009-12-26 Anthony Green <green@redhat.com>
946
947 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
948 avr32*-*-*.
949 * testsuite/libffi.call/cls_double_va.c: Ditto.
950
9512009-12-26 Andreas Tobler <a.tobler@schweiz.org>
952
953 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
954 and inttypes.h.
955 * testsuite/libffi.special/unwindtest.cc: Ditto.
956
9572009-12-26 Andreas Tobler <a.tobler@schweiz.org>
958
959 * configure.ac: Add amd64-*-openbsd*.
960 * configure: Rebuilt.
961 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
962 openbsd programs with -lpthread.
963
9642009-12-26 Anthony Green <green@redhat.com>
965
966 * testsuite/libffi.call/cls_double_va.c,
967 testsuite/libffi.call/cls_longdouble.c,
968 testsuite/libffi.call/cls_longdouble_va.c,
969 testsuite/libffi.call/cls_pointer.c,
970 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
971 mips*-*-* and arm*-*-*.
972 * testsuite/libffi.call/cls_align_longdouble_split.c,
973 testsuite/libffi.call/cls_align_longdouble_split2.c,
974 testsuite/libffi.call/stret_medium2.c,
975 testsuite/libffi.call/stret_medium.c,
976 testsuite/libffi.call/stret_large.c,
977 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
978
9792009-12-31 Kay Tietz <ktietz70@googlemail.com>
980
981 * testsuite/libffi.call/ffitest.h,
982 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
983 definitions.
984
9852009-12-31 Carlo Bramini <carlo.bramix@libero.it>
986
987 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
988 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
989 * configure: Rebuilt.
990 * Makefile.in: Rebuilt.
991
9922009-12-31 Anthony Green <green@redhat.com>
993 Blake Chaffin.
994
995 * testsuite/libffi.call/huge_struct.c: New test case from Blake
996 Chaffin @ Apple.
997
Anthony Green0cfe60e2009-12-29 10:06:04 -05009982009-12-28 David Edelsohn <edelsohn@gnu.org>
999
1000 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1001 local variables.
1002 (aix_adjust_aggregate_sizes): New function.
1003 (ffi_prep_cif_machdep): Call it.
1004
10052009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1006
1007 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1008 * configure: Regenerate.
1009 * fficonfig.h.in: Likewise.
1010 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1011 Solaris/x86.
1012
10132009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1014
1015 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1016 when a float arguments is passed in memory.
1017 (ffi_closure_helper_SYSV): Mark general registers as used up when
1018 a 64bit or soft-float long double argument is passed in memory.
1019
Anthony Green9458d882009-12-26 07:02:27 -050010202009-12-25 Matthias Klose <doko@ubuntu.com>
1021
1022 * man/ffi_call.3: Fix #include in examples.
1023 * doc/libffi.texi: Add dircategory.
1024
10252009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1026
1027 * include/ffi.h.in: Placed '__GNUC__' ifdef around
1028 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1029 IRIX MIPSPro c99.
1030 * include/ffi_common.h: Added '__sgi' define to non
1031 '__attribute__((__mode__()))' integer typedefs.
Anthony Green0cfe60e2009-12-29 10:06:04 -05001032 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
Anthony Green9458d882009-12-26 07:02:27 -05001033 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1034 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1035 FFI_LONGDOUBLE support and alignment(N32 only).
1036 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1037 fixed non '__attribute__((__mode__()))' integer typedefs.
1038 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1039 since they are Linux/GNU Assembler specific.
1040
10412009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1042
1043 * configure.ac, Makefile.am, src/avr32/ffi.c,
1044 src/avr32/ffitarget.h,
1045 src/avr32/sysv.S: Add AVR32 port.
1046 * configure, Makefile.in: Rebuilt.
1047
Anthony Green115ab362009-12-24 00:22:00 -050010482009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1049
1050 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1051 * configure: Regenerate.
1052
10532009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1054
1055 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1056
10572009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1058
1059 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1060 type on HP-UX.
1061
Anthony Green7c5e60b2012-03-29 08:48:22 -040010622012-02-13 Kai Tietz <ktietz@redhat.com>
1063
1064 PR libffi/52221
1065 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1066 support for X86_WIN32.
1067 (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1068
Anthony Green115ab362009-12-24 00:22:00 -050010692009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1070
1071 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1072 double' arguments.
1073
10742009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1075
1076 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1077
10782009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1079
1080 PR libffi/40700
1081 * src/closures.c [X86_64 && __sun__ && __svr4__]
1082 (FFI_MMAP_EXEC_WRIT): Define.
1083
10842009-12-08 David Daney <ddaney@caviumnetworks.com>
1085
1086 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1087 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1088 * testsuite/libffi.call/stret_large.c: Same.
1089 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1090 * testsuite/libffi.call/stret_large2.c: Same.
1091 * testsuite/libffi.call/stret_medium2.c: Same.
1092
10932009-12-07 David Edelsohn <edelsohn@gnu.org>
1094
1095 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1096 typo.
1097
10982009-12-05 David Edelsohn <edelsohn@gnu.org>
1099
1100 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1101 code.
1102 * src/powerpc/aix_closure.S: Same.
1103
11042009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1105
1106 * Makefile.in: Regenerate.
1107 * configure: Regenerate.
1108 * include/Makefile.in: Regenerate.
1109 * man/Makefile.in: Regenerate.
1110 * testsuite/Makefile.in: Regenerate.
1111
11122009-12-04 David Edelsohn <edelsohn@gnu.org>
1113
1114 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
Anthony Green0cfe60e2009-12-29 10:06:04 -05001115 linux64_closure.S.
Anthony Green115ab362009-12-24 00:22:00 -05001116
11172009-12-04 Uros Bizjak <ubizjak@gmail.com>
1118
1119 PR libffi/41908
1120 * src/x86/ffi64.c (classify_argument): Update from
1121 gcc/config/i386/i386.c.
1122 (ffi_closure_unix64_inner): Do not use the address of two consecutive
1123 SSE registers directly.
1124 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1125 for x86_64 linux targets.
1126
11272009-12-04 David Edelsohn <edelsohn@gnu.org>
1128
1129 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1130 pfr for long double split between fpr13 and stack.
1131
11322009-12-03 David Edelsohn <edelsohn@gnu.org>
1133
1134 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1135 fparg_count twice for long double.
1136
11372009-12-03 David Edelsohn <edelsohn@gnu.org>
1138
1139 PR libffi/42243
1140 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1141
11422009-12-03 Uros Bizjak <ubizjak@gmail.com>
1143
1144 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
1145 Remove xfails for x86 linux targets.
1146
11472009-12-02 David Edelsohn <edelsohn@gnu.org>
1148
1149 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
1150 case.
1151
11522009-12-01 David Edelsohn <edelsohn@gnu.org>
1153
1154 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
1155 register usage. Call ffi_prep_args directly. Add long double
1156 return value support.
1157 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
1158 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
1159 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
1160 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
1161 mode.
1162 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
1163 into case.
1164 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
1165 Allocate result area between params and FPRs.
1166
11672009-11-30 David Edelsohn <edelsohn@gnu.org>
1168
1169 PR target/35484
1170 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
1171 AIX64.
1172 * src/powerpc/aix.S: Implement AIX64 version.
1173 * src/powerpc/aix_closure.S: Implement AIX64 version.
1174 (ffi_closure_ASM): Use extsb, lha and displament addresses.
1175 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
1176 support.
1177 (ffi_prep_cif_machdep): Same.
1178 (ffi_call): Same.
1179 (ffi_closure_helper_DARWIN): Same.
1180
11812009-11-02 Andreas Tobler <a.tobler@schweiz.org>
1182
1183 PR libffi/41908
1184 * testsuite/libffi.call/testclosure.c: New test.
1185
Anthony Greenc6dddbd2009-10-04 08:11:33 -040011862009-09-28 Kai Tietz <kai.tietz@onevision.com>
1187
1188 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
1189 assembly version use of ___chkstk.
1190
11912009-09-23 Matthias Klose <doko@ubuntu.com>
1192
1193 PR libffi/40242, PR libffi/41443
1194 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
1195 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
1196 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
1197 Change the conditionals to __SOFTFP__ || __ARM_EABI__
1198 for -mfloat-abi=softfp to work.
1199
12002009-09-17 Loren J. Rittle <ljrittle@acm.org>
1201
1202 PR testsuite/32843 (strikes again)
1203 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
1204 enable proper extension on char and short.
1205
12062009-09-15 David Daney <ddaney@caviumnetworks.com>
1207
1208 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
1209 handling for FFI_TYPE_POINTER.
1210 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
1211 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
1212 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
1213 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
1214 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
1215 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
1216 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
1217 structure and pointer returns.
1218 (ffi_closure_N32): Add handling for pointer returns.
1219 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
1220 calc_n32_return_struct_flags): Handle soft-float.
1221 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
1222 (ffi_call_N32): Declare proper argument types.
1223 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
1224 soft-float.
1225
12262009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1227
1228 * configure.ac (AC_PREREQ): Bump to 2.64.
1229
12302009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1231
1232 * Makefile.am (install-html, install-pdf): Remove.
1233 * Makefile.in: Regenerate.
1234
1235 * Makefile.in: Regenerate.
1236 * aclocal.m4: Regenerate.
1237 * configure: Regenerate.
1238 * fficonfig.h.in: Regenerate.
1239 * include/Makefile.in: Regenerate.
1240 * man/Makefile.in: Regenerate.
1241 * testsuite/Makefile.in: Regenerate.
1242
Anthony Green3d561062011-11-12 07:20:24 -050012432011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1244
1245 * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
1246 * configure: Rebuilt.
1247
Anthony Greenc6dddbd2009-10-04 08:11:33 -040012482009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1249
1250 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1251
12522009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
1253
1254 PR libffi/40807
1255 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
1256 return types for X86_WIN32.
1257 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
1258 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
1259 _ffi_closure_STDCALL): Likewise.
1260
1261 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
1262 (dlmmap, dlmunmap): Also use these functions on Cygwin.
1263
12642009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1265
1266 PR testsuite/40699
1267 PR testsuite/40707
1268 PR testsuite/40709
1269 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
1270 2009-06-30 commits.
1271
12722009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1273
1274 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
1275 to "" before adding paths. (This reinstates an assignment that
1276 was removed by my 2009-06-30 commit, but changes the initial
1277 value from "." to "".)
1278
12792009-07-01 H.J. Lu <hongjiu.lu@intel.com>
1280
1281 PR testsuite/40601
1282 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
1283 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
1284 empty.
1285
12862009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1287
1288 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
1289 to ld_library_path. Use add_path. Add just find_libgcc_s
1290 to ld_library_path, not every libgcc multilib directory.
1291
12922009-06-16 Wim Lewis <wiml@hhhh.org>
1293
1294 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
1295 supposed to be callee-saved.
1296 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
1297 return buffer for odd-size structs.
1298
12992009-06-16 Andreas Tobler <a.tobler@schweiz.org>
1300
1301 PR libffi/40444
1302 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
1303 allow_stack_execute for Darwin.
1304
13052009-06-16 Andrew Haley <aph@redhat.com>
1306
1307 * configure.ac (TARGETDIR): Add missing blank lines.
1308 * configure: Regenerate.
1309
13102009-06-16 Andrew Haley <aph@redhat.com>
1311
1312 * testsuite/libffi.call/cls_align_sint64.c,
1313 testsuite/libffi.call/cls_align_uint64.c,
1314 testsuite/libffi.call/cls_longdouble_va.c,
1315 testsuite/libffi.call/cls_ulonglong.c,
1316 testsuite/libffi.call/return_ll1.c,
1317 testsuite/libffi.call/stret_medium2.c: Fix printf format
1318 specifiers.
1319 * testsuite/libffi.call/ffitest.h,
1320 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
1321
13222009-06-15 Andrew Haley <aph@redhat.com>
1323
1324 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
1325 * testsuite/libffi.call/err_bad_abi.c: Likewise.
Anthony Green0cfe60e2009-12-29 10:06:04 -05001326
Anthony Greenc6dddbd2009-10-04 08:11:33 -040013272009-06-12 Andrew Haley <aph@redhat.com>
1328
1329 * Makefile.am: Remove info_TEXINFOS.
1330
13312009-06-12 Andrew Haley <aph@redhat.com>
1332
1333 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
1334 testsuite/libffi.call/cls_align_uint64.c,
1335 testsuite/libffi.call/cls_ulonglong.c,
1336 testsuite/libffi.call/return_ll1.c,
1337 testsuite/libffi.call/stret_medium2.c: Fix printf format
1338 specifiers.
1339 testsuite/libffi.special/unwindtest.cc: include stdint.h.
1340
13412009-06-11 Timothy Wall <twall@users.sf.net>
1342
1343 * Makefile.am,
Anthony Green0cfe60e2009-12-29 10:06:04 -05001344 configure.ac,
1345 include/ffi.h.in,
1346 include/ffi_common.h,
1347 src/closures.c,
1348 src/dlmalloc.c,
1349 src/x86/ffi.c,
1350 src/x86/ffitarget.h,
1351 src/x86/win64.S (new),
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001352 README: Added win64 support (mingw or MSVC)
Anthony Green0cfe60e2009-12-29 10:06:04 -05001353 * Makefile.in,
1354 include/Makefile.in,
1355 man/Makefile.in,
1356 testsuite/Makefile.in,
1357 configure,
1358 aclocal.m4: Regenerated
1359 * ltcf-c.sh: properly escape cygwin/w32 path
1360 * man/ffi_call.3: Clarify size requirements for return value.
1361 * src/x86/ffi64.c: Fix filename in comment.
1362 * src/x86/win32.S: Remove unused extern.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001363
Anthony Green0cfe60e2009-12-29 10:06:04 -05001364 * testsuite/libffi.call/closure_fn0.c,
1365 testsuite/libffi.call/closure_fn1.c,
1366 testsuite/libffi.call/closure_fn2.c,
1367 testsuite/libffi.call/closure_fn3.c,
1368 testsuite/libffi.call/closure_fn4.c,
1369 testsuite/libffi.call/closure_fn5.c,
1370 testsuite/libffi.call/closure_fn6.c,
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001371 testsuite/libffi.call/closure_stdcall.c,
1372 testsuite/libffi.call/cls_12byte.c,
1373 testsuite/libffi.call/cls_16byte.c,
1374 testsuite/libffi.call/cls_18byte.c,
1375 testsuite/libffi.call/cls_19byte.c,
1376 testsuite/libffi.call/cls_1_1byte.c,
1377 testsuite/libffi.call/cls_20byte.c,
1378 testsuite/libffi.call/cls_20byte1.c,
1379 testsuite/libffi.call/cls_24byte.c,
1380 testsuite/libffi.call/cls_2byte.c,
1381 testsuite/libffi.call/cls_3_1byte.c,
1382 testsuite/libffi.call/cls_3byte1.c,
1383 testsuite/libffi.call/cls_3byte2.c,
1384 testsuite/libffi.call/cls_4_1byte.c,
1385 testsuite/libffi.call/cls_4byte.c,
1386 testsuite/libffi.call/cls_5_1_byte.c,
1387 testsuite/libffi.call/cls_5byte.c,
1388 testsuite/libffi.call/cls_64byte.c,
1389 testsuite/libffi.call/cls_6_1_byte.c,
1390 testsuite/libffi.call/cls_6byte.c,
1391 testsuite/libffi.call/cls_7_1_byte.c,
1392 testsuite/libffi.call/cls_7byte.c,
1393 testsuite/libffi.call/cls_8byte.c,
1394 testsuite/libffi.call/cls_9byte1.c,
1395 testsuite/libffi.call/cls_9byte2.c,
1396 testsuite/libffi.call/cls_align_double.c,
1397 testsuite/libffi.call/cls_align_float.c,
1398 testsuite/libffi.call/cls_align_longdouble.c,
1399 testsuite/libffi.call/cls_align_longdouble_split.c,
1400 testsuite/libffi.call/cls_align_longdouble_split2.c,
1401 testsuite/libffi.call/cls_align_pointer.c,
1402 testsuite/libffi.call/cls_align_sint16.c,
1403 testsuite/libffi.call/cls_align_sint32.c,
1404 testsuite/libffi.call/cls_align_sint64.c,
1405 testsuite/libffi.call/cls_align_uint16.c,
1406 testsuite/libffi.call/cls_align_uint32.c,
1407 testsuite/libffi.call/cls_align_uint64.c,
1408 testsuite/libffi.call/cls_dbls_struct.c,
1409 testsuite/libffi.call/cls_double.c,
1410 testsuite/libffi.call/cls_double_va.c,
1411 testsuite/libffi.call/cls_float.c,
1412 testsuite/libffi.call/cls_longdouble.c,
1413 testsuite/libffi.call/cls_longdouble_va.c,
1414 testsuite/libffi.call/cls_multi_schar.c,
1415 testsuite/libffi.call/cls_multi_sshort.c,
1416 testsuite/libffi.call/cls_multi_sshortchar.c,
1417 testsuite/libffi.call/cls_multi_uchar.c,
1418 testsuite/libffi.call/cls_multi_ushort.c,
1419 testsuite/libffi.call/cls_multi_ushortchar.c,
1420 testsuite/libffi.call/cls_pointer.c,
1421 testsuite/libffi.call/cls_pointer_stack.c,
1422 testsuite/libffi.call/cls_schar.c,
1423 testsuite/libffi.call/cls_sint.c,
1424 testsuite/libffi.call/cls_sshort.c,
1425 testsuite/libffi.call/cls_uchar.c,
1426 testsuite/libffi.call/cls_uint.c,
1427 testsuite/libffi.call/cls_ulonglong.c,
1428 testsuite/libffi.call/cls_ushort.c,
1429 testsuite/libffi.call/err_bad_abi.c,
1430 testsuite/libffi.call/err_bad_typedef.c,
1431 testsuite/libffi.call/float2.c,
1432 testsuite/libffi.call/huge_struct.c,
1433 testsuite/libffi.call/nested_struct.c,
1434 testsuite/libffi.call/nested_struct1.c,
1435 testsuite/libffi.call/nested_struct10.c,
1436 testsuite/libffi.call/nested_struct2.c,
1437 testsuite/libffi.call/nested_struct3.c,
1438 testsuite/libffi.call/nested_struct4.c,
1439 testsuite/libffi.call/nested_struct5.c,
1440 testsuite/libffi.call/nested_struct6.c,
1441 testsuite/libffi.call/nested_struct7.c,
1442 testsuite/libffi.call/nested_struct8.c,
1443 testsuite/libffi.call/nested_struct9.c,
1444 testsuite/libffi.call/problem1.c,
1445 testsuite/libffi.call/return_ldl.c,
1446 testsuite/libffi.call/return_ll1.c,
1447 testsuite/libffi.call/stret_large.c,
1448 testsuite/libffi.call/stret_large2.c,
1449 testsuite/libffi.call/stret_medium.c,
1450 testsuite/libffi.call/stret_medium2.c,
Anthony Green0cfe60e2009-12-29 10:06:04 -05001451 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
1452 of checking for MMAP. Use intptr_t instead of long casts.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001453
14542009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1455
1456 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
1457 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
1458 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
1459
14602009-06-09 Andrew Haley <aph@redhat.com>
1461
1462 * src/x86/freebsd.S: Add missing file.
1463
14642009-06-08 Andrew Haley <aph@redhat.com>
1465
1466 Import from libffi 3.0.8:
1467
1468 * doc/libffi.texi: New file.
1469 * doc/libffi.info: Likewise.
1470 * doc/stamp-vti: Likewise.
1471 * man/Makefile.am: New file.
1472 * man/ffi_call.3: New file.
1473
1474 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
1475 src/dlmalloc.c.
1476 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
1477
1478 * configure.ac: Bump version to 3.0.8.
1479 parisc*-*-linux*: Add.
1480 i386-*-freebsd* | i386-*-openbsd*: Add.
1481 powerpc-*-beos*: Add.
1482 AM_CONDITIONAL X86_FREEBSD: Add.
1483 AC_CONFIG_FILES: Add man/Makefile.
1484
1485 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
1486
14872009-06-08 Andrew Haley <aph@redhat.com>
1488
1489 * README: Import from libffi 3.0.8.
1490
14912009-06-08 Andrew Haley <aph@redhat.com>
1492
1493 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
1494 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
1495 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
1496 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
1497
1498 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
1499 * testsuite/libffi.call/stret_medium.c: Likewise.
1500 * testsuite/libffi.call/stret_large2.c: Likewise.
1501 * testsuite/libffi.call/stret_large.c: Likewise.
1502
15032008-12-26 Timothy Wall <twall@users.sf.net>
1504
Anthony Green0cfe60e2009-12-29 10:06:04 -05001505 * testsuite/libffi.call/cls_longdouble.c,
1506 testsuite/libffi.call/cls_longdouble_va.c,
1507 testsuite/libffi.call/cls_align_longdouble.c,
1508 testsuite/libffi.call/cls_align_longdouble_split.c,
1509 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
1510 failures on x86_64 cygwin/mingw.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001511
15122008-12-22 Timothy Wall <twall@users.sf.net>
1513
Anthony Green0cfe60e2009-12-29 10:06:04 -05001514 * testsuite/libffi.call/closure_fn0.c,
1515 testsuite/libffi.call/closure_fn1.c,
1516 testsuite/libffi.call/closure_fn2.c,
1517 testsuite/libffi.call/closure_fn3.c,
1518 testsuite/libffi.call/closure_fn4.c,
1519 testsuite/libffi.call/closure_fn5.c,
1520 testsuite/libffi.call/closure_fn6.c,
1521 testsuite/libffi.call/closure_loc_fn0.c,
1522 testsuite/libffi.call/closure_stdcall.c,
1523 testsuite/libffi.call/cls_align_pointer.c,
1524 testsuite/libffi.call/cls_pointer.c,
1525 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
1526 pointer to integer (intptr_t).
1527 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001528
15292008-07-24 Anthony Green <green@redhat.com>
1530
Anthony Green0cfe60e2009-12-29 10:06:04 -05001531 * testsuite/libffi.call/cls_dbls_struct.c,
1532 testsuite/libffi.call/cls_double_va.c,
1533 testsuite/libffi.call/cls_longdouble.c,
1534 testsuite/libffi.call/cls_longdouble_va.c,
1535 testsuite/libffi.call/cls_pointer.c,
1536 testsuite/libffi.call/cls_pointer_stack.c,
1537 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
1538 compiler warnings.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001539
15402008-03-04 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001541 Blake Chaffin
1542 hos@tamanegi.org
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001543
Anthony Green0cfe60e2009-12-29 10:06:04 -05001544 * testsuite/libffi.call/cls_align_longdouble_split2.c
1545 testsuite/libffi.call/cls_align_longdouble_split.c
1546 testsuite/libffi.call/cls_dbls_struct.c
1547 testsuite/libffi.call/cls_double_va.c
1548 testsuite/libffi.call/cls_longdouble.c
1549 testsuite/libffi.call/cls_longdouble_va.c
1550 testsuite/libffi.call/cls_pointer.c
1551 testsuite/libffi.call/cls_pointer_stack.c
1552 testsuite/libffi.call/err_bad_abi.c
1553 testsuite/libffi.call/err_bad_typedef.c
1554 testsuite/libffi.call/stret_large2.c
1555 testsuite/libffi.call/stret_large.c
1556 testsuite/libffi.call/stret_medium2.c
1557 testsuite/libffi.call/stret_medium.c: New tests from Apple.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001558
15592009-06-05 Andrew Haley <aph@redhat.com>
1560
1561 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
1562 libffi.
1563
15642009-06-04 Andrew Haley <aph@redhat.com>
1565
1566 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
1567 stdcall changes.
1568
15692008-02-26 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001570 Thomas Heller <theller@ctypes.org>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001571
Anthony Green0cfe60e2009-12-29 10:06:04 -05001572 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
1573 comment.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001574
15752008-02-03 Timothy Wall <twall@users.sf.net>
1576
Anthony Green0cfe60e2009-12-29 10:06:04 -05001577 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
1578 offset based on code pointer, not data pointer.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001579
15802008-01-31 Timothy Wall <twall@users.sf.net>
1581
Anthony Green0cfe60e2009-12-29 10:06:04 -05001582 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
1583 closures.
1584 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
1585 closures.
1586 * src/x86/win32.S: Add assembly for stdcall closure.
1587 * src/x86/ffi.c: Initialize stdcall closure trampoline.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001588
15892009-06-04 Andrew Haley <aph@redhat.com>
1590
1591 * include/ffi.h.in: Change void (*)() to void (*)(void).
1592 * src/x86/ffi.c: Likewise.
1593
15942009-06-04 Andrew Haley <aph@redhat.com>
1595
1596 * src/powerpc/ppc_closure.S: Insert licence header.
1597 * src/powerpc/linux64_closure.S: Likewise.
1598 * src/m68k/sysv.S: Likewise.
1599
1600 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
1601 * src/powerpc/ffi.c: Likewise.
1602 * src/powerpc/ffi_darwin.c: Likewise.
1603 * src/m32r/ffi.c: Likewise.
1604 * src/sh64/ffi.c: Likewise.
1605 * src/x86/ffi64.c: Likewise.
1606 * src/alpha/ffi.c: Likewise.
1607 * src/alpha/osf.S: Likewise.
1608 * src/frv/ffi.c: Likewise.
1609 * src/s390/ffi.c: Likewise.
1610 * src/pa/ffi.c: Likewise.
1611 * src/pa/hpux32.S: Likewise.
1612 * src/ia64/unix.S: Likewise.
1613 * src/ia64/ffi.c: Likewise.
1614 * src/sparc/ffi.c: Likewise.
1615 * src/mips/ffi.c: Likewise.
1616 * src/sh/ffi.c: Likewise.
1617
16182008-02-15 David Daney <ddaney@avtrex.com>
1619
Anthony Green0cfe60e2009-12-29 10:06:04 -05001620 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
1621 Define (conditionally), and use it to include cachectl.h.
1622 (ffi_prep_closure_loc): Fix cache flushing.
1623 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001624
16252009-06-04 Andrew Haley <aph@redhat.com>
1626
1627 include/ffi.h.in,
1628 src/arm/ffitarget.h,
1629 src/arm/ffi.c,
1630 src/arm/sysv.S,
1631 src/powerpc/ffitarget.h,
1632 src/closures.c,
1633 src/sh64/ffitarget.h,
1634 src/sh64/ffi.c,
1635 src/sh64/sysv.S,
1636 src/types.c,
1637 src/x86/ffi64.c,
1638 src/x86/ffitarget.h,
1639 src/x86/win32.S,
1640 src/x86/darwin.S,
1641 src/x86/ffi.c,
1642 src/x86/sysv.S,
1643 src/x86/unix64.S,
1644 src/alpha/ffitarget.h,
1645 src/alpha/ffi.c,
1646 src/alpha/osf.S,
1647 src/m68k/ffitarget.h,
1648 src/frv/ffitarget.h,
1649 src/frv/ffi.c,
1650 src/s390/ffitarget.h,
1651 src/s390/sysv.S,
1652 src/cris/ffitarget.h,
1653 src/pa/linux.S,
1654 src/pa/ffitarget.h,
1655 src/pa/ffi.c,
1656 src/raw_api.c,
1657 src/ia64/ffitarget.h,
1658 src/ia64/unix.S,
1659 src/ia64/ffi.c,
1660 src/ia64/ia64_flags.h,
1661 src/java_raw_api.c,
1662 src/debug.c,
1663 src/sparc/v9.S,
1664 src/sparc/ffitarget.h,
1665 src/sparc/ffi.c,
1666 src/sparc/v8.S,
1667 src/mips/ffitarget.h,
1668 src/mips/n32.S,
1669 src/mips/o32.S,
1670 src/mips/ffi.c,
1671 src/prep_cif.c,
1672 src/sh/ffitarget.h,
1673 src/sh/ffi.c,
1674 src/sh/sysv.S: Update license text.
1675
16762009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1677
1678 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
1679 (.eh_frame): Add FDE for it.
1680
16812009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1682
1683 * configure.ac: Also check if assembler supports pc-relative
1684 relocs on X86_WIN32 targets.
1685 * configure: Regenerate.
1686 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
1687 (_ffi_call_SYSV): Add missing function type symbol .def and
1688 add EH markup labels.
1689 (_ffi_call_STDCALL): Likewise.
1690 (_ffi_closure_SYSV): Likewise.
1691 (_ffi_closure_raw_SYSV): Likewise.
1692 (.eh_frame): Add hand-crafted EH data.
1693
16942009-04-09 Jakub Jelinek <jakub@redhat.com>
1695
1696 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
1697 version 3 of the GNU General Public License and to point readers
1698 at the COPYING3 file and the FSF's license web page.
1699 * testsuite/libffi.call/call.exp: Likewise.
1700 * testsuite/libffi.special/special.exp: Likewise.
1701
17022009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1703
1704 * configure: Regenerate.
1705
17062008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1707
1708 PR libffi/26048
1709 * configure.ac (HAVE_AS_X86_PCREL): New test.
1710 * configure: Regenerate.
1711 * fficonfig.h.in: Regenerate.
1712 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
1713 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
1714 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
1715 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1716 * src/x86/unix64.S (.Lstore_table): Move to .text section.
1717 (.Lload_table): Likewise.
1718 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1719
17202008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1721
1722 * configure: Regenerate.
1723
17242008-11-21 Eric Botcazou <ebotcazou@adacore.com>
1725
1726 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
1727 signed/unsigned int8/16 return values.
1728 * src/sparc/v8.S (ffi_call_v8): Likewise.
1729 (ffi_closure_v8): Likewise.
1730
17312008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001732 Steve Ellcey <sje@cup.hp.com>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001733
1734 * configure: Regenerate for new libtool.
1735 * Makefile.in: Ditto.
1736 * include/Makefile.in: Ditto.
1737 * aclocal.m4: Ditto.
1738
17392008-08-25 Andreas Tobler <a.tobler@schweiz.org>
1740
1741 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
1742 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
1743 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
1744 Adjust copyright notice.
1745 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
1746 register or two register to use for FFI_SYSV structs.
1747 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
1748 (ffi_closure_helper_SYSV): Fix the return type for
1749 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
1750 Adjust copyright notice.
1751
17522008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
1753
1754 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
1755 int.
1756
17572008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1758
1759 * configure: Regenerate.
1760 * include/Makefile.in: Regenerate.
1761 * testsuite/Makefile.in: Regenerate.
1762
17632008-06-07 Joseph Myers <joseph@codesourcery.com>
1764
1765 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
1766 powerpc-*-beos*): Remove.
1767 * configure: Regenerate.
1768
17692008-05-09 Julian Brown <julian@codesourcery.com>
1770
1771 * Makefile.am (LTLDFLAGS): New.
1772 (libffi_la_LDFLAGS): Use above.
1773 * Makefile.in: Regenerate.
1774
17752008-04-18 Paolo Bonzini <bonzini@gnu.org>
1776
1777 PR bootstrap/35457
1778 * aclocal.m4: Regenerate.
1779 * configure: Regenerate.
1780
17812008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
1782
1783 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
1784 * src/sh64/sysv.S: Likewise.
1785
17862008-03-26 Daniel Jacobowitz <dan@debian.org>
1787
1788 * src/arm/sysv.S: Fix ARM comment marker.
1789
17902008-03-26 Jakub Jelinek <jakub@redhat.com>
1791
1792 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
1793 * src/s390/sysv.S: Likewise.
1794 * src/powerpc/ppc_closure.S: Likewise.
1795 * src/powerpc/sysv.S: Likewise.
1796 * src/x86/unix64.S: Likewise.
1797 * src/x86/sysv.S: Likewise.
1798 * src/sparc/v8.S: Likewise.
1799 * src/sparc/v9.S: Likewise.
1800 * src/m68k/sysv.S: Likewise.
1801 * src/arm/sysv.S: Likewise.
1802
18032008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1804
1805 * aclocal.m4: Regenerate.
1806 * configure: Likewise.
1807 * Makefile.in: Likewise.
1808 * include/Makefile.in: Likewise.
1809 * testsuite/Makefile.in: Likewise.
1810
18112008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
1812 Andreas Tobler <a.tobler@schweiz.org>
1813
1814 * configure.ac: Add amd64-*-freebsd* target.
1815 * configure: Regenerate.
1816
18172008-01-30 H.J. Lu <hongjiu.lu@intel.com>
1818
1819 PR libffi/34612
1820 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
1821 returning struct.
1822
1823 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
1824 tests.
1825
18262008-01-24 David Edelsohn <edelsohn@gnu.org>
1827
1828 * configure: Regenerate.
1829
18302008-01-06 Andreas Tobler <a.tobler@schweiz.org>
1831
1832 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
1833
18342008-01-05 Andreas Tobler <a.tobler@schweiz.org>
1835
1836 PR testsuite/32843
1837 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
1838 signed/unsigned int8/16 for X86_DARWIN.
1839 Updated copyright info.
1840 Handle one and two byte structs with special cif->flags.
1841 * src/x86/ffitarget.h: Add special types for one and two byte structs.
1842 Updated copyright info.
1843 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
1844 sysv.S
1845 Remove code to pop args from the stack after call.
1846 Special-case signed/unsigned for int8/16, one and two byte structs.
1847 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
1848 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
1849 FFI_TYPE_SINT32.
1850 Updated copyright info.
1851
18522007-12-08 David Daney <ddaney@avtrex.com>
1853
Anthony Green0cfe60e2009-12-29 10:06:04 -05001854 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001855 SUBU, add with ADDU and use smaller code sequences.
1856
18572007-12-07 David Daney <ddaney@avtrex.com>
1858
1859 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
1860 type.
1861
18622007-12-06 David Daney <ddaney@avtrex.com>
1863
1864 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
1865 defined.
1866 (ffi_java_raw): New typedef.
1867 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
1868 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
1869 ffi_java_raw.
1870 (ffi_java_raw_closure) : Same.
1871 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
1872 parameter types.
1873 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
1874 FFI_SIZEOF_JAVA_RAW.
1875 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
1876 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
1877 sizeof(ffi_java_raw) for alignment calculations.
1878 (ffi_java_ptrarray_to_raw): Same.
1879 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
Anthony Green0cfe60e2009-12-29 10:06:04 -05001880 if FFI_SIZEOF_JAVA_RAW == 4.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001881 (ffi_java_raw_to_rvalue): Same.
1882 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
1883 (ffi_java_translate_args): Same.
1884 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
1885 parameter types.
1886 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
1887
18882007-12-06 David Daney <ddaney@avtrex.com>
1889
Anthony Green0cfe60e2009-12-29 10:06:04 -05001890 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001891 pointer values.
1892
18932007-12-01 Andreas Tobler <a.tobler@schweiz.org>
1894
1895 PR libffi/31937
1896 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
1897 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
1898 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
1899 set the NUM_FPR_ARG_REGISTERS according to.
1900 Add support for potential soft-float support under hard-float
1901 architecture.
1902 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
1903 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
1904 to the FFI_LINUX_SOFT_FLOAT ABI.
1905 (ffi_prep_cif_machdep): Likewise.
1906 (ffi_closure_helper_SYSV): Likewise.
1907 * src/powerpc/ppc_closure.S: Make sure not to store float/double
1908 on archs where __NO_FPRS__ is true.
1909 Add FFI_TYPE_UINT128 support.
1910 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
1911 Adjust copyright notice.
1912
19132007-11-25 Andreas Tobler <a.tobler@schweiz.org>
1914
1915 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
1916 * include/ffi_common.h: ... here.
1917 Update copyright.
1918
19192007-11-17 Andreas Tobler <a.tobler@schweiz.org>
1920
1921 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
1922 * src/powerpc/linux64.S: Likewise.
1923 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
1924 * testsuite/libffi.call/return_ldl.c: New test.
1925
19262007-09-04 <aph@redhat.com>
1927
1928 * src/arm/sysv.S (UNWIND): New.
1929 (Whole file): Conditionally compile unwinder directives.
1930 * src/arm/sysv.S: Add unwinder directives.
1931
1932 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
1933 Only treat r0 as a struct address if we're actually returning a
1934 struct by address.
1935 Only copy the bytes that are actually within a struct.
1936 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
1937 is returned in r0, not passed by address.
1938 (ffi_call): Allocate a word-sized temporary for the case where
1939 a composite is returned in r0.
1940 (ffi_prep_incoming_args_SYSV): Align as necessary.
1941
19422007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
1943
Anthony Green0cfe60e2009-12-29 10:06:04 -05001944 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001945 directly using the sys_cacheflush syscall.
1946
19472007-07-27 Andrew Haley <aph@redhat.com>
1948
1949 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
1950
19512007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
1952
1953 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
1954 * configure.ac: Likewise.
1955 * Makefile.in: Regenerate.
1956 * include/Makefile.in: Likewise.
1957 * testsuite/Makefile.in: Likewise.
1958 * configure: Likewise.
1959
19602007-08-24 David Daney <ddaney@avtrex.com>
1961
1962 * testsuite/libffi.call/return_sl.c: New test.
1963
19642007-08-10 David Daney <ddaney@avtrex.com>
1965
1966 * testsuite/libffi.call/cls_multi_ushort.c,
1967 testsuite/libffi.call/cls_align_uint16.c,
1968 testsuite/libffi.call/nested_struct1.c,
1969 testsuite/libffi.call/nested_struct3.c,
1970 testsuite/libffi.call/cls_7_1_byte.c,
1971 testsuite/libffi.call/nested_struct5.c,
1972 testsuite/libffi.call/cls_double.c,
1973 testsuite/libffi.call/nested_struct7.c,
1974 testsuite/libffi.call/cls_sint.c,
1975 testsuite/libffi.call/nested_struct9.c,
1976 testsuite/libffi.call/cls_20byte1.c,
1977 testsuite/libffi.call/cls_multi_sshortchar.c,
1978 testsuite/libffi.call/cls_align_sint64.c,
1979 testsuite/libffi.call/cls_3byte2.c,
1980 testsuite/libffi.call/cls_multi_schar.c,
1981 testsuite/libffi.call/cls_multi_uchar.c,
1982 testsuite/libffi.call/cls_19byte.c,
1983 testsuite/libffi.call/cls_9byte1.c,
1984 testsuite/libffi.call/cls_align_float.c,
1985 testsuite/libffi.call/closure_fn1.c,
1986 testsuite/libffi.call/problem1.c,
1987 testsuite/libffi.call/closure_fn3.c,
1988 testsuite/libffi.call/cls_sshort.c,
1989 testsuite/libffi.call/closure_fn5.c,
1990 testsuite/libffi.call/cls_align_double.c,
1991 testsuite/libffi.call/nested_struct.c,
1992 testsuite/libffi.call/cls_2byte.c,
1993 testsuite/libffi.call/nested_struct10.c,
1994 testsuite/libffi.call/cls_4byte.c,
1995 testsuite/libffi.call/cls_6byte.c,
1996 testsuite/libffi.call/cls_8byte.c,
1997 testsuite/libffi.call/cls_multi_sshort.c,
1998 testsuite/libffi.call/cls_align_sint16.c,
1999 testsuite/libffi.call/cls_align_uint32.c,
2000 testsuite/libffi.call/cls_20byte.c,
2001 testsuite/libffi.call/cls_float.c,
2002 testsuite/libffi.call/nested_struct2.c,
2003 testsuite/libffi.call/cls_5_1_byte.c,
2004 testsuite/libffi.call/nested_struct4.c,
2005 testsuite/libffi.call/cls_24byte.c,
2006 testsuite/libffi.call/nested_struct6.c,
2007 testsuite/libffi.call/cls_64byte.c,
2008 testsuite/libffi.call/nested_struct8.c,
2009 testsuite/libffi.call/cls_uint.c,
2010 testsuite/libffi.call/cls_multi_ushortchar.c,
2011 testsuite/libffi.call/cls_schar.c,
2012 testsuite/libffi.call/cls_uchar.c,
2013 testsuite/libffi.call/cls_align_uint64.c,
2014 testsuite/libffi.call/cls_ulonglong.c,
2015 testsuite/libffi.call/cls_align_longdouble.c,
2016 testsuite/libffi.call/cls_1_1byte.c,
2017 testsuite/libffi.call/cls_12byte.c,
2018 testsuite/libffi.call/cls_3_1byte.c,
2019 testsuite/libffi.call/cls_3byte1.c,
2020 testsuite/libffi.call/cls_4_1byte.c,
2021 testsuite/libffi.call/cls_6_1_byte.c,
2022 testsuite/libffi.call/cls_16byte.c,
2023 testsuite/libffi.call/cls_18byte.c,
2024 testsuite/libffi.call/closure_fn0.c,
2025 testsuite/libffi.call/cls_9byte2.c,
2026 testsuite/libffi.call/closure_fn2.c,
2027 testsuite/libffi.call/closure_fn4.c,
2028 testsuite/libffi.call/cls_ushort.c,
2029 testsuite/libffi.call/closure_fn6.c,
2030 testsuite/libffi.call/cls_5byte.c,
2031 testsuite/libffi.call/cls_align_pointer.c,
2032 testsuite/libffi.call/cls_7byte.c,
2033 testsuite/libffi.call/cls_align_sint32.c,
2034 testsuite/libffi.special/unwindtest_ffi_call.cc,
2035 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2036
20372007-08-10 David Daney <ddaney@avtrex.com>
2038
2039 PR libffi/28313
2040 * configure.ac: Don't treat mips64 as a special case.
2041 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2042 * configure: Regenerate
2043 * Makefile.in: Ditto.
2044 * fficonfig.h.in: Ditto.
2045 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2046 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2047 (FFI_DEFAULT_ABI): Set for n64 case.
2048 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2049 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2050 (ffi_closure_N32): New function.
2051 (.eh_frame): New section
2052 * src/mips/o32.S: Clean up comments.
2053 (ffi_closure_O32): Pass ffi_closure parameter in $12.
2054 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2055 _MIPS_SIM == _ABIN32 throughout.
2056 (FFI_MIPS_STOP_HERE): New, use in place of
2057 ffi_stop_here.
2058 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2059 to support n32/n64 ABIs.
2060 (calc_n32_struct_flags): Rewrite.
2061 (calc_n32_return_struct_flags): Remove unused variable. Reverse
2062 position of flag bits.
2063 (ffi_prep_cif_machdep): Rewrite n32 portion.
2064 (ffi_call): Enable for n64. Add special handling for small structure
2065 return values.
2066 (ffi_prep_closure_loc): Add n32 and n64 support.
2067 (ffi_closure_mips_inner_O32): Add cast to silence warning.
2068 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2069
20702007-08-08 David Daney <ddaney@avtrex.com>
2071
2072 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2073 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2074 specifiers.
2075 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
2076 * testsuite/libffi.call/cls_sint.c (main): Ditto.
2077 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
2078 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2079 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2080 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
2081 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
2082 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
2083 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
2084 * testsuite/libffi.call/return_fl3.c (main): Ditto.
2085 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
2086 * testsuite/libffi.call/nested_struct.c (main): Ditto.
2087 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
2088 * testsuite/libffi.call/return_ll1.c (main): Ditto.
2089 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
2090 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2091 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2092 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
2093 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
2094 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
2095 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
2096 * testsuite/libffi.call/cls_uint.c (main): Ditto.
2097 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
2098 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
2099 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
2100 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2101 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
2102 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
2103 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
2104 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
2105 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2106
21072007-08-07 Andrew Haley <aph@redhat.com>
2108
2109 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2110 checkin.
2111
21122007-08-06 Andrew Haley <aph@redhat.com>
2113
2114 PR testsuite/32843
2115 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2116 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2117 FFI_TYPE_SINT32.
2118
21192007-08-02 David Daney <ddaney@avtrex.com>
2120
2121 * testsuite/libffi.call/return_ul.c (main): Define return type as
2122 ffi_arg. Use proper printf conversion specifier.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002123
Anthony Greenc6dddbd2009-10-04 08:11:33 -040021242007-07-30 Andrew Haley <aph@redhat.com>
2125
2126 PR testsuite/32843
2127 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2128 signed/unsigned int8/16.
2129 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2130 Use a jump table.
2131 Remove code to pop args from the stack after call.
2132 Special-case signed/unsigned int8/16.
2133 * testsuite/libffi.call/return_sc.c (main): Revert.
2134
21352007-07-26 Richard Guenther <rguenther@suse.de>
2136
2137 PR testsuite/32843
2138 * testsuite/libffi.call/return_sc.c (main): Verify call
2139 result as signed char, not ffi_arg.
2140
21412007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2142
2143 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
2144 * configure: Regenerate.
2145
21462007-07-11 David Daney <ddaney@avtrex.com>
2147
2148 * src/mips/ffi.c: Don't include sys/cachectl.h.
2149 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
2150 cacheflush().
2151
21522007-05-18 Aurelien Jarno <aurelien@aurel32.net>
2153
2154 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
2155 from (ffi_prep_closure): ... this.
2156 (FFI_INIT_TRAMPOLINE): Adjust.
2157
21582005-12-31 Phil Blundell <pb@reciva.com>
2159
Anthony Green0cfe60e2009-12-29 10:06:04 -05002160 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
2161 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002162 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
2163 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2164 (FFI_CLOSURES): Enable closure support.
2165
21662007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
2167
Anthony Green0cfe60e2009-12-29 10:06:04 -05002168 * testsuite/libffi.call/cls_multi_ushort.c,
2169 testsuite/libffi.call/cls_align_uint16.c,
2170 testsuite/libffi.call/nested_struct1.c,
2171 testsuite/libffi.call/nested_struct3.c,
2172 testsuite/libffi.call/cls_7_1_byte.c,
2173 testsuite/libffi.call/cls_double.c,
2174 testsuite/libffi.call/nested_struct5.c,
2175 testsuite/libffi.call/nested_struct7.c,
2176 testsuite/libffi.call/cls_sint.c,
2177 testsuite/libffi.call/nested_struct9.c,
2178 testsuite/libffi.call/cls_20byte1.c,
2179 testsuite/libffi.call/cls_multi_sshortchar.c,
2180 testsuite/libffi.call/cls_align_sint64.c,
2181 testsuite/libffi.call/cls_3byte2.c,
2182 testsuite/libffi.call/cls_multi_schar.c,
2183 testsuite/libffi.call/cls_multi_uchar.c,
2184 testsuite/libffi.call/cls_19byte.c,
2185 testsuite/libffi.call/cls_9byte1.c,
2186 testsuite/libffi.call/cls_align_float.c,
2187 testsuite/libffi.call/closure_fn1.c,
2188 testsuite/libffi.call/problem1.c,
2189 testsuite/libffi.call/closure_fn3.c,
2190 testsuite/libffi.call/cls_sshort.c,
2191 testsuite/libffi.call/closure_fn5.c,
2192 testsuite/libffi.call/cls_align_double.c,
2193 testsuite/libffi.call/cls_2byte.c,
2194 testsuite/libffi.call/nested_struct.c,
2195 testsuite/libffi.call/nested_struct10.c,
2196 testsuite/libffi.call/cls_4byte.c,
2197 testsuite/libffi.call/cls_6byte.c,
2198 testsuite/libffi.call/cls_8byte.c,
2199 testsuite/libffi.call/cls_multi_sshort.c,
2200 testsuite/libffi.call/cls_align_uint32.c,
2201 testsuite/libffi.call/cls_align_sint16.c,
2202 testsuite/libffi.call/cls_float.c,
2203 testsuite/libffi.call/cls_20byte.c,
2204 testsuite/libffi.call/cls_5_1_byte.c,
2205 testsuite/libffi.call/nested_struct2.c,
2206 testsuite/libffi.call/cls_24byte.c,
2207 testsuite/libffi.call/nested_struct4.c,
2208 testsuite/libffi.call/nested_struct6.c,
2209 testsuite/libffi.call/cls_64byte.c,
2210 testsuite/libffi.call/nested_struct8.c,
2211 testsuite/libffi.call/cls_uint.c,
2212 testsuite/libffi.call/cls_multi_ushortchar.c,
2213 testsuite/libffi.call/cls_schar.c,
2214 testsuite/libffi.call/cls_uchar.c,
2215 testsuite/libffi.call/cls_align_uint64.c,
2216 testsuite/libffi.call/cls_ulonglong.c,
2217 testsuite/libffi.call/cls_align_longdouble.c,
2218 testsuite/libffi.call/cls_1_1byte.c,
2219 testsuite/libffi.call/cls_12byte.c,
2220 testsuite/libffi.call/cls_3_1byte.c,
2221 testsuite/libffi.call/cls_3byte1.c,
2222 testsuite/libffi.call/cls_4_1byte.c,
2223 testsuite/libffi.call/cls_6_1_byte.c,
2224 testsuite/libffi.call/cls_16byte.c,
2225 testsuite/libffi.call/cls_18byte.c,
2226 testsuite/libffi.call/closure_fn0.c,
2227 testsuite/libffi.call/cls_9byte2.c,
2228 testsuite/libffi.call/closure_fn2.c,
2229 testsuite/libffi.call/closure_fn4.c,
2230 testsuite/libffi.call/cls_ushort.c,
2231 testsuite/libffi.call/closure_fn6.c,
2232 testsuite/libffi.call/cls_5byte.c,
2233 testsuite/libffi.call/cls_align_pointer.c,
2234 testsuite/libffi.call/cls_7byte.c,
2235 testsuite/libffi.call/cls_align_sint32.c,
2236 testsuite/libffi.special/unwindtest_ffi_call.cc,
2237 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002238
22392007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2240
2241 * aclocal.m4: Regenerated.
2242
22432007-06-02 Paolo Bonzini <bonzini@gnu.org>
2244
2245 * configure: Regenerate.
2246
22472007-05-23 Steve Ellcey <sje@cup.hp.com>
2248
2249 * Makefile.in: Regenerate.
2250 * configure: Regenerate.
2251 * aclocal.m4: Regenerate.
2252 * include/Makefile.in: Regenerate.
2253 * testsuite/Makefile.in: Regenerate.
2254
22552007-05-10 Roman Zippel <zippel@linux-m68k.org>
2256
2257 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
2258 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
2259 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
2260 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2261 (FFI_CLOSURES): Enable closure support.
2262
22632007-05-10 Roman Zippel <zippel@linux-m68k.org>
2264
2265 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
2266 * configure: Regenerate.
2267 * fficonfig.h.in: Regenerate.
2268 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
2269 CFI_OFFSET,CFI_DEF_CFA): New macros.
2270 (ffi_call_SYSV): Add callframe annotation.
2271
22722007-05-10 Roman Zippel <zippel@linux-m68k.org>
2273
2274 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
2275 numerous test suite failures.
2276 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
2277
22782007-04-11 Paolo Bonzini <bonzini@gnu.org>
2279
2280 * Makefile.am (EXTRA_DIST): Bring up to date.
2281 * Makefile.in: Regenerate.
2282 * src/frv/eabi.S: Remove RCS keyword.
2283
22842007-04-06 Richard Henderson <rth@redhat.com>
2285
2286 * configure.ac: Tidy target case.
2287 (HAVE_LONG_DOUBLE): Allow the target to override.
2288 * configure: Regenerate.
2289 * include/ffi.h.in: Don't define ffi_type_foo if
2290 LIBFFI_HIDE_BASIC_TYPES is defined.
2291 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
2292 to ffi_type_double.
2293 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
2294 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
2295 (ffi_type_longdouble): Special case for Alpha. Don't define
2296 if long double == double.
2297
2298 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
2299 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
2300 (ffi_call, ffi_closure_osf_inner): Likewise.
2301 (ffi_closure_osf_inner): Likewise. Mark hidden.
2302 (ffi_call_osf, ffi_closure_osf): Mark hidden.
2303 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
2304 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
2305 (load_table): Handle 128-bit long double.
2306
2307 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
2308
23092007-04-06 Tom Tromey <tromey@redhat.com>
2310
2311 PR libffi/31491:
2312 * README: Fixed bug in example.
2313
23142007-04-03 Jakub Jelinek <jakub@redhat.com>
2315
2316 * src/closures.c: Include sys/statfs.h.
2317 (_GNU_SOURCE): Define on Linux.
2318 (FFI_MMAP_EXEC_SELINUX): Define.
2319 (selinux_enabled): New variable.
2320 (selinux_enabled_check): New function.
2321 (is_selinux_enabled): Define.
2322 (dlmmap): Use it.
2323
23242007-03-24 Uros Bizjak <ubizjak@gmail.com>
2325
2326 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
2327 Use 'volatile float sum' to create sum of floats to avoid false
2328 negative due to excess precision on ix86 targets.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002329 (main): Ditto.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002330
23312007-03-08 Alexandre Oliva <aoliva@redhat.com>
2332
2333 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
2334 patch.
2335 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
2336
23372007-03-07 Alexandre Oliva <aoliva@redhat.com>
2338
2339 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
2340 (ffi_prep_closure_loc): New.
2341 (ffi_prep_raw_closure_loc): New.
2342 (ffi_prep_java_raw_closure_loc): New.
2343 * src/closures.c: New file.
2344 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
2345 Replace sflags with exec_offset.
2346 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
2347 sub_segment_exec_offset): New macros.
2348 (get_segment_flags, set_segment_flags, check_segment_merge): New
2349 macros.
2350 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
2351 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
2352 destroy_mspace): Use new macros.
2353 (sys_alloc): Silence warning.
2354 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
2355 * Makefile.in: Rebuilt.
2356 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
2357 terms of ffi_prep_closure_loc.
2358 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
2359 from...
2360 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
2361 renamed version.
2362 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
2363 adjusted from...
2364 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
2365 the renamed version.
2366 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
2367 (ffi_prep_closure): ... this.
2368 * src/pa/ffi.c: Likewise.
2369 * src/cris/ffi.c: Likewise. Adjust.
2370 * src/frv/ffi.c: Likewise.
2371 * src/ia64/ffi.c: Likewise.
2372 * src/mips/ffi.c: Likewise.
2373 * src/powerpc/ffi_darwin.c: Likewise.
2374 * src/s390/ffi.c: Likewise.
2375 * src/sh/ffi.c: Likewise.
2376 * src/sh64/ffi.c: Likewise.
2377 * src/sparc/ffi.c: Likewise.
2378 * src/x86/ffi64.c: Likewise.
2379 * src/x86/ffi.c: Likewise.
2380 (FFI_INIT_TRAMPOLINE): Adjust.
2381 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
2382 (ffi_prep_raw_closure): ... this.
2383 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
2384 (ffi_prep_closure): ... this.
2385 (flush_icache): Adjust.
2386
23872007-03-07 Alexandre Oliva <aoliva@redhat.com>
2388
2389 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
2390 Lea's malloc.
2391
23922007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2393
2394 * Makefile.am: Add dummy install-pdf target.
2395 * Makefile.in: Regenerate
2396
23972007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2398
2399 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
2400 ffi_closure_helper_SYSV): Add long double handling.
2401
24022007-02-02 Jakub Jelinek <jakub@redhat.com>
2403
2404 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
2405 immediately after bctrl instruction.
2406
24072007-01-18 Alexandre Oliva <aoliva@redhat.com>
2408
2409 * Makefile.am (all-recursive, install-recursive,
2410 mostlyclean-recursive, clean-recursive, distclean-recursive,
2411 maintainer-clean-recursive): Add missing targets.
2412 * Makefile.in: Rebuilt.
2413
24142006-12-14 Andreas Tobler <a.tobler@schweiz.org>
2415
2416 * configure.ac: Add TARGET for x86_64-*-darwin*.
2417 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
2418 for X86_DARWIN.
2419 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
2420 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
2421 * configure: Regenerate.
2422 * Makefile.in: Regenerate.
2423 * include/Makefile.in: Regenerate.
2424 * testsuite/Makefile.in: Regenerate.
2425 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
2426 ffi_call only.
2427
24282006-12-13 Andreas Tobler <a.tobler@schweiz.org>
2429
2430 * aclocal.m4: Regenerate with aclocal -I .. as written in the
2431 Makefile.am.
2432
24332006-10-31 Geoffrey Keating <geoffk@apple.com>
2434
2435 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
2436 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
2437 Darwin.
2438 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
2439 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
2440
24412006-10-10 Paolo Bonzini <bonzini@gnu.org>
2442 Sandro Tolaini <tolaini@libero.it>
2443
Anthony Green0cfe60e2009-12-29 10:06:04 -05002444 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002445 conditional.
2446 * configure: Regenerated.
2447 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
2448 (EXTRA_DIST): Add src/x86/darwin.S.
2449 * Makefile.in: Regenerated.
2450 * include/Makefile.in: Regenerated.
2451 * testsuite/Makefile.in: Regenerated.
2452
2453 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
2454 X86_WIN32, and additionally align stack to 16 bytes.
2455 * src/x86/darwin.S: New, based on sysv.S.
2456 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
2457
24582006-09-12 David Daney <ddaney@avtrex.com>
2459
2460 PR libffi/23935
2461 * include/Makefile.am: Install both ffi.h and ffitarget.h in
2462 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
2463 * aclocal.m4: Regenerated for automake 1.9.6.
2464 * Makefile.in: Regenerated.
2465 * include/Makefile.in: Regenerated.
2466 * testsuite/Makefile.in: Regenerated.
2467
24682006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2469
2470 * include/ffi_common.h (struct): Revert accidental commit.
2471
24722006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2473
2474 * include/ffi_common.h: Remove lint directives.
2475 * include/ffi.h.in: Likewise.
2476
24772006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
2478
2479 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
2480 for 32-bit architectures.
2481 * testsuite/libffi.call/return_ul.c: New test case.
2482
24832006-07-19 David Daney <ddaney@avtrex.com>
2484
2485 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
2486 xfail remains for mips64.
2487
24882006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2489
2490 * Makefile.am: Add install-html target. Add install-html to .PHONY
2491 * Makefile.in: Regenerate.
2492 * aclocal.m4: Regenerate.
2493 * include/Makefile.in: Regenerate.
2494 * testsuite/Makefile.in: Regenerate.
2495
24962006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2497
2498 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
2499 stack slot.
2500
25012006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
2502
2503 * README: Remove notice about 'Crazy Comments'.
2504 * src/debug.c: Remove lint directives. Cleanup white spaces.
2505 * src/java_raw_api.c: Likewise.
2506 * src/prep_cif.c: Likewise.
2507 * src/raw_api.c: Likewise.
2508 * src/ffitest.c: Delete. No longer needed, all test cases migrated
2509 to the testsuite.
2510 * src/arm/ffi.c: Remove lint directives.
2511 * src/m32r/ffi.c: Likewise.
2512 * src/pa/ffi.c: Likewise.
2513 * src/powerpc/ffi.c: Likewise.
2514 * src/powerpc/ffi_darwin.c: Likewise.
2515 * src/sh/ffi.c: Likewise.
2516 * src/sh64/ffi.c: Likewise.
2517 * src/x86/ffi.c: Likewise.
2518 * testsuite/libffi.call/float2.c: Likewise.
2519 * testsuite/libffi.call/promotion.c: Likewise.
2520 * testsuite/libffi.call/struct1.c: Likewise.
2521
25222006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
2523
2524 * src/pa/hpux32.S: Correct unwind offset calculation for
2525 ffi_closure_pa32.
2526 * src/pa/linux.S: Likewise.
2527
25282006-04-12 James E Wilson <wilson@specifix.com>
2529
2530 PR libgcj/26483
2531 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
2532 (hfa_type_load): Call stf_spill.
2533 (hfa_type_store): Call ldf_fill.
2534 (ffi_call): Adjust calls to above routines. Add local temps for
2535 macro result.
2536
25372006-04-10 Matthias Klose <doko@debian.org>
2538
2539 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
2540 directory names containing underscores.
2541
25422006-04-07 James E Wilson <wilson@specifix.com>
2543
2544 * testsuite/libffi.call/float4.c: New testcase.
2545
25462006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2547 Andreas Tobler <a.tobler@schweiz.ch>
2548
2549 * Makefile.am: Add PA_HPUX port.
2550 * Makefile.in: Regenerate.
2551 * include/Makefile.in: Likewise.
2552 * testsuite/Makefile.in: Likewise.
2553 * configure.ac: Add PA_HPUX rules.
2554 * configure: Regenerate.
2555 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
2556 Add PA_HPUX and PA64_HPUX.
2557 Rename FFI_LINUX ABI to FFI_PA32 ABI.
2558 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
2559 (FFI_TYPE_SMALL_STRUCT2): Define.
2560 (FFI_TYPE_SMALL_STRUCT4): Likewise.
2561 (FFI_TYPE_SMALL_STRUCT8): Likewise.
2562 (FFI_TYPE_SMALL_STRUCT3): Redefine.
2563 (FFI_TYPE_SMALL_STRUCT5): Likewise.
2564 (FFI_TYPE_SMALL_STRUCT6): Likewise.
2565 (FFI_TYPE_SMALL_STRUCT7): Likewise.
2566 * src/pa/ffi.c (ROUND_DOWN): Delete.
2567 (fldw, fstw, fldd, fstd): Use '__asm__'.
2568 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
2569 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
2570 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
2571 Simplify incrementing of stack slot variable. Change type of local
2572 'n' to unsigned int.
2573 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
2574 double on PA_HPUX.
2575 (ffi_prep_cif_machdep): Likewise.
2576 (ffi_call): Likewise.
2577 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
2578 return type to ffi_status. Simplify incrementing of stack slot
2579 variable. Only copy floating point argument registers when PA_LINUX
2580 is true. Reformat debug statement.
2581 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
2582 FFI_TYPE_SMALL_STRUCT8.
2583 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
2584 declaration.
2585 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
2586 Add nops to cache flush. Add trampoline for PA_HPUX.
2587 * src/pa/hpux32.S: New file.
2588 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
2589 ffi_prep_args_LINUX to ffi_prep_args_pa32.
2590 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
2591 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
2592 argument type checks so that common argument types appear first.
2593 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
2594 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
2595
25962006-03-24 Alan Modra <amodra@bigpond.net.au>
2597
2598 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
2599 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
2600 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
2601 FFI_TYPE_LONGDOUBLE.
2602 (ffi_prep_args64): Assert using IBM extended double.
2603 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
2604 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
2605 (ffi_call): Handle FFI_LINUX.
2606 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
2607 gpr3 return pointer as for struct return. Handle FFI_LINUX
2608 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
2609 unnecessarily.
2610 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
2611 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
2612 Don't use r6 as pointer to results, instead use sp offset. Don't
2613 make a special call to load lr with case table address, instead
2614 use offset from previous call.
2615 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
2616 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
2617 return.
2618
26192006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
2620
2621 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
2622 passed with FP registers correctly.
2623 (ffi_closure_helper_SYSV): Likewise.
2624 * src/sh64/sysv.S: Likewise.
2625
26262006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
2627
2628 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
2629 args and userdata unused.
2630 (closure_test_fn1): Mark cif and userdata unused.
2631 (main): Remove unused res.
2632
26332006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
2634
2635 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
2636 -O2, -O3, -Os and the warning flags -W -Wall.
2637 * testsuite/libffi.special/special.exp: Likewise.
2638 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
2639 unused parameter unused for gcc or else do nothing.
2640 * testsuite/libffi.special/ffitestcxx.h: Likewise.
2641 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
2642 and userdata unused.
2643 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
2644 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
2645 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
2646 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
2647 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
2648 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
2649 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
2650 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
2651 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
2652 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
2653 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
2654 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
2655 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
2656 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
2657 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
2658 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
2659 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
2660 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
2661 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
2662 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
2663 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
2664 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
2665 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
2666 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
2667 Likewise.
2668 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
2669 Likewise.
2670 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
2671 Likewise.
2672 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
2673 void* to avoid compiler warning.
2674 (main): Likewise.
2675 (cls_struct_align_gn): Mark cif and userdata unused.
2676 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
2677 Likewise.
2678 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
2679 Likewise.
2680 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
2681 Likewise.
2682 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
2683 Likewise.
2684 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
2685 Likewise.
2686 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
2687 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
2688 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
2689 data unused.
2690 (main): Cast res_call to silence gcc.
2691 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
2692 data unused.
2693 (main): Cast res_call to silence gcc.
2694 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
2695 and data unused.
2696 (main): Cast res_call to silence gcc.
2697 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
2698 data unused.
2699 (main): Cast res_call to silence gcc.
2700 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
2701 data unused.
2702 (main): Cast res_call to silence gcc.
2703 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
2704 and data unused.
2705 (main): Cast res_call to silence gcc.
2706 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
2707 userdata unused.
2708 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
2709 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
2710 userdata unused.
2711 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
2712 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
2713 userdata unused.
2714 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
2715 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
2716 userdata unused.
2717 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
2718 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
2719 userdata unused.
2720 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
2721 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
2722 and userdata unused.
2723 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
2724 userdata unused.
2725 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
2726 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
2727 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
2728 Cleanup white spaces.
2729 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
2730 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
2731 cif and userdata unused.
2732 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
2733 Likewise.
2734 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
2735 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
2736 formatters to silence gcc.
2737 (B_gn): Mark cif and userdata unused.
2738 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
2739 unused.
2740 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
2741 (B_gn): Mark cif and userdata unused.
2742 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
2743 unused.
2744 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
2745 (B_gn): Mark cif and userdata unused.
2746 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
2747 unused.
2748 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
2749 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
2750 * testsuite/libffi.call/problem1.c (stub): Likewise.
2751 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
2752 gcc.
2753 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
2754 in the last commit for this test case in the test case itself.
2755 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
2756 unused.
2757 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
2758 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
2759 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
2760 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
2761 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
2762 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
2763
27642006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
2765
2766 * src/sh/sysv.S: Fix register numbers in the FDE for
2767 ffi_closure_SYSV.
2768
27692006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
2770
2771 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
2772 declaration to avoid a false negative on ix86. See PR323.
2773
27742006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
2775
2776 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
2777 and cast integer to void * if needed. Update the pointer to
2778 the FP register saved area correctly.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002779
Anthony Greenc6dddbd2009-10-04 08:11:33 -040027802006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
2781
2782 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
2783 is fixed.
2784 * testsuite/libffi.call/nested_struct4.c: Likewise.
2785
27862006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
2787
2788 * testsuite/libffi.call/return_dbl.c: New test case.
2789 * testsuite/libffi.call/return_dbl1.c: Likewise.
2790 * testsuite/libffi.call/return_dbl2.c: Likewise.
2791 * testsuite/libffi.call/return_fl.c: Likewise.
2792 * testsuite/libffi.call/return_fl1.c: Likewise.
2793 * testsuite/libffi.call/return_fl2.c: Likewise.
2794 * testsuite/libffi.call/return_fl3.c: Likewise.
2795 * testsuite/libffi.call/closure_fn6.c: Likewise.
2796
2797 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
2798 definition.
2799 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
2800 here to be used by other test cases too.
2801
2802 * testsuite/libffi.call/nested_struct10.c: New test case.
2803 * testsuite/libffi.call/nested_struct9.c: Likewise.
2804 * testsuite/libffi.call/nested_struct8.c: Likewise.
2805 * testsuite/libffi.call/nested_struct7.c: Likewise.
2806 * testsuite/libffi.call/nested_struct6.c: Likewise.
2807 * testsuite/libffi.call/nested_struct5.c: Likewise.
2808 * testsuite/libffi.call/nested_struct4.c: Likewise.
2809
28102006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
2811
2812 * configure.ac: Enable libffi for sparc64-*-freebsd*.
2813 * configure: Rebuilt.
2814
28152006-01-18 Jakub Jelinek <jakub@redhat.com>
2816
2817 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
2818 instead do the shifting inline.
2819 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
2820 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
2821 and 8 byte structs, for the remaining struct sizes don't call
2822 __lshrdi3, instead do the shifting inline.
2823
28242005-12-07 Thiemo Seufer <ths@networkno.de>
2825
2826 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
2827 missing parentheses.
2828 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
2829 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
2830 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
2831 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
2832 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
2833 FA_0_0_OFF2.
2834 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
2835 endianness bugs.
2836 (ffi_prep_closure): Improve trampoline instruction scheduling.
2837 (ffi_closure_mips_inner_O32): Fix endianness bugs.
2838
28392005-12-03 Alan Modra <amodra@bigpond.net.au>
2840
2841 * src/powerpc/ffi.c: Formatting.
2842 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
2843 (ffi_prep_args64): Likewise.
2844
28452005-09-30 Geoffrey Keating <geoffk@apple.com>
2846
2847 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
2848 darwin, use -shared-libgcc not -lgcc_s, and explain why.
2849
28502005-09-26 Tom Tromey <tromey@redhat.com>
2851
2852 * testsuite/libffi.call/float1.c (value_type): New typedef.
2853 (CANARY): New define.
2854 (main): Check for result buffer overflow.
2855 * src/powerpc/linux64.S: Handle linux64 long double returns.
2856 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
2857 (ffi_prep_cif_machdep): Handle linux64 long double returns.
2858
28592005-08-25 Alan Modra <amodra@bigpond.net.au>
2860
2861 PR target/23404
2862 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
2863 homed fp args.
2864 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
2865
28662005-08-11 Jakub Jelinek <jakub@redhat.com>
2867
2868 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
2869 (AH_BOTTOM): Add FFI_HIDDEN definition.
2870 * configure: Rebuilt.
2871 * fficonfig.h.in: Rebuilt.
2872 * src/powerpc/ffi.c (hidden): Remove.
2873 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
2874 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
2875 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
2876 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
2877 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
2878 add FFI_HIDDEN to its prototype.
2879 (ffi_closure_SYSV_inner): New.
2880 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2881 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2882
28832005-08-10 Alfred M. Szmidt <ams@gnu.org>
2884
2885 PR libffi/21819:
2886 * configure: Rebuilt.
2887 * configure.ac: Handle i*86-*-gnu*.
2888
28892005-08-09 Jakub Jelinek <jakub@redhat.com>
2890
2891 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
2892 DW_CFA_offset_extended_sf rather than
2893 DW_CFA_GNU_negative_offset_extended.
2894 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
2895
28962005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
2897
2898 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
2899 on sh3.
2900 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
2901 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
2902 partially on register.
2903 (ffi_closure_helper_SYSV): Likewise.
2904 (ffi_prep_cif_machdep): Don't set too many cif->flags.
2905
29062005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
2907
2908 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
2909 Remove empty line.
2910 * src/sh64/ffi.c (simple_type): Remove.
2911 (return_type): Handle small structures correctly.
2912 (ffi_prep_args): Likewise.
2913 (ffi_call): Likewise.
2914 (ffi_closure_helper_SYSV): Likewise.
2915 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
2916 Emit position independent code if PIC and remove wrong datalabel
2917 prefixes from EH data.
2918
29192005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
2920
2921 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
2922 * Makefile.in: Regenerate.
2923 * include/Makefile.in: Likewise.
2924 * testsuite/Makefile.in: Likewise.
2925 * configure.ac: Add POWERPC_FREEBSD rules.
2926 * configure: Regenerate.
2927 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
2928 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
2929 * src/powerpc/ffi.c: Add flags to handle small structure returns
2930 in ffi_call_SYSV.
2931 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
2932 Aka FFI_SYSV.
2933 (ffi_closure_helper_SYSV): Likewise.
2934 * src/powerpc/ppc_closure.S: Add return types for small structures.
2935 * src/powerpc/sysv.S: Add bits to handle small structures for
2936 final SYSV 4 ABI.
2937
29382005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
2939
2940 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
2941 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
2942 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
2943
29442005-07-05 Randolph Chung <tausq@debian.org>
2945
2946 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
2947 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
2948 structures. Kill compilation warnings.
2949 (ffi_closure_inner_LINUX): Print return values as hex in debug
2950 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
2951 Properly handle 5-7 byte structure returns.
2952 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
2953 (FFI_TYPE_SMALL_STRUCT2): Remove.
2954 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
2955 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
2956 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
2957 (checksmst1, checksmst2): Remove.
2958 (checksmst3): Optimize handling of 3-byte struct returns.
2959 (checksmst567): Properly handle 5-7 byte struct returns.
2960
29612005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2962
2963 PR libgcj/21943
2964 * src/mips/n32.S: Enforce PIC code.
2965 * src/mips/o32.S: Likewise.
2966
29672005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2968
2969 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
2970 * configure: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002971
Anthony Greenc6dddbd2009-10-04 08:11:33 -040029722005-06-01 Alan Modra <amodra@bigpond.net.au>
2973
2974 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
2975 to call ffi_closure_helper_SYSV. Append @local instead.
2976 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
2977
29782005-05-17 Kelley Cook <kcook@gcc.gnu.org>
2979
2980 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
2981 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
2982 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
2983 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
2984 include/Makefile.in, testsuite/Makefile.in: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002985
Anthony Greenc6dddbd2009-10-04 08:11:33 -040029862005-05-09 Mike Stump <mrs@apple.com>
2987
2988 * configure: Regenerate.
2989
29902005-05-08 Richard Henderson <rth@redhat.com>
2991
2992 PR libffi/21285
2993 * src/alpha/osf.S: Update unwind into to match code.
2994
29952005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
2996 Richard Henderson <rth@redhat.com>
2997
2998 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
2999 bit 11 of flags.
3000 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
3001 (ffi_prep_closure): Set carry bit if sse-used flag set.
3002 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3003 Only load sse registers if ssecount non-zero.
3004 (ffi_closure_unix64): Only save sse registers if carry set on entry.
3005
30062005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
3007
3008 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3009 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3010 * configure: Regenerate.
3011
30122005-04-20 Hans-Peter Nilsson <hp@axis.com>
3013
3014 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3015 have Tcl8.3-compatible intermediate variable.
3016
Anthony Green0cfe60e2009-12-29 10:06:04 -050030172005-04-18 Simon Posnjak <simon.posnjak@siol.net>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003018 Hans-Peter Nilsson <hp@axis.com>
3019
3020 * Makefile.am: Add CRIS support.
3021 * configure.ac: Likewise.
3022 * Makefile.in, configure, testsuite/Makefile.in,
3023 include/Makefile.in: Regenerate.
3024 * src/cris: New directory.
3025 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3026 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
3027
3028 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3029 \r?\n in output tests.
3030
30312005-04-12 Mike Stump <mrs@apple.com>
3032
3033 * configure: Regenerate.
3034
30352005-03-30 Hans Boehm <Hans.Boehm@hp.com>
3036
3037 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003038
Anthony Greenc6dddbd2009-10-04 08:11:33 -040030392005-03-30 Steve Ellcey <sje@cup.hp.com>
3040
3041 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3042 (ffi_sarg) Ditto.
3043 * src/ia64/unix.S (ffi_closure_unix): Extend gp
3044 to 64 bits in ILP32 mode.
3045 Load 64 bits even for short data.
3046
30472005-03-23 Mike Stump <mrs@apple.com>
3048
3049 * src/powerpc/darwin.S: Update for -m64 multilib.
3050 * src/powerpc/darwin_closure.S: Likewise.
3051
30522005-03-21 Zack Weinberg <zack@codesourcery.com>
3053
3054 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
3055 Do not set tool_include_dir.
3056 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3057 Regenerate.
3058 * include/Makefile.am: Set gcc_version and toollibffidir.
3059 * include/Makefile.in: Regenerate.
3060
30612005-02-22 Andrew Haley <aph@redhat.com>
3062
3063 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3064 odd-numbered register pairs for 64-bit integer types.
3065
30662005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
3067
3068 PR libffi/20104
3069 * testsuite/libffi.call/return_ll1.c: New test case.
3070
30712005-02-11 Janis Johnson <janis187@us.ibm.com>
3072
3073 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
3074 * testsuite/libffi.call/float.c: Ditto.
3075 * testsuite/libffi.call/float2.c: Ditto.
3076 * testsuite/libffi.call/float3.c: Ditto.
3077
30782005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
3079
3080 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
3081
30822005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3083
3084 * testsuite/libffi.special/special.exp (cxx_options): Add
3085 -shared-libgcc.
3086
30872004-12-31 Richard Henderson <rth@redhat.com>
3088
3089 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
3090 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
3091 offset parameters with a type parameter; deduce size and structure
3092 alignment. Update all users.
3093
30942004-12-31 Richard Henderson <rth@redhat.com>
3095
3096 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
3097 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
3098 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
3099 into ffi_prep_closure.
3100 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
3101 from scratch.
3102
31032004-12-27 Richard Henderson <rth@redhat.com>
3104
3105 * src/x86/unix64.S: Fix typo in unwind info.
3106
31072004-12-25 Richard Henderson <rth@redhat.com>
3108
3109 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
3110 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
3111 (merge_classes): Check for it.
3112 (SSE_CLASS_P): New.
3113 (classify_argument): Pass byte_offset by value; perform all updates
3114 inside struct case.
3115 (examine_argument): Add classes argument; handle
3116 X86_64_COMPLEX_X87_CLASS.
3117 (ffi_prep_args): Merge into ...
3118 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
3119 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
3120 (ffi_fill_return_value): Remove.
3121 (ffi_prep_closure): Remove dead assert.
3122 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
3123 Rewrite to use struct register_args instead of va_list. Create
3124 flags for handling structure returns.
3125 * src/x86/unix64.S: Remove dead strings.
3126 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
3127 stack frame with ffi_call. Handle structure returns properly.
3128 (float2sse, floatfloat2sse, double2sse): Remove.
3129 (sse2float, sse2double, sse2floatfloat): Remove.
3130 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
3131 to handle structure returns properly.
3132
31332004-12-08 David Edelsohn <edelsohn@gnu.org>
3134
3135 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
3136 PICFLAG.
3137 * Makefile.in: Regenerated.
3138
31392004-12-02 Richard Sandiford <rsandifo@redhat.com>
3140
3141 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
3142 * configure, aclocal.m4, Makefile.in: Regenerate.
3143 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
3144
31452004-11-29 Kelley Cook <kcook@gcc.gnu.org>
3146
3147 * configure: Regenerate for libtool change.
3148
31492004-11-25 Kelley Cook <kcook@gcc.gnu.org>
3150
3151 * configure: Regenerate for libtool reversion.
3152
31532004-11-24 Kelley Cook <kcook@gcc.gnu.org>
3154
3155 * configure: Regenerate for libtool change.
3156
31572004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3158
3159 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
3160
31612004-11-23 Richard Sandiford <rsandifo@redhat.com>
3162
3163 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
3164 of jal. Use an absolute encoding for the frame information.
3165
31662004-11-23 Kelley Cook <kcook@gcc.gnu.org>
3167
3168 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
3169 * acinclude.m4: Delete logic for sincludes.
3170 * aclocal.m4, Makefile.in, configure: Regenerate.
3171 * include/Makefile: Likewise.
3172 * testsuite/Makefile: Likewise.
3173
31742004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3175
3176 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
3177 on a 8-byte boundary.
3178 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
3179
31802004-10-27 Richard Earnshaw <rearnsha@arm.com>
3181
3182 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
3183 long long values. Round stack allocation to a multiple of 8 bytes
3184 for ATPCS compatibility.
3185 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
3186 names. Handle returning long long types. Add Thumb and interworking
3187 support. Improve soft-float code.
3188
31892004-10-27 Richard Earnshaw <rearnsha@arm.com>
3190
3191 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
3192 (libffi_exit): New function.
3193 (libffi_init): Build the testglue wrapper if needed.
3194
31952004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3196
3197 PR other/18138
3198 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
3199
32002004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3201
3202 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
3203
32042004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3205
3206 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
3207 * testsuite/libffi.call/float3.c: New test case.
3208
32092004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
3210
3211 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
3212 the function returning a structure pointed with R2.
3213 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
3214 the structure return value if T bit set. Emit position
3215 independent code and EH data if PIC.
3216
32172004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3218
3219 * Makefile.am: Add m32r support.
3220 * configure.ac: Likewise.
3221 * Makefile.in: Regenerate.
3222 * confiugre: Regenerate.
3223 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
3224 (uint64, sint64, double, longdouble)
3225 * src/m32r: New directory.
3226 * src/m32r/ffi.c: New file.
3227 * src/m32r/sysv.S: Likewise.
3228 * src/m32r/ffitarget.h: Likewise.
3229
32302004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
3231
3232 * testsuite/libffi.call/negint.c: New test case.
3233
32342004-09-14 H.J. Lu <hongjiu.lu@intel.com>
3235
3236 PR libgcj/17465
3237 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
3238 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
3239 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
3240 DYLD_LIBRARY_PATH.
3241
32422004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3243
3244 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
3245 * testsuite/libffi.call/promotion.c: Likewise.
3246 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
3247 whitespaces.
3248 * testsuite/libffi.call/return_sc.c: Likewise.
3249 * testsuite/libffi.call/return_uc.c: Likewise.
3250
32512004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3252
3253 * src/powerpc/darwin.S: Fix comments and identation.
3254 * src/powerpc/darwin_closure.S: Likewise.
3255
32562004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3257
3258 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
3259 (ffi_prep_args): Handle longdouble arguments.
3260 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
3261 longdouble.
3262 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
3263 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
3264 values.
3265 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
3266 * src/types.c: Defined longdouble size and alignment for darwin.
3267
32682004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3269
3270 * src/powerpc/aix.S: Remove whitespaces.
3271 * src/powerpc/aix_closure.S: Likewise.
3272 * src/powerpc/asm.h: Likewise.
3273 * src/powerpc/ffi.c: Likewise.
3274 * src/powerpc/ffitarget.h: Likewise.
3275 * src/powerpc/linux64.S: Likewise.
3276 * src/powerpc/linux64_closure.S: Likewise.
3277 * src/powerpc/ppc_closure.S: Likewise.
3278 * src/powerpc/sysv.S: Likewise.
3279
32802004-08-30 Anthony Green <green@redhat.com>
3281
3282 * Makefile.am: Add frv support.
3283 * Makefile.in, testsuite/Makefile.in: Rebuilt.
3284 * configure.ac: Read configure.host.
3285 * configure.in: Read configure.host.
3286 * configure.host: New file. frv-elf needs libgloss.
3287 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
3288 alignment. This is needed to frv and shouldn't harm the others.
3289 * include/ffi_common.h (ALIGN_DOWN): New macro.
3290 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
3291
32922004-08-24 David Daney <daney@avtrex.com>
3293
3294 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
3295 * testsuite/libffi.call/closure_fn1.c: Likewise.
3296 * testsuite/libffi.call/closure_fn2.c Likewise.
3297 * testsuite/libffi.call/closure_fn3.c: Likewise.
3298 * testsuite/libffi.call/closure_fn4.c: Likewise.
3299 * testsuite/libffi.call/closure_fn5.c: Likewise.
3300 * testsuite/libffi.call/cls_18byte.c: Likewise.
3301 * testsuite/libffi.call/cls_19byte.c: Likewise.
3302 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3303 * testsuite/libffi.call/cls_20byte.c: Likewise.
3304 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3305 * testsuite/libffi.call/cls_24byte.c: Likewise.
3306 * testsuite/libffi.call/cls_2byte.c: Likewise.
3307 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3308 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3309 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3310 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3311 * testsuite/libffi.call/cls_4byte.c: Likewise.
3312 * testsuite/libffi.call/cls_64byte.c: Likewise.
3313 * testsuite/libffi.call/cls_6byte.c: Likewise.
3314 * testsuite/libffi.call/cls_7byte.c: Likewise.
3315 * testsuite/libffi.call/cls_8byte.c: Likewise.
3316 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3317 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3318 * testsuite/libffi.call/cls_align_double.c: Likewise.
3319 * testsuite/libffi.call/cls_align_float.c: Likewise.
3320 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3321 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
3322 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
3323 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
3324 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
3325 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
3326 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
3327 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
3328 * testsuite/libffi.call/cls_double.c: Likewise.
3329 * testsuite/libffi.call/cls_float.c: Likewise.
3330 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
3331 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
3332 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3333 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3334 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3335 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3336 * testsuite/libffi.call/cls_schar.c: Likewise.
3337 * testsuite/libffi.call/cls_sint.c: Likewise.
3338 * testsuite/libffi.call/cls_sshort.c: Likewise.
3339 * testsuite/libffi.call/cls_uchar.c: Likewise.
3340 * testsuite/libffi.call/cls_uint.c: Likewise.
3341 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3342 * testsuite/libffi.call/cls_ushort.c: Likewise.
3343 * testsuite/libffi.call/nested_struct.c: Likewise.
3344 * testsuite/libffi.call/nested_struct1.c: Likewise.
3345 * testsuite/libffi.call/nested_struct2.c: Likewise.
3346 * testsuite/libffi.call/nested_struct3.c: Likewise.
3347 * testsuite/libffi.call/problem1.c: Likewise.
3348 * testsuite/libffi.special/unwindtest.cc: Likewise.
3349 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
3350 to zero.
3351 * testsuite/libffi.call/cls_16byte.c: Likewise.
3352 * testsuite/libffi.call/cls_5byte.c: Likewise.
3353
33542004-08-23 David Daney <daney@avtrex.com>
3355
3356 PR libgcj/13141
3357 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
3358 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
3359 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
3360 parameters and return types.
3361 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
3362 (ffi_prep_closure): Ditto.
3363 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
3364 alignment calculations.
3365 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
3366 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
3367
33682004-08-14 Casey Marshall <csm@gnu.org>
3369
3370 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
3371 contain `FFI_TYPE_UINT64' as return type for any 64-bit
3372 integer (O32 ABI only).
3373 (ffi_prep_closure): new function.
3374 (ffi_closure_mips_inner_O32): new function.
3375 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
3376 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
3377 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
3378 64 bit integers correctly.
3379 (ffi_closure_O32): new function.
3380 Added DWARF-2 unwind info for both functions.
3381
33822004-08-10 Andrew Haley <aph@redhat.com>
3383
3384 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
3385
33862004-08-01 Robert Millan <robertmh@gnu.org>
3387
3388 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
3389 * configure: Regenerate.
3390
33912004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
3392
3393 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
3394 and mmap() explicitly instead of relying on preset autoconf cache
3395 variables.
3396 * aclocal.m4: Regenerate.
3397 * configure: Regenerate.
3398
33992004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
3400
3401 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
3402 (ffi_check_float_struct): Remove unused prototype.
3403
34042004-06-30 Geoffrey Keating <geoffk@apple.com>
3405
3406 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
3407 character on Darwin, use '\n\t' instead.
3408
34092004-06-26 Matthias Klose <doko@debian.org>
3410
3411 * libtool-version: Fix typo in revision/age.
3412
34132004-06-17 Matthias Klose <doko@debian.org>
3414
3415 * libtool-version: New.
3416 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
3417 * Makefile.in: Regenerate.
3418
34192004-06-15 Paolo Bonzini <bonzini@gnu.org>
3420
3421 * Makefile.am: Remove useless multilib rules.
3422 * Makefile.in: Regenerate.
3423 * aclocal.m4: Regenerate with automake 1.8.5.
3424 * configure.ac: Remove useless multilib configury.
3425 * configure: Regenerate.
3426
34272004-06-15 Paolo Bonzini <bonzini@gnu.org>
3428
3429 * .cvsignore: New file.
3430
34312004-06-10 Jakub Jelinek <jakub@redhat.com>
3432
3433 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
3434 fp_done.
3435 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
3436 changed from 8.
3437
34382004-06-06 Sean McNeil <sean@mcneil.com>
3439
3440 * configure.ac: Add x86_64-*-freebsd* support.
3441 * configure: Regenerate.
3442
34432004-04-26 Joe Buck <jbuck@welsh-buck.org>
3444
3445 Bug 15093
3446 * configure.ac: Test for existence of mmap and sys/mman.h before
3447 checking blacklist. Fix suggested by Jim Wilson.
3448 * configure: Regenerate.
3449
34502004-04-26 Matt Austern <austern@apple.com>
3451
3452 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
3453 FDE location.
3454 * src/powerpc/darwin_closure.S: Likewise.
3455
34562004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
3457
3458 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
3459 error. Reported by Thomas Heller <theller@python.net>.
3460 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
3461 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
3462
34632004-03-20 Matthias Klose <doko@debian.org>
3464
3465 * src/pa/linux.S: Fix typo.
3466
34672004-03-19 Matthias Klose <doko@debian.org>
3468
3469 * Makefile.am: Update.
3470 * Makefile.in: Regenerate.
3471 * src/pa/ffi.h.in: Remove.
3472 * src/pa/ffitarget.h: New file.
3473
34742004-02-10 Randolph Chung <tausq@debian.org>
3475
3476 * Makefile.am: Add PA support.
3477 * Makefile.in: Regenerate.
3478 * include/Makefile.in: Regenerate.
3479 * configure.ac: Add PA target.
3480 * configure: Regenerate.
3481 * src/pa/ffi.c: New file.
3482 * src/pa/ffi.h.in: Add PA support.
3483 * src/pa/linux.S: New file.
3484 * prep_cif.c: Add PA support.
3485
34862004-03-16 Hosaka Yuji <hos@tamanegi.org>
3487
3488 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
3489 double.
3490 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
3491 with ecif->cif->flags.
3492 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
3493 with cif->flags.
3494 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
3495 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
3496 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
3497 sc_retstruct2b): Add for 1 or 2-bytes struct case.
3498
34992004-03-15 Kelley Cook <kcook@gcc.gnu.org>
3500
3501 * configure.in: Rename file to ...
3502 * configure.ac: ... this.
3503 * fficonfig.h.in: Regenerate.
3504 * Makefile.in: Regenerate.
3505 * include/Makefile.in: Regenerate.
3506 * testsuite/Makefile.in: Regenerate.
3507
35082004-03-12 Matt Austern <austern@apple.com>
3509
3510 * src/powerpc/darwin.S: Fix EH information so it corresponds to
3511 changes in EH format resulting from addition of linkonce support.
3512 * src/powerpc/darwin_closure.S: Likewise.
3513
35142004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
3515 Paolo Bonzini <bonzini@gnu.org>
3516
3517 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
3518 Remove VPATH. Remove rules for object files. Remove multilib support.
3519 (AM_CCASFLAGS): Add.
3520 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
3521 (AC_PREREQ): Bump version to 2.59.
3522 (AC_INIT): Fill with version info and bug address.
3523 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
3524 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
3525 De-precious CC so that the right flags are passed down to multilibs.
3526 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
3527 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
3528 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
3529 * configure: Rebuilt.
3530 * aclocal.m4: Likewise.
3531 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
3532 * fficonfig.h.in: Likewise.
3533
35342004-03-11 Andreas Schwab <schwab@suse.de>
3535
3536 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
3537 arguments from fp registers only for the first 8 parameter slots.
3538 Don't convert a float parameter when passed in memory.
3539
35402004-03-09 Hans-Peter Nilsson <hp@axis.com>
3541
3542 * configure: Regenerate for config/accross.m4 correction.
3543
35442004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
3545
3546 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
3547 ecif->cif->bytes to bytes.
3548 (ffi_prep_cif_machdep): Add braces around nested if statement.
3549
35502004-02-09 Alan Modra <amodra@bigpond.net.au>
3551
3552 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
3553
3554 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
3555 (ffi_closure_helper_LINUX64): Fix typo.
3556 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
3557 for powerpc64-*-*.
3558 * testsuite/libffi.call/float.c: Likewise.
3559 * testsuite/libffi.call/float2.c: Likewise.
3560
35612004-02-08 Alan Modra <amodra@bigpond.net.au>
3562
3563 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
3564 long double function return and long double arg handling.
3565 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
3566 Use "end_pfr" instead of "nf". Correct long double handling.
3567 Localise "temp".
3568 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
3569 return value.
3570 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
3571 space for long double return value. Adjust stack frame and offsets.
3572 Load f2 long double return.
3573
35742004-02-07 Alan Modra <amodra@bigpond.net.au>
3575
3576 * src/types.c: Use 16 byte long double for POWERPC64.
3577
35782004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3579
3580 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
3581 when the structure return address is passed in %o0.
3582 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
3583 (ffi_v9_layout_struct): Align the field following a nested structure
3584 on a word boundary. Use memmove instead of memcpy.
3585 (ffi_call): Update call to ffi_V9_return_struct.
3586 (ffi_prep_closure): Define 'ctx' only for V8.
3587 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
3588 and ffi_closure_sparc_inner_v9.
3589 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
3590 Always skip the structure return address. For structures and long
3591 doubles, copy the argument directly.
3592 (ffi_closure_sparc_inner_v9): Skip the structure return address only
3593 if required. Shift the maximum floating-point slot accordingly. For
3594 big structures, copy the argument directly; otherwise, left-justify the
3595 argument and call ffi_v9_layout_struct to lay out the structure on
3596 the stack.
3597 * src/sparc/v8.S: Undef STACKFRAME before defining it.
3598 (ffi_closure_v8): Pass the structure return address. Update call to
3599 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
3600 Skip the 'unimp' insn when returning long doubles and structures.
3601 * src/sparc/v9.S: Undef STACKFRAME before defining it.
3602 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
3603 FFI_TYPE_INT handling. Load structures both in integers and
3604 floating-point registers on return.
3605 * README: Update status of the SPARC port.
3606
36072004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
3608
3609 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
3610 as of type ffi_arg.
3611 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
3612
36132004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
3614
3615 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
3616 value as of type ffi_arg, not unsigned int.
3617
36182004-01-21 Michael Ritzert <ritzert@t-online.de>
3619
3620 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
3621 of the LHS.
3622
36232004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
3624
3625 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
3626 Solaris.
3627
36282004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3629
3630 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
3631 to void *.
3632
36332003-12-10 Richard Henderson <rth@redhat.com>
3634
3635 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
3636 size_t instead of int.
3637
36382003-12-04 Hosaka Yuji <hos@tamanegi.org>
3639
3640 * testsuite/libffi.call/many_win32.c: Include <float.h>.
3641 * testsuite/libffi.call/many_win32.c (main): Replace variable
3642 int i with unsigned long ul.
3643
3644 * testsuite/libffi.call/cls_align_uint64.c: New test case.
3645 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
3646 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
3647 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
3648 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
3649 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
3650 * testsuite/libffi.call/cls_align_float.c: Likewise.
3651 * testsuite/libffi.call/cls_align_double.c: Likewise.
3652 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3653 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
3654
36552003-12-02 Hosaka Yuji <hos@tamanegi.org>
3656
3657 PR other/13221
3658 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
3659 Align arguments to 32 bits.
3660
36612003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
3662
3663 PR other/13221
3664 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
3665 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3666 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3667 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
3668 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3669 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3670
3671 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
3672
36732003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3674
3675 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
3676 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3677
36782003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
3679
3680 * Makefile.in: Rebuilt.
3681 * configure: Likewise.
3682 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
3683 the right type.
3684
36852003-11-21 Andreas Jaeger <aj@suse.de>
3686 Andreas Tobler <a.tobler@schweiz.ch>
3687
3688 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
3689 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
3690 * Makefile.in: Rebuilt.
3691 * aclocal.m4: Likewise.
3692 * configure: Likewise.
3693 * fficonfig.h.in: Likewise.
3694 * testsuite/lib/libffi-dg.exp: Add include dir.
3695 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
3696 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3697 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
3698 for ffi_closure if available.
3699 * testsuite/libffi.call/closure_fn1.c: Likewise.
3700 * testsuite/libffi.call/closure_fn2.c: Likewise.
3701 * testsuite/libffi.call/closure_fn3.c: Likewise.
3702 * testsuite/libffi.call/closure_fn4.c: Likewise.
3703 * testsuite/libffi.call/closure_fn5.c: Likewise.
3704 * testsuite/libffi.call/cls_12byte.c: Likewise.
3705 * testsuite/libffi.call/cls_16byte.c: Likewise.
3706 * testsuite/libffi.call/cls_18byte.c: Likewise.
3707 * testsuite/libffi.call/cls_19byte.c: Likewise.
3708 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3709 * testsuite/libffi.call/cls_20byte.c: Likewise.
3710 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3711 * testsuite/libffi.call/cls_24byte.c: Likewise.
3712 * testsuite/libffi.call/cls_2byte.c: Likewise.
3713 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3714 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3715 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3716 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3717 * testsuite/libffi.call/cls_4byte.c: Likewise.
3718 * testsuite/libffi.call/cls_5byte.c: Likewise.
3719 * testsuite/libffi.call/cls_64byte.c: Likewise.
3720 * testsuite/libffi.call/cls_6byte.c: Likewise.
3721 * testsuite/libffi.call/cls_7byte.c: Likewise.
3722 * testsuite/libffi.call/cls_8byte.c: Likewise.
3723 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3724 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3725 * testsuite/libffi.call/cls_double.c: Likewise.
3726 * testsuite/libffi.call/cls_float.c: Likewise.
3727 * testsuite/libffi.call/cls_schar.c: Likewise.
3728 * testsuite/libffi.call/cls_sint.c: Likewise.
3729 * testsuite/libffi.call/cls_sshort.c: Likewise.
3730 * testsuite/libffi.call/cls_uchar.c: Likewise.
3731 * testsuite/libffi.call/cls_uint.c: Likewise.
3732 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3733 * testsuite/libffi.call/cls_ushort.c: Likewise.
3734 * testsuite/libffi.call/nested_struct.c: Likewise.
3735 * testsuite/libffi.call/nested_struct1.c: Likewise.
3736 * testsuite/libffi.call/nested_struct2.c: Likewise.
3737 * testsuite/libffi.call/nested_struct3.c: Likewise.
3738 * testsuite/libffi.call/problem1.c: Likewise.
3739 * testsuite/libffi.special/unwindtest.cc: Likewise.
3740
37412003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
3742
3743 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
3744
37452003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
3746
3747 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
3748 Add -lgcc_s to additional flags.
3749
37502003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
3751
3752 * configure.in, include/Makefile.am: PR libgcj/11147, install
3753 the ffitarget.h header file in a gcc versioned and target
3754 dependent place.
3755 * configure: Regenerated.
3756 * Makefile.in, include/Makefile.in: Likewise.
3757 * testsuite/Makefile.in: Likewise.
3758
37592003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
3760
3761 * testsuite/libffi.call/closure_fn0.c: Print result and check
3762 with dg-output to make debugging easier.
3763 * testsuite/libffi.call/closure_fn1.c: Likewise.
3764 * testsuite/libffi.call/closure_fn2.c: Likewise.
3765 * testsuite/libffi.call/closure_fn3.c: Likewise.
3766 * testsuite/libffi.call/closure_fn4.c: Likewise.
3767 * testsuite/libffi.call/closure_fn5.c: Likewise.
3768 * testsuite/libffi.call/cls_12byte.c: Likewise.
3769 * testsuite/libffi.call/cls_16byte.c: Likewise.
3770 * testsuite/libffi.call/cls_18byte.c: Likewise.
3771 * testsuite/libffi.call/cls_19byte.c: Likewise.
3772 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3773 * testsuite/libffi.call/cls_20byte.c: Likewise.
3774 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3775 * testsuite/libffi.call/cls_24byte.c: Likewise.
3776 * testsuite/libffi.call/cls_2byte.c: Likewise.
3777 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3778 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3779 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3780 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3781 * testsuite/libffi.call/cls_4byte.c: Likewise.
3782 * testsuite/libffi.call/cls_5byte.c: Likewise.
3783 * testsuite/libffi.call/cls_64byte.c: Likewise.
3784 * testsuite/libffi.call/cls_6byte.c: Likewise.
3785 * testsuite/libffi.call/cls_7byte.c: Likewise.
3786 * testsuite/libffi.call/cls_8byte.c: Likewise.
3787 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3788 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3789 * testsuite/libffi.call/cls_double.c: Likewise.
3790 * testsuite/libffi.call/cls_float.c: Likewise.
3791 * testsuite/libffi.call/cls_schar.c: Likewise.
3792 * testsuite/libffi.call/cls_sint.c: Likewise.
3793 * testsuite/libffi.call/cls_sshort.c: Likewise.
3794 * testsuite/libffi.call/cls_uchar.c: Likewise.
3795 * testsuite/libffi.call/cls_uint.c: Likewise.
3796 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3797 * testsuite/libffi.call/cls_ushort.c: Likewise.
3798 * testsuite/libffi.call/problem1.c: Likewise.
3799
3800 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
3801 static.
3802
38032003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
3804
3805 * testsuite/libffi.call/cls_9byte2.c: New test case.
3806 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3807 * testsuite/libffi.call/cls_64byte.c: Likewise.
3808 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3809 * testsuite/libffi.call/cls_19byte.c: Likewise.
3810 * testsuite/libffi.call/cls_18byte.c: Likewise.
3811 * testsuite/libffi.call/closure_fn4.c: Likewise.
3812 * testsuite/libffi.call/closure_fn5.c: Likewise.
3813 * testsuite/libffi.call/cls_schar.c: Likewise.
3814 * testsuite/libffi.call/cls_sint.c: Likewise.
3815 * testsuite/libffi.call/cls_sshort.c: Likewise.
3816 * testsuite/libffi.call/nested_struct2.c: Likewise.
3817 * testsuite/libffi.call/nested_struct3.c: Likewise.
3818
38192003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
3820
3821 * testsuite/libffi.call/cls_double.c: Do a check on the result.
3822 * testsuite/libffi.call/cls_uchar.c: Likewise.
3823 * testsuite/libffi.call/cls_uint.c: Likewise.
3824 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3825 * testsuite/libffi.call/cls_ushort.c: Likewise.
3826 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
3827
38282003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
3829
3830 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
3831 the initialization.
3832
38332003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
3834
3835 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
3836 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
3837
38382003-10-22 David Daney <ddaney@avtrex.com>
3839
3840 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
3841 __attribute__((__mode__(__SI__))) and friends.
3842
38432003-10-22 Andreas Schwab <schwab@suse.de>
3844
3845 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
3846
38472003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
3848
3849 * configure.in: AC_LINK_FILES(ffitarget.h).
3850 * configure: Regenerate.
3851 * Makefile.in: Likewise.
3852 * include/Makefile.in: Likewise.
3853 * testsuite/Makefile.in: Likewise.
3854 * fficonfig.h.in: Likewise.
3855
38562003-10-21 Paolo Bonzini <bonzini@gnu.org>
3857 Richard Henderson <rth@redhat.com>
3858
3859 Avoid that ffi.h includes fficonfig.h.
3860
3861 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
3862 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
3863 (TARGET_SRC_MIPS_SGI): Removed.
3864 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
3865 (MIPS_SGI): Removed.
3866 (CLEANFILES): Removed.
3867 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
3868 targets.
3869 * acconfig.h: Removed.
3870 * configure.in: Compute sizeofs only for double and long double.
3871 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
3872 into AC_DEFINE instead of using acconfig.h. Create
3873 include/ffitarget.h instead of include/fficonfig.h. Rename
3874 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
3875 AC_DEFINE EH_FRAME_FLAGS.
3876 * include/Makefile.am (DISTCLEANFILES): New automake macro.
3877 (hack_DATA): Add ffitarget.h.
3878 * include/ffi.h.in: Remove all system specific definitions.
3879 Declare raw API even if it is not installed, why bother?
3880 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
3881 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
3882 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
3883 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
3884 * include/ffi_common.h (bool): Do not define.
3885 (ffi_assert): Accept failed assertion.
3886 (ffi_type_test): Return void and accept file/line.
3887 (FFI_ASSERT): Pass stringized failed assertion.
3888 (FFI_ASSERT_AT): New macro.
3889 (FFI_ASSERT_VALID_TYPE): New macro.
3890 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
3891 UINT64, SINT64): Define here with gcc's __attribute__ macro
3892 instead of in ffi.h
3893 (FLOAT32, ALIGN): Define here instead of in ffi.h
3894 * include/ffi-mips.h: Removed. Its content moved to
3895 src/mips/ffitarget.h after separating assembly and C sections.
3896 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
3897 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
3898 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
3899 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
3900 SIZEOF_ARG -> FFI_SIZEOF_ARG.
3901 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
3902 * src/debug.c (ffi_assert): Accept stringized failed assertion.
3903 (ffi_type_test): Rewritten.
3904 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
3905 FFI_ASSERT_VALID_TYPE.
3906 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
3907 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
3908 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
3909 src/s390/ffitarget.h, src/sh/ffitarget.h,
3910 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
3911 src/x86/ffitarget.h: New files.
3912 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
3913 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
3914 src/powerpc/aix.S, src/powerpc/darwin.S,
3915 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
3916 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
3917 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
3918 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
3919 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
3920 include fficonfig.h
3921
39222003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3923
3924 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
3925 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
3926
39272003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
3928
3929 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
3930 Used when FFI_DEBUG = 1.
3931
39322003-10-14 Alan Modra <amodra@bigpond.net.au>
3933
3934 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
3935 and align.
3936
39372003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3938
3939 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
3940 FFI_MIPS_O32 for O32 ABI.
3941
39422003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
3943
3944 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
3945 SPARC64. Cleanup whitespaces.
3946
39472003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
3948
3949 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
3950 strongarm, xscale. Cleanup whitespaces.
3951 * testsuite/libffi.call/closure_fn1.c: Likewise.
3952 * testsuite/libffi.call/closure_fn2.c: Likewise.
3953 * testsuite/libffi.call/closure_fn3.c: Likewise.
3954 * testsuite/libffi.call/cls_12byte.c: Likewise.
3955 * testsuite/libffi.call/cls_16byte.c: Likewise.
3956 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3957 * testsuite/libffi.call/cls_20byte.c: Likewise.
3958 * testsuite/libffi.call/cls_24byte.c: Likewise.
3959 * testsuite/libffi.call/cls_2byte.c: Likewise.
3960 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3961 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3962 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3963 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3964 * testsuite/libffi.call/cls_4byte.c: Likewise.
3965 * testsuite/libffi.call/cls_5byte.c: Likewise.
3966 * testsuite/libffi.call/cls_6byte.c: Likewise.
3967 * testsuite/libffi.call/cls_7byte.c: Likewise.
3968 * testsuite/libffi.call/cls_8byte.c: Likewise.
3969 * testsuite/libffi.call/cls_double.c: Likewise.
3970 * testsuite/libffi.call/cls_float.c: Likewise.
3971 * testsuite/libffi.call/cls_uchar.c: Likewise.
3972 * testsuite/libffi.call/cls_uint.c: Likewise.
3973 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3974 * testsuite/libffi.call/cls_ushort.c: Likewise.
3975 * testsuite/libffi.call/nested_struct.c: Likewise.
3976 * testsuite/libffi.call/nested_struct1.c: Likewise.
3977 * testsuite/libffi.call/problem1.c: Likewise.
3978 * testsuite/libffi.special/unwindtest.cc: Likewise.
3979 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
3980
39812003-09-18 David Edelsohn <edelsohn@gnu.org>
3982
3983 * src/powerpc/aix.S: Cleanup whitespaces.
3984 * src/powerpc/aix_closure.S: Likewise.
3985
39862003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
3987
3988 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
3989 * src/powerpc/darwin_closure.S: Likewise.
3990 * src/powerpc/ffi_darwin.c: Likewise.
3991
39922003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
3993 David Edelsohn <edelsohn@gnu.org>
3994
3995 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
3996 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
3997 parameter stack.
3998 * src/powerpc/darwin_closure.S: Likewise.
3999 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4000 according to the Darwin/AIX ABI.
4001 (ffi_prep_cif_machdep): Likewise.
4002 (ffi_closure_helper_DARWIN): Likewise.
4003 Remove the outgoing parameter stack logic. Simplify the evaluation
4004 of the different CASE types.
4005 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4006 statement in the trampoline code.
4007
40082003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4009
4010 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4011 for the register size.
4012 (ffi_closure_helper_SYSV): Handle the structure return value
4013 address correctly.
4014 (ffi_closure_helper_SYSV): Return the appropriate type when
4015 the registers are used for the structure return value.
4016 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4017 the 64-bit return value. Update copyright years.
4018
40192003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4020
4021 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4022 srcdir for ffi_mips.h.
4023
40242003-09-12 Alan Modra <amodra@bigpond.net.au>
4025
4026 * src/prep_cif.c (initialize_aggregate): Include tail padding in
4027 structure size.
4028 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4029 placement of float result.
4030 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4031 cast of "resp" for big-endian 64 bit machines.
4032
40332003-09-11 Alan Modra <amodra@bigpond.net.au>
4034
4035 * src/types.c (double, longdouble): Merge identical SH and ARM
4036 typedefs, and add POWERPC64.
4037 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4038 struct split over gpr and rest.
4039 (ffi_prep_cif_machdep): Correct intarg_count for structures.
4040 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4041
40422003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
4043
4044 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4045 passing correctly.
4046
40472003-09-09 Alan Modra <amodra@bigpond.net.au>
4048
4049 * configure: Regenerate.
4050
40512003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4052
4053 * Makefile.am: Remove build rules for ffitest.
4054 * Makefile.in: Rebuilt.
4055
40562003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4057
4058 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4059 about implicit declaration of abort().
4060
40612003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4062
4063 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4064 * Makefile.in: Rebuilt.
4065 * configure.in: Add dejagnu test framework.
4066 * configure: Rebuilt.
4067
4068 * testsuite/Makefile.am: New file.
4069 * testsuite/Makefile.in: Built
4070 * testsuite/lib/libffi-dg.exp: New file.
4071 * testsuite/config/default.exp: Likewise.
4072 * testsuite/libffi.call/call.exp: Likewise.
4073 * testsuite/libffi.call/ffitest.h: Likewise.
4074 * testsuite/libffi.call/closure_fn0.c: Likewise.
4075 * testsuite/libffi.call/closure_fn1.c: Likewise.
4076 * testsuite/libffi.call/closure_fn2.c: Likewise.
4077 * testsuite/libffi.call/closure_fn3.c: Likewise.
4078 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4079 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4080 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4081 * testsuite/libffi.call/cls_2byte.c: Likewise.
4082 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4083 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4084 * testsuite/libffi.call/cls_4byte.c: Likewise.
4085 * testsuite/libffi.call/cls_5byte.c: Likewise.
4086 * testsuite/libffi.call/cls_6byte.c: Likewise.
4087 * testsuite/libffi.call/cls_7byte.c: Likewise.
4088 * testsuite/libffi.call/cls_8byte.c: Likewise.
4089 * testsuite/libffi.call/cls_12byte.c: Likewise.
4090 * testsuite/libffi.call/cls_16byte.c: Likewise.
4091 * testsuite/libffi.call/cls_20byte.c: Likewise.
4092 * testsuite/libffi.call/cls_24byte.c: Likewise.
4093 * testsuite/libffi.call/cls_double.c: Likewise.
4094 * testsuite/libffi.call/cls_float.c: Likewise.
4095 * testsuite/libffi.call/cls_uchar.c: Likewise.
4096 * testsuite/libffi.call/cls_uint.c: Likewise.
4097 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4098 * testsuite/libffi.call/cls_ushort.c: Likewise.
4099 * testsuite/libffi.call/float.c: Likewise.
4100 * testsuite/libffi.call/float1.c: Likewise.
4101 * testsuite/libffi.call/float2.c: Likewise.
4102 * testsuite/libffi.call/many.c: Likewise.
4103 * testsuite/libffi.call/many_win32.c: Likewise.
4104 * testsuite/libffi.call/nested_struct.c: Likewise.
4105 * testsuite/libffi.call/nested_struct1.c: Likewise.
4106 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
4107 * testsuite/libffi.call/problem1.c: Likewise.
4108 * testsuite/libffi.call/promotion.c: Likewise.
4109 * testsuite/libffi.call/return_ll.c: Likewise.
4110 * testsuite/libffi.call/return_sc.c: Likewise.
4111 * testsuite/libffi.call/return_uc.c: Likewise.
4112 * testsuite/libffi.call/strlen.c: Likewise.
4113 * testsuite/libffi.call/strlen_win32.c: Likewise.
4114 * testsuite/libffi.call/struct1.c: Likewise.
4115 * testsuite/libffi.call/struct2.c: Likewise.
4116 * testsuite/libffi.call/struct3.c: Likewise.
4117 * testsuite/libffi.call/struct4.c: Likewise.
4118 * testsuite/libffi.call/struct5.c: Likewise.
4119 * testsuite/libffi.call/struct6.c: Likewise.
4120 * testsuite/libffi.call/struct7.c: Likewise.
4121 * testsuite/libffi.call/struct8.c: Likewise.
4122 * testsuite/libffi.call/struct9.c: Likewise.
4123 * testsuite/libffi.special/special.exp: New file.
4124 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4125 * testsuite/libffi.special/unwindtest.cc: Likewise.
4126
4127
41282003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4129
4130 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
4131 copyright years.
4132
41332003-08-02 Alan Modra <amodra@bigpond.net.au>
4134
4135 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
4136 structure passing.
4137 (ffi_closure_helper_LINUX64): Likewise.
4138 * src/powerpc/linux64.S: Remove code writing to parm save area.
4139 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
4140 address in lr from ffi_closure_helper_LINUX64 call to calculate
4141 table address. Optimize function tail.
4142
41432003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
4144
4145 * src/sparc/ffi.c: Handle all floating point registers.
4146 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
4147
41482003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4149
4150 * README: Note that libffi is not part of GCC. Update the project
4151 URL and status.
4152
41532003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4154
4155 * src/powerpc/ppc_closure.S: Include ffi.h.
4156
41572003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4158
4159 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
4160 Use C style comments.
4161
41622003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4163
4164 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
4165 * Makefile.in: Regenerate.
4166 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
4167 * configure: Regenerate.
4168 * include/ffi.h.in: Add SHmedia support.
4169 * src/sh64/ffi.c: New file.
4170 * src/sh64/sysv.S: New file.
4171
41722003-05-16 Jakub Jelinek <jakub@redhat.com>
4173
4174 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
4175 should be read-only.
4176 * configure: Rebuilt.
4177 * fficonfig.h.in: Rebuilt.
4178 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
4179 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
4180 * src/powerpc/linux64.S: Likewise.
4181 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
4182 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
4183 if -fpic/-fPIC/-mrelocatable.
4184 * src/powerpc/powerpc_closure.S: Likewise.
4185 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
4186 #write in .eh_frame flags.
4187 * src/sparc/v9.S: Likewise.
4188 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
4189 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
4190 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
4191
41922003-05-07 Jeff Sturm <jsturm@one-point.com>
4193
4194 Fixes PR bootstrap/10656
4195 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
4196 support for .register pseudo-op.
4197 * src/sparc/v8.S: Use it.
4198 * fficonfig.h.in: Rebuilt.
4199 * configure: Rebuilt.
4200
42012003-04-18 Jakub Jelinek <jakub@redhat.com>
4202
4203 * include/ffi.h.in (POWERPC64): Define if 64-bit.
4204 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
4205 Make it the default on POWERPC64.
4206 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
4207 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
4208 * configure: Rebuilt.
4209 * src/powerpc/ffi.c (hidden): Define.
4210 (ffi_prep_args_SYSV): Renamed from
4211 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
4212 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
4213 ASM_NEEDS_REGISTERS64): New.
4214 (ffi_prep_args64): New function.
4215 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
4216 (ffi_call): Likewise.
4217 (ffi_prep_closure): Likewise.
4218 (flush_icache): Surround by #ifndef POWERPC64.
4219 (ffi_dblfl): New union type.
4220 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
4221 (ffi_closure_helper_LINUX64): New function.
4222 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
4223 __powerpc64__.
4224 * src/powerpc/sysv.S: Likewise.
4225 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
4226 * src/powerpc/linux64.S: New file.
4227 * src/powerpc/linux64_closure.S: New file.
4228 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
4229 src/powerpc/linux64_closure.S.
4230 (TARGET_SRC_POWERPC): Likewise.
4231
4232 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
4233 closure_test_fn3): Fix result printing on big-endian 64-bit
4234 machines.
4235 (main): Print tst2_arg instead of uninitialized tst2_result.
4236
4237 * src/ffitest.c (main): Hide what closure pointer really points to
4238 from the compiler.
4239
42402003-04-16 Richard Earnshaw <rearnsha@arm.com>
4241
4242 * configure.in (arm-*-netbsdelf*): Add configuration.
4243 (configure): Regenerated.
4244
42452003-04-04 Loren J. Rittle <ljrittle@acm.org>
4246
4247 * include/Makefile.in: Regenerate.
4248
42492003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4250
4251 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
4252 bit mode.
4253 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
4254 Receive closure pointer through parameter, read args using
4255 __builtin_dwarf_cfa.
4256 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
4257
42582003-03-12 Andreas Schwab <schwab@suse.de>
4259
4260 * configure.in: Avoid trailing /. in toolexeclibdir.
4261 * configure: Rebuilt.
4262
42632003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
4264
4265 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
4266
42672003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
4268
4269 * libffi/src/powerpc/darwin_closure.S:
4270 Fix alignement bug, allocate 8 bytes for the result.
4271 * libffi/src/powerpc/aix_closure.S:
4272 Likewise.
4273 * libffi/src/powerpc/ffi_darwin.c:
4274 Update stackframe description for aix/darwin_closure.S.
4275
42762003-02-06 Jakub Jelinek <jakub@redhat.com>
4277
4278 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
4279 attribute.
4280
42812003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
4282 Andreas Schwab <schwab@suse.de>
4283
4284 * configure.in: Adjust command to source config-ml.in to account
4285 for changes to the libffi_basedir definition.
4286 (libffi_basedir): Remove ${srcdir} from value and include trailing
4287 slash if nonempty.
4288
4289 * configure: Regenerate.
4290
42912003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4292
4293 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
4294
42952003-01-28 Andrew Haley <aph@redhat.com>
4296
4297 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
4298 * src/x86/ffi64.c (ffi_prep_closure): New.
4299 (ffi_closure_UNIX64_inner): New.
4300 * src/x86/unix64.S (ffi_closure_UNIX64): New.
4301
43022003-01-27 Alexandre Oliva <aoliva@redhat.com>
4303
4304 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
4305 Remove USE_LIBDIR conditional.
4306 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
4307 * Makefile.in, configure: Rebuilt.
4308
43092003-01027 David Edelsohn <edelsohn@gnu.org>
4310
4311 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
4312 * Makefile.in: Regenerate.
4313
43142003-01-22 Andrew Haley <aph@redhat.com>
4315
4316 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
4317 unwind info.
4318
43192003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
4320
4321 * src/powerpc/darwin.S: Add unwind info.
4322 * src/powerpc/darwin_closure.S: Likewise.
4323
43242003-01-14 Andrew Haley <aph@redhat.com>
4325
4326 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
4327 (ffi_prep_cif_machdep): Likewise.
4328 * src/x86/unix64.S: Add unwind info.
4329
43302003-01-14 Andreas Jaeger <aj@suse.de>
4331
4332 * src/ffitest.c (main): Only use ffi_closures if those are
4333 supported.
4334
43352003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
4336
4337 * libffi/src/ffitest.c
4338 add closure testcases
4339
43402003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
4341
4342 * libffi/src/powerpc/ffi.c
4343 fix alignment bug for float (4 byte aligned iso 8 byte)
4344
43452003-01-09 Geoffrey Keating <geoffk@apple.com>
4346
4347 * src/powerpc/ffi_darwin.c: Remove RCS version string.
4348 * src/powerpc/darwin.S: Remove RCS version string.
4349
43502003-01-03 Jeff Sturm <jsturm@one-point.com>
4351
4352 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
4353 * src/ffitest.c (main): Use static storage for closure.
4354 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
4355 * src/sparc/v8.S (ffi_closure_v8): New.
4356 * src/sparc/v9.S (ffi_closure_v9): New.
4357
43582002-11-10 Ranjit Mathew <rmathew@hotmail.com>
4359
4360 * include/ffi.h.in: Added FFI_STDCALL ffi_type
4361 enumeration for X86_WIN32.
4362 * src/x86/win32.S: Added ffi_call_STDCALL function
4363 definition.
4364 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
4365 switch cases for recognising FFI_STDCALL and
4366 calling ffi_call_STDCALL if target is X86_WIN32.
4367 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
4368 stdcall versions of the "my_strlen" and "many"
4369 test functions (for X86_WIN32).
4370 Added test cases to test stdcall invocation using
4371 these functions.
4372
43732002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
4374
4375 * src/sh/sysv.S: Add DWARF2 unwind info.
4376
43772002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
4378
4379 * src/s390/sysv.S (.eh_frame section): Make section read-only.
4380
43812002-11-26 Jim Wilson <wilson@redhat.com>
4382
4383 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
4384
43852002-11-23 H.J. Lu <hjl@gnu.org>
4386
4387 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
4388 Include ../config/accross.m4.
4389 * aclocal.m4; Rebuild.
4390 * configure: Likewise.
4391
43922002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4393
4394 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
4395
43962002-11-11 DJ Delorie <dj@redhat.com>
4397
4398 * configure.in: Look for common files in the right place.
4399
44002002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
4401
4402 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
4403 raw data as _Jv_word values, not ffi_raw.
4404 (ffi_java_ptrarray_to_raw): Likewise.
4405 (ffi_java_rvalue_to_raw): New function.
4406 (ffi_java_raw_call): Call it.
4407 (ffi_java_raw_to_rvalue): New function.
4408 (ffi_java_translate_args): Call it.
4409 * src/ffitest.c (closure_test_fn): Interpret return value
4410 as ffi_arg, not int.
4411 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
4412 FFI_TYPE_POINTER case.
4413 (ffi_closure_helper_SYSV): Likewise. Also, assume return
4414 values extended to word size.
4415
44162002-10-02 Andreas Jaeger <aj@suse.de>
4417
4418 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
4419
44202002-10-01 Bo Thorsen <bo@smetana.suse.de>
4421
4422 * include/ffi.h.in: Fix i386 win32 compilation.
4423
44242002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
4425
4426 * configure.in: Add s390x-*-linux-* target.
4427 * configure: Regenerate.
4428 * include/ffi.h.in: Define S390X for s390x targets.
4429 (FFI_CLOSURES): Define for s390/s390x.
4430 (FFI_TRAMPOLINE_SIZE): Likewise.
4431 (FFI_NATIVE_RAW_API): Likewise.
4432 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
4433 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4434 * src/s390/ffi.c: Major rework of existing code. Add support for
4435 s390x targets. Add closure support.
4436 * src/s390/sysv.S: Likewise.
4437
44382002-09-29 Richard Earnshaw <rearnsha@arm.com>
4439
4440 * src/arm/sysv.S: Fix typo.
4441
44422002-09-28 Richard Earnshaw <rearnsha@arm.com>
4443
4444 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
4445 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
4446 (ffi_call_SYSV): Handle soft-float.
4447
44482002-09-27 Bo Thorsen <bo@suse.de>
4449
4450 * include/ffi.h.in: Fix multilib x86-64 support.
4451
44522002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4453
4454 * Makefile.am (all-multi): Fix multilib parallel build.
4455
44562002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
4457
4458 * configure.in (sh[34]*-*-linux*): Add brackets.
4459 * configure: Regenerate.
4460
44612002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
4462
4463 * Makefile.am: Add SH support.
4464 * Makefile.in: Regenerate.
4465 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
4466 * configure: Regenerate.
4467 * include/ffi.h.in: Add SH support.
4468 * src/sh/ffi.c: New file.
4469 * src/sh/sysv.S: New file.
4470 * src/types.c: Add SH support.
4471
44722002-07-16 Bo Thorsen <bo@suse.de>
4473
4474 * src/x86/ffi64.c: New file that adds x86-64 support.
4475 * src/x86/unix64.S: New file that handles argument setup for
4476 x86-64.
4477 * src/x86/sysv.S: Don't use this on x86-64.
4478 * src/x86/ffi.c: Don't use this on x86-64.
4479 Remove unused vars.
4480 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
4481 for x86-64.
4482 * src/ffitest.c (struct6): New test that tests a special case in
4483 the x86-64 ABI.
4484 (struct7): Likewise.
4485 (struct8): Likewise.
4486 (struct9): Likewise.
4487 (closure_test_fn): Silence warning about this when it's not used.
4488 (main): Add the new tests.
4489 (main): Fix a couple of wrong casts and silence some compiler warnings.
4490 * include/ffi.h.in: Add x86-64 ABI definition.
4491 * fficonfig.h.in: Regenerate.
4492 * Makefile.am: Add x86-64 support.
4493 * configure.in: Likewise.
4494 * Makefile.in: Regenerate.
4495 * configure: Likewise.
4496
44972002-06-24 Bo Thorsen <bo@suse.de>
4498
4499 * src/types.c: Merge settings for similar architectures.
4500 Add x86-64 sizes and alignments.
4501
45022002-06-23 Bo Thorsen <bo@suse.de>
4503
4504 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
4505 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
4506 * src/mips/ffi.c (ffi_prep_args): Likewise.
4507 * src/m68k/ffi.c (ffi_prep_args): Likewise.
4508
45092002-07-18 H.J. Lu (hjl@gnu.org)
4510
4511 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
4512 (libffi_la_SOURCES): Support MIPS_LINUX.
4513 (libffi_convenience_la_SOURCES): Likewise.
4514 * Makefile.in: Regenerated.
4515
4516 * configure.in (mips64*-*): Skip.
4517 (mips*-*-linux*): New.
4518 * configure: Regenerated.
4519
4520 * src/mips/ffi.c: Include <sgidefs.h>.
4521
45222002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
4523
4524 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
4525
45262002-05-27 Roger Sayle <roger@eyesopen.com>
4527
4528 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
4529
45302002-05-27 Bo Thorsen <bo@suse.de>
4531
4532 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
4533 fix formatting.
4534
45352002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
4536
4537 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
4538 beginning of function (for older apple cc).
4539
45402002-05-08 Alexandre Oliva <aoliva@redhat.com>
4541
4542 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
4543 script entry, and set LD to it when configuring multilibs.
4544 * configure: Rebuilt.
4545
45462002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
4547
4548 * configure.in (sparc64-*-netbsd*): Add target.
4549 (sparc-*-netbsdelf*): Likewise.
4550 * configure: Regenerate.
4551
45522002-04-28 David S. Miller <davem@redhat.com>
4553
4554 * configure.in, configure: Fix SPARC test in previous change.
4555
45562002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
4557
4558 * Makefile.am: Add Linux for S/390 support.
4559 * Makefile.in: Regenerate.
4560 * configure.in: Add Linux for S/390 support.
4561 * configure: Regenerate.
4562 * include/ffi.h.in: Add Linux for S/390 support.
4563 * src/s390/ffi.c: New file from libffi CVS tree.
4564 * src/s390/sysv.S: New file from libffi CVS tree.
4565
45662002-04-28 Jakub Jelinek <jakub@redhat.com>
4567
4568 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
4569 %r_disp32().
4570 * src/sparc/v8.S: Use it.
4571 * src/sparc/v9.S: Likewise.
4572 * fficonfig.h.in: Rebuilt.
4573 * configure: Rebuilt.
4574
45752002-04-08 Hans Boehm <Hans_Boehm@hp.com>
4576
4577 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
4578 correctly.
4579 * src/ia64/unix.S: Add unwind information. Fix comments.
4580 Save sp in a way that's compatible with unwind info.
4581 (ffi_call_unix): Correctly restore sp in all cases.
4582 * src/ia64/ffi.c: Add, fix comments.
4583
45842002-04-08 Jakub Jelinek <jakub@redhat.com>
4585
4586 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
4587
45882002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
4589
4590 * configure.in (alpha*-*-netbsd*): Add target.
4591 * configure: Regenerate.
4592
45932002-04-04 Jeff Sturm <jsturm@one-point.com>
4594
4595 * src/sparc/v8.S: Add unwind info.
4596 * src/sparc/v9.S: Likewise.
4597
45982002-03-30 Krister Walfridsson <cato@df.lth.se>
4599
4600 * configure.in: Enable i*86-*-netbsdelf*.
4601 * configure: Rebuilt.
4602
46032002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
4604
4605 PR other/2620
4606 * src/mips/n32.s: Delete
4607 * src/mips/o32.s: Delete
4608
46092002-03-21 Loren J. Rittle <ljrittle@acm.org>
4610
4611 * configure.in: Enable alpha*-*-freebsd*.
4612 * configure: Rebuilt.
4613
46142002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4615
4616 * Makefile.am: libfficonvenience -> libffi_convenience.
4617 * Makefile.in: Rebuilt.
4618
4619 * Makefile.am: Define ffitest_OBJECTS.
4620 * Makefile.in: Rebuilt.
4621
46222002-03-07 Andreas Tobler <toa@pop.agri.ch>
4623 David Edelsohn <edelsohn@gnu.org>
4624
4625 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
4626 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
4627 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
4628 * Makefile.in: Regenerate.
4629 * include/ffi.h.in: Add AIX and Darwin closure definitions.
4630 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
4631 (flush_icache, flush_range): New functions.
4632 (ffi_closure_helper_DARWIN): New function.
4633 * src/powerpc/aix_closure.S: New file.
4634 * src/powerpc/darwin_closure.S: New file.
4635
46362002-02-24 Jeff Sturm <jsturm@one-point.com>
4637
4638 * include/ffi.h.in: Add typedef for ffi_arg.
4639 * src/ffitest.c (main): Declare rint with ffi_arg.
4640
46412002-02-21 Andreas Tobler <toa@pop.agri.ch>
4642
4643 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
4644 number of GPRs for floating-point arguments.
4645
46462002-01-31 Anthony Green <green@redhat.com>
4647
4648 * configure: Rebuilt.
4649 * configure.in: Replace CHECK_SIZEOF and endian tests with
4650 cross-compiler friendly macros.
4651 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
4652 macros.
4653
46542002-01-18 David Edelsohn <edelsohn@gnu.org>
4655
4656 * src/powerpc/darwin.S (_ffi_call_AIX): New.
4657 * src/powerpc/aix.S (ffi_call_DARWIN): New.
4658
46592002-01-17 David Edelsohn <edelsohn@gnu.org>
4660
4661 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
4662 (TARGET_SRC_POWERPC_AIX): New.
4663 (POWERPC_AIX): New stanza.
4664 * Makefile.in: Regenerate.
4665 * configure.in: Add AIX case.
4666 * configure: Regenerate.
4667 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
4668 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
4669 size. Fix "long double" support.
4670 (ffi_call): Add FFI_AIX case.
4671 * src/powerpc/aix.S: New.
4672
46732001-10-09 John Hornkvist <john@toastedmarshmallow.com>
4674
4675 Implement Darwin PowerPC ABI.
4676 * configure.in: Handle powerpc-*-darwin*.
4677 * Makefile.am: Set source files for POWERPC_DARWIN.
4678 * configure: Rebuilt.
4679 * Makefile.in: Rebuilt.
4680 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
4681 POWERPC_DARWIN.
4682 * src/powerpc/darwin.S: New file.
4683 * src/powerpc/ffi_darwin.c: New file.
4684
46852001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4686
4687 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
4688
46892001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4690
4691 * src/x86/sysv.S: Avoid gas-only .balign directive.
4692 Use C style comments.
4693
46942001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4695
4696 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
4697 Fixes PR bootstrap/3563.
4698
46992001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4700
4701 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
4702
47032001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4704
4705 * configure.in: Recognize sparc*-sun-* host.
4706 * configure: Regenerate.
4707
47082001-06-06 Andrew Haley <aph@redhat.com>
4709
4710 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
4711
47122001-06-03 Andrew Haley <aph@redhat.com>
4713
4714 * src/alpha/osf.S: Add unwind info.
4715 * src/powerpc/sysv.S: Add unwind info.
4716 * src/powerpc/ppc_closure.S: Likewise.
4717
47182000-05-31 Jeff Sturm <jsturm@one-point.com>
4719
4720 * configure.in: Fix AC_ARG_ENABLE usage.
4721 * configure: Rebuilt.
4722
47232001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4724
4725 * configure.in: Remove warning about beta code.
4726 * configure: Rebuilt.
4727
47282001-04-25 Hans Boehm <Hans_Boehm@hp.com>
4729
4730 * src/ia64/unix.S: Restore stack pointer when returning from
4731 ffi_closure_UNIX.
4732 * src/ia64/ffi.c: Fix typo in comment.
4733
47342001-04-18 Jim Wilson <wilson@redhat.com>
4735
4736 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
4737 to eliminate RAW DV.
4738
47392001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
4740
4741 * Makefile.am: Make a libtool convenience library.
4742 * Makefile.in: Rebuilt.
4743
47442001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
4745
4746 * configure.in: Use different syntax for subdirectory creation.
4747 * configure: Rebuilt.
4748
47492001-03-27 Jon Beniston <jon@beniston.com>
4750
4751 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
4752 * configure: Rebuilt.
4753 * Makefile.am: Added X86_WIN32 target support.
4754 * Makefile.in: Rebuilt.
4755
4756 * include/ffi.h.in: Added X86_WIN32 target support.
4757
4758 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
4759 * src/types.c: Added X86_WIN32 target support.
4760
4761 * src/x86/win32.S: New file. Based on sysv.S, but with EH
4762 stuff removed and made to work with CygWin's gas.
4763
47642001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
4765
4766 * configure.in: Make target subdirectory in build dir.
4767 * Makefile.am: Override suffix based rules to specify correct output
4768 subdirectory.
4769 * Makefile.in: Rebuilt.
4770 * configure: Rebuilt.
4771
47722001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
4773
4774 * src/powerpc/ppc_closure.S: New file.
4775 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
4776 involving long long and register pairs.
4777 (ffi_prep_closure): New function.
4778 (flush_icache): Likewise.
4779 (ffi_closure_helper_SYSV): Likewise.
4780 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
4781 (FFI_TRAMPOLINE_SIZE): Likewise.
4782 (FFI_NATIVE_RAW_API): Likewise.
4783 * Makefile.in: Rebuilt.
4784 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
4785 (TARGET_SRC_POWERPC): Likewise.
4786
47872001-03-19 Tom Tromey <tromey@redhat.com>
4788
4789 * Makefile.in: Rebuilt.
4790 * Makefile.am (ffitest_LDFLAGS): New macro.
4791
47922001-03-02 Nick Clifton <nickc@redhat.com>
4793
4794 * include/ffi.h.in: Remove RCS ident string.
4795 * include/ffi_mips.h: Remove RCS ident string.
4796 * src/debug.c: Remove RCS ident string.
4797 * src/ffitest.c: Remove RCS ident string.
4798 * src/prep_cif.c: Remove RCS ident string.
4799 * src/types.c: Remove RCS ident string.
4800 * src/alpha/ffi.c: Remove RCS ident string.
4801 * src/alpha/osf.S: Remove RCS ident string.
4802 * src/arm/ffi.c: Remove RCS ident string.
4803 * src/arm/sysv.S: Remove RCS ident string.
4804 * src/mips/ffi.c: Remove RCS ident string.
4805 * src/mips/n32.S: Remove RCS ident string.
4806 * src/mips/o32.S: Remove RCS ident string.
4807 * src/sparc/ffi.c: Remove RCS ident string.
4808 * src/sparc/v8.S: Remove RCS ident string.
4809 * src/sparc/v9.S: Remove RCS ident string.
4810 * src/x86/ffi.c: Remove RCS ident string.
4811 * src/x86/sysv.S: Remove RCS ident string.
4812
48132001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
4814
4815 * include/ffi.h.in: Change sourceware.cygnus.com references to
4816 gcc.gnu.org.
4817
48182000-12-09 Richard Henderson <rth@redhat.com>
4819
4820 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
4821 (ffi_closure_osf_inner): Index rather than increment avalue
4822 and arg_types. Give ffi_closure_osf the raw return value type.
4823 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
4824 promotion.
4825
48262000-12-07 Richard Henderson <rth@redhat.com>
4827
4828 * src/raw_api.c (ffi_translate_args): Fix typo.
4829 (ffi_prep_closure): Likewise.
4830
4831 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
4832 FFI_TRAMPOLINE_SIZE.
4833 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
4834 cif->bytes for new ffi_call_osf implementation.
4835 (ffi_prep_args): Absorb into ...
4836 (ffi_call): ... here. Do all stack allocation here and
4837 avoid a callback function.
4838 (ffi_prep_closure, ffi_closure_osf_inner): New.
4839 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
4840 (ffi_closure_osf): New.
4841
48422000-09-10 Alexandre Oliva <aoliva@redhat.com>
4843
4844 * config.guess, config.sub, install-sh: Removed.
4845 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
4846 * Makefile.in: Rebuilt.
4847
4848 * acinclude.m4: Include libtool macros from the top level.
4849 * aclocal.m4, configure: Rebuilt.
4850
48512000-08-22 Alexandre Oliva <aoliva@redhat.com>
4852
4853 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
4854 * configure: Rebuilt.
4855
48562000-05-11 Scott Bambrough <scottb@netwinder.org>
4857
4858 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
4859 memory correctly. Use conditional instructions, not branches where
4860 possible.
4861
48622000-05-04 Tom Tromey <tromey@cygnus.com>
4863
4864 * configure: Rebuilt.
4865 * configure.in: Match `arm*-*-linux-*'.
4866 From Chris Dornan <cdornan@arm.com>.
4867
48682000-04-28 Jakub Jelinek <jakub@redhat.com>
4869
4870 * Makefile.am (SUBDIRS): Define.
4871 (AM_MAKEFLAGS): Likewise.
4872 (Multilib support.): Add section.
4873 * Makefile.in: Rebuilt.
4874 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4875 New variables. Set for gcc using -print-multi-lib. Export them
4876 to libtool.
4877 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
4878 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
4879 for -shared links.
4880 (extra_compiler_flags_value, extra_compiler_flags): Check these
4881 for extra compiler options which need to be passed down in
4882 compiler_flags.
4883
48842000-04-16 Anthony Green <green@redhat.com>
4885
4886 * configure: Rebuilt.
4887 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
4888
48892000-04-14 Jakub Jelinek <jakub@redhat.com>
4890
4891 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
4892 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
4893 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
4894 Replace all void * sizeofs with sizeof(int).
4895 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
4896 different than DOUBLE.
4897 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
4898 (ffi_prep_args_v9): New function.
4899 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
4900 (ffi_V9_return_struct): New function.
4901 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
4902 32bit code (not yet cross-arch calls).
4903 * src/sparc/v8.S: Add struct return delay nop.
4904 Handle long long.
4905 * src/sparc/v9.S: New file.
4906 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
4907 is used on sparc64 only for structures larger than 32 bytes.
4908 Pass by reference for structures is done for structure arguments
4909 larger than 16 bytes.
4910 * src/ffitest.c (main): Use 64bit rint on sparc64.
4911 Run long long tests on sparc.
4912 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
4913 sparc64.
4914 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
4915 on sparc64.
4916 * configure.in (sparc-*-linux*): New supported target.
4917 (sparc64-*-linux*): Likewise.
4918 * configure: Rebuilt.
4919 * Makefile.am: Add v9.S to SPARC files.
4920 * Makefile.in: Likewise.
4921 (LINK): Surround $(CCLD) into double quotes, so that multilib
4922 compiles work correctly.
4923
49242000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
4925
4926 * configure: Rebuilt.
4927 * configure.in: (i*86-*-solaris*): New libffi target. Patch
4928 proposed by Bryce McKinlay.
4929
49302000-03-20 Tom Tromey <tromey@cygnus.com>
4931
4932 * Makefile.in: Hand edit for java_raw_api.lo.
4933
49342000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
4935
4936 * config.guess, config.sub: Update from the gcc tree.
4937 Fix for PR libgcj/168.
4938
49392000-03-03 Tom Tromey <tromey@cygnus.com>
4940
4941 * Makefile.in: Fixed ia64 by hand.
4942
4943 * configure: Rebuilt.
4944 * configure.in (--enable-multilib): New option.
4945 (libffi_basedir): New subst.
4946 (AC_OUTPUT): Added multilib code.
4947
49482000-03-02 Tom Tromey <tromey@cygnus.com>
4949
4950 * Makefile.in: Rebuilt.
4951 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
4952 directory name.
4953
49542000-02-25 Hans Boehm <boehm@acm.org>
4955
4956 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
4957 files.
4958 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
4959 list.
4960 (ffi_prep_raw_closure): Use ffi_translate_args, not
4961 ffi_closure_translate.
4962 * src/java_raw_api.c: New file.
4963 * src/ffitest.c (closure_test_fn): New function.
4964 (main): Define `rint' as long long on IA64. Added new test when
4965 FFI_CLOSURES is defined.
4966 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
4967 (ffi_abi): Recognize IA64.
4968 (ffi_raw): Added `flt' field.
4969 Added "Java raw API" code.
4970 * configure.in: Recognize ia64.
4971 * Makefile.am (TARGET_SRC_IA64): New macro.
4972 (libffi_la_common_SOURCES): Added java_raw_api.c.
4973 (libffi_la_SOURCES): Define in IA64 case.
4974
49752000-01-04 Tom Tromey <tromey@cygnus.com>
4976
4977 * Makefile.in: Rebuilt with newer automake.
4978
49791999-12-31 Tom Tromey <tromey@cygnus.com>
4980
4981 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
4982
49831999-09-01 Tom Tromey <tromey@cygnus.com>
4984
4985 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
4986 undefs.
4987 * fficonfig.h.in: Rebuilt.
4988 * configure: Rebuilt.
4989 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
4990 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
4991 * acconfig.h: Don't #undef PACKAGE or VERSION.
4992
49931999-08-09 Anthony Green <green@cygnus.com>
4994
4995 * include/ffi.h.in: Try to work around messy header problem
4996 with PACKAGE and VERSION.
4997
4998 * configure: Rebuilt.
4999 * configure.in: Change version to 2.00-beta.
5000
5001 * fficonfig.h.in: Rebuilt.
5002 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5003
5004 * src/x86/ffi.c (ffi_raw_call): Rename.
5005
50061999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
5007
5008 * src/x86/ffi.c (ffi_closure_SYSV): New function.
5009 (ffi_prep_incoming_args_SYSV): Ditto.
5010 (ffi_prep_closure): Ditto.
5011 (ffi_closure_raw_SYSV): Ditto.
5012 (ffi_prep_raw_closure): More ditto.
5013 (ffi_call_raw): Final ditto.
5014
5015 * include/ffi.h.in: Add definitions for closure and raw API.
5016
5017 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
5018 FFI_TYPE_UINT64.
5019
5020 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5021
5022 * src/raw_api.c: New file.
5023
5024 * include/ffi.h.in (ffi_raw): New type.
5025 (UINT_ARG, SINT_ARG): New defines.
5026 (ffi_closure, ffi_raw_closure): New types.
5027 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
5028
5029 * configure.in: Add check for endianness and sizeof void*.
5030
5031 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5032 instead of directly.
5033
5034 * configure: Rebuilt.
5035
5036Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
5037
5038 * configure.in: Add x86 and powerpc BeOS configurations.
5039 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
5040
50411999-05-09 Anthony Green <green@cygnus.com>
5042
5043 * configure.in: Add warning about this being beta code.
5044 Remove src/Makefile.am from the picture.
5045 * configure: Rebuilt.
5046
5047 * Makefile.am: Move logic from src/Makefile.am. Add changes
5048 to support libffi as a target library.
5049 * Makefile.in: Rebuilt.
5050
5051 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5052 Upgraded to new autoconf, automake, libtool.
5053
5054 * README: Tweaks.
5055
5056 * LICENSE: Update copyright date.
5057
5058 * src/Makefile.am, src/Makefile.in: Removed.
5059
50601998-11-29 Anthony Green <green@cygnus.com>
5061
5062 * include/ChangeLog: Removed.
5063 * src/ChangeLog: Removed.
5064 * src/mips/ChangeLog: Removed.
5065 * src/sparc/ChangeLog: Remboved.
5066 * src/x86/ChangeLog: Removed.
5067
5068 * ChangeLog.v1: Created.