]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
* config/h8300/clzhi2.c: Fix warnings.
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
4f388831 12003-10-22 David Daney <ddaney@avtrex.com>
2
3 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
4 __attribute__((__mode__(__SI__))) and friends.
5
b4891aa6 62003-10-22 Andreas Schwab <schwab@suse.de>
7
8 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
9
3d37e05c 102003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
11
12 * configure.in: AC_LINK_FILES(ffitarget.h).
13 * configure: Regenerate.
14 * Makefile.in: Likewise.
15 * include/Makefile.in: Likewise.
16 * testsuite/Makefile.in: Likewise.
17 * fficonfig.h.in: Likewise.
18
192003-10-21 Paolo Bonzini <bonzini@gnu.org>
20 Richard Henderson <rth@redhat.com>
21
22 Avoid that ffi.h includes fficonfig.h.
23
24 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
25 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
26 (TARGET_SRC_MIPS_SGI): Removed.
27 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
28 (MIPS_SGI): Removed.
29 (CLEANFILES): Removed.
30 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
31 targets.
32 * acconfig.h: Removed.
33 * configure.in: Compute sizeofs only for double and long double.
34 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
35 into AC_DEFINE instead of using acconfig.h. Create
36 include/ffitarget.h instead of include/fficonfig.h. Rename
37 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
38 AC_DEFINE EH_FRAME_FLAGS.
39 * include/Makefile.am (DISTCLEANFILES): New automake macro.
40 (hack_DATA): Add ffitarget.h.
41 * include/ffi.h.in: Remove all system specific definitions.
42 Declare raw API even if it is not installed, why bother?
43 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
44 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
45 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
46 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
47 * include/ffi_common.h (bool): Do not define.
48 (ffi_assert): Accept failed assertion.
49 (ffi_type_test): Return void and accept file/line.
50 (FFI_ASSERT): Pass stringized failed assertion.
51 (FFI_ASSERT_AT): New macro.
52 (FFI_ASSERT_VALID_TYPE): New macro.
53 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
54 UINT64, SINT64): Define here with gcc's __attribute__ macro
55 instead of in ffi.h
56 (FLOAT32, ALIGN): Define here instead of in ffi.h
57 * include/ffi-mips.h: Removed. Its content moved to
58 src/mips/ffitarget.h after separating assembly and C sections.
59 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
60 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
61 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
62 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
63 SIZEOF_ARG -> FFI_SIZEOF_ARG.
64 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
65 * src/debug.c (ffi_assert): Accept stringized failed assertion.
66 (ffi_type_test): Rewritten.
67 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
68 FFI_ASSERT_VALID_TYPE.
69 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
70 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
71 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
72 src/s390/ffitarget.h, src/sh/ffitarget.h,
73 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
74 src/x86/ffitarget.h: New files.
75 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
76 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
77 src/powerpc/aix.S, src/powerpc/darwin.S,
78 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
79 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
80 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
81 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
82 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
83 include fficonfig.h
84
2a5f9ffc 852003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
86
87 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
88 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
89
51c5f96c 902003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
91
92 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
93 Used when FFI_DEBUG = 1.
94
ee46e78f 952003-10-14 Alan Modra <amodra@bigpond.net.au>
96
97 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
98 and align.
99
a3abe7fe 1002003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
101
102 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
103 FFI_MIPS_O32 for O32 ABI.
104
1ee4561e 1052003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
106
107 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
108 SPARC64. Cleanup whitespaces.
109
93421fe6 1102003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
111
112 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
113 strongarm, xscale. Cleanup whitespaces.
114 * testsuite/libffi.call/closure_fn1.c: Likewise.
115 * testsuite/libffi.call/closure_fn2.c: Likewise.
116 * testsuite/libffi.call/closure_fn3.c: Likewise.
117 * testsuite/libffi.call/cls_12byte.c: Likewise.
118 * testsuite/libffi.call/cls_16byte.c: Likewise.
119 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
120 * testsuite/libffi.call/cls_20byte.c: Likewise.
121 * testsuite/libffi.call/cls_24byte.c: Likewise.
122 * testsuite/libffi.call/cls_2byte.c: Likewise.
123 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
124 * testsuite/libffi.call/cls_3byte1.c: Likewise.
125 * testsuite/libffi.call/cls_3byte2.c: Likewise.
126 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
127 * testsuite/libffi.call/cls_4byte.c: Likewise.
128 * testsuite/libffi.call/cls_5byte.c: Likewise.
129 * testsuite/libffi.call/cls_6byte.c: Likewise.
130 * testsuite/libffi.call/cls_7byte.c: Likewise.
131 * testsuite/libffi.call/cls_8byte.c: Likewise.
132 * testsuite/libffi.call/cls_double.c: Likewise.
133 * testsuite/libffi.call/cls_float.c: Likewise.
134 * testsuite/libffi.call/cls_uchar.c: Likewise.
135 * testsuite/libffi.call/cls_uint.c: Likewise.
136 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
137 * testsuite/libffi.call/cls_ushort.c: Likewise.
138 * testsuite/libffi.call/nested_struct.c: Likewise.
139 * testsuite/libffi.call/nested_struct1.c: Likewise.
140 * testsuite/libffi.call/problem1.c: Likewise.
141 * testsuite/libffi.special/unwindtest.cc: Likewise.
142 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
143
8a94dd75 1442003-09-18 David Edelsohn <edelsohn@gnu.org>
145
146 * src/powerpc/aix.S: Cleanup whitespaces.
147 * src/powerpc/aix_closure.S: Likewise.
148
bd1f3533 1492003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
150
151 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
152 * src/powerpc/darwin_closure.S: Likewise.
153 * src/powerpc/ffi_darwin.c: Likewise.
154
7a142533 1552003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
156 David Edelsohn <edelsohn@gnu.org>
157
158 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
159 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
160 parameter stack.
161 * src/powerpc/darwin_closure.S: Likewise.
162 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
163 according to the Darwin/AIX ABI.
164 (ffi_prep_cif_machdep): Likewise.
165 (ffi_closure_helper_DARWIN): Likewise.
166 Remove the outgoing parameter stack logic. Simplify the evaluation
167 of the different CASE types.
168 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
169 statement in the trampoline code.
170
d80727ae 1712003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
172
173 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
174 for the register size.
175 (ffi_closure_helper_SYSV): Handle the structure return value
176 address correctly.
177 (ffi_closure_helper_SYSV): Return the appropriate type when
178 the registers are used for the structure return value.
179 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
180 the 64-bit return value. Update copyright years.
181
47fab6c3 1822003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
183
184 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
185 srcdir for ffi_mips.h.
186
f397026a 1872003-09-12 Alan Modra <amodra@bigpond.net.au>
188
189 * src/prep_cif.c (initialize_aggregate): Include tail padding in
190 structure size.
191 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
192 placement of float result.
193 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
194 cast of "resp" for big-endian 64 bit machines.
195
341b7dcf 1962003-09-11 Alan Modra <amodra@bigpond.net.au>
197
198 * src/types.c (double, longdouble): Merge identical SH and ARM
199 typedefs, and add POWERPC64.
200 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
201 struct split over gpr and rest.
202 (ffi_prep_cif_machdep): Correct intarg_count for structures.
203 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
204
06855f3a 2052003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
206
207 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
208 passing correctly.
209
9165b0af 2102003-09-09 Alan Modra <amodra@bigpond.net.au>
211
212 * configure: Regenerate.
213
98d58335 2142003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
215
216 * Makefile.am: Remove build rules for ffitest.
217 * Makefile.in: Rebuilt.
218
2192003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
0262ee1f 220
221 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
222 about implicit declaration of abort().
223
3743c332 2242003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
225
226 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
227 * Makefile.in: Rebuilt.
228 * configure.in: Add dejagnu test framework.
229 * configure: Rebuilt.
230
231 * testsuite/Makefile.am: New file.
232 * testsuite/Makefile.in: Built
233 * testsuite/lib/libffi-dg.exp: New file.
234 * testsuite/config/default.exp: Likewise.
235 * testsuite/libffi.call/call.exp: Likewise.
236 * testsuite/libffi.call/ffitest.h: Likewise.
237 * testsuite/libffi.call/closure_fn0.c: Likewise.
238 * testsuite/libffi.call/closure_fn1.c: Likewise.
239 * testsuite/libffi.call/closure_fn2.c: Likewise.
240 * testsuite/libffi.call/closure_fn3.c: Likewise.
241 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
242 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
243 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
244 * testsuite/libffi.call/cls_2byte.c: Likewise.
245 * testsuite/libffi.call/cls_3byte1.c: Likewise.
246 * testsuite/libffi.call/cls_3byte2.c: Likewise.
247 * testsuite/libffi.call/cls_4byte.c: Likewise.
248 * testsuite/libffi.call/cls_5byte.c: Likewise.
249 * testsuite/libffi.call/cls_6byte.c: Likewise.
250 * testsuite/libffi.call/cls_7byte.c: Likewise.
251 * testsuite/libffi.call/cls_8byte.c: Likewise.
252 * testsuite/libffi.call/cls_12byte.c: Likewise.
253 * testsuite/libffi.call/cls_16byte.c: Likewise.
254 * testsuite/libffi.call/cls_20byte.c: Likewise.
255 * testsuite/libffi.call/cls_24byte.c: Likewise.
256 * testsuite/libffi.call/cls_double.c: Likewise.
257 * testsuite/libffi.call/cls_float.c: Likewise.
258 * testsuite/libffi.call/cls_uchar.c: Likewise.
259 * testsuite/libffi.call/cls_uint.c: Likewise.
260 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
261 * testsuite/libffi.call/cls_ushort.c: Likewise.
262 * testsuite/libffi.call/float.c: Likewise.
263 * testsuite/libffi.call/float1.c: Likewise.
264 * testsuite/libffi.call/float2.c: Likewise.
265 * testsuite/libffi.call/many.c: Likewise.
266 * testsuite/libffi.call/many_win32.c: Likewise.
267 * testsuite/libffi.call/nested_struct.c: Likewise.
268 * testsuite/libffi.call/nested_struct1.c: Likewise.
269 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
270 * testsuite/libffi.call/problem1.c: Likewise.
271 * testsuite/libffi.call/promotion.c: Likewise.
272 * testsuite/libffi.call/return_ll.c: Likewise.
273 * testsuite/libffi.call/return_sc.c: Likewise.
274 * testsuite/libffi.call/return_uc.c: Likewise.
275 * testsuite/libffi.call/strlen.c: Likewise.
276 * testsuite/libffi.call/strlen_win32.c: Likewise.
277 * testsuite/libffi.call/struct1.c: Likewise.
278 * testsuite/libffi.call/struct2.c: Likewise.
279 * testsuite/libffi.call/struct3.c: Likewise.
280 * testsuite/libffi.call/struct4.c: Likewise.
281 * testsuite/libffi.call/struct5.c: Likewise.
282 * testsuite/libffi.call/struct6.c: Likewise.
283 * testsuite/libffi.call/struct7.c: Likewise.
284 * testsuite/libffi.call/struct8.c: Likewise.
285 * testsuite/libffi.call/struct9.c: Likewise.
286 * testsuite/libffi.special/special.exp: New file.
287 * testsuite/libffi.special/ffitestcxx.h: Likewise.
288 * testsuite/libffi.special/unwindtest.cc: Likewise.
289
290
3a845f75 2912003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
292
293 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
294 copyright years.
295
4637dfa6 2962003-08-02 Alan Modra <amodra@bigpond.net.au>
297
298 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
299 structure passing.
300 (ffi_closure_helper_LINUX64): Likewise.
301 * src/powerpc/linux64.S: Remove code writing to parm save area.
302 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
303 address in lr from ffi_closure_helper_LINUX64 call to calculate
304 table address. Optimize function tail.
305
8bcdc7f0 3062003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
307
308 * src/sparc/ffi.c: Handle all floating point registers.
309 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
310
3d6cc549 3112003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
312
313 * README: Note that libffi is not part of GCC. Update the project
314 URL and status.
315
9b770b5a 3162003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
317
318 * src/powerpc/ppc_closure.S: Include ffi.h.
319
d46ab9f3 3202003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
321
322 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
323 Use C style comments.
324
81f536a3 3252003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
326
327 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
328 * Makefile.in: Regenerate.
329 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
330 * configure: Regenerate.
331 * include/ffi.h.in: Add SHmedia support.
332 * src/sh64/ffi.c: New file.
333 * src/sh64/sysv.S: New file.
334
1da888ec 3352003-05-16 Jakub Jelinek <jakub@redhat.com>
336
337 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
338 should be read-only.
339 * configure: Rebuilt.
340 * fficonfig.h.in: Rebuilt.
341 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
342 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
343 * src/powerpc/linux64.S: Likewise.
344 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
345 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
346 if -fpic/-fPIC/-mrelocatable.
347 * src/powerpc/powerpc_closure.S: Likewise.
348 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
349 #write in .eh_frame flags.
350 * src/sparc/v9.S: Likewise.
351 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
352 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
353 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
354
f3bd7a2c 3552003-05-07 Jeff Sturm <jsturm@one-point.com>
356
357 Fixes PR bootstrap/10656
358 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
359 support for .register pseudo-op.
360 * src/sparc/v8.S: Use it.
361 * fficonfig.h.in: Rebuilt.
362 * configure: Rebuilt.
363
3647950d 3642003-04-18 Jakub Jelinek <jakub@redhat.com>
365
366 * include/ffi.h.in (POWERPC64): Define if 64-bit.
367 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
368 Make it the default on POWERPC64.
369 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
370 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
371 * configure: Rebuilt.
372 * src/powerpc/ffi.c (hidden): Define.
373 (ffi_prep_args_SYSV): Renamed from
374 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
375 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
376 ASM_NEEDS_REGISTERS64): New.
377 (ffi_prep_args64): New function.
378 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
379 (ffi_call): Likewise.
380 (ffi_prep_closure): Likewise.
381 (flush_icache): Surround by #ifndef POWERPC64.
382 (ffi_dblfl): New union type.
383 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
384 (ffi_closure_helper_LINUX64): New function.
385 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
386 __powerpc64__.
387 * src/powerpc/sysv.S: Likewise.
388 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
389 * src/powerpc/linux64.S: New file.
390 * src/powerpc/linux64_closure.S: New file.
391 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
392 src/powerpc/linux64_closure.S.
393 (TARGET_SRC_POWERPC): Likewise.
394
395 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
396 closure_test_fn3): Fix result printing on big-endian 64-bit
397 machines.
398 (main): Print tst2_arg instead of uninitialized tst2_result.
399
400 * src/ffitest.c (main): Hide what closure pointer really points to
401 from the compiler.
402
1636e920 4032003-04-16 Richard Earnshaw <rearnsha@arm.com>
404
405 * configure.in (arm-*-netbsdelf*): Add configuration.
406 (configure): Regenerated.
407
e663564a 4082003-04-04 Loren J. Rittle <ljrittle@acm.org>
409
410 * include/Makefile.in: Regenerate.
411
02f5d4c9 4122003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
413
414 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
415 bit mode.
416 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
417 Receive closure pointer through parameter, read args using
418 __builtin_dwarf_cfa.
419 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
420
b8e27232 4212003-03-12 Andreas Schwab <schwab@suse.de>
422
423 * configure.in: Avoid trailing /. in toolexeclibdir.
424 * configure: Rebuilt.
425
5fee68c6 4262003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
427
428 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
429
ecadab3f 4302003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
431
432 * libffi/src/powerpc/darwin_closure.S:
433 Fix alignement bug, allocate 8 bytes for the result.
434 * libffi/src/powerpc/aix_closure.S:
435 Likewise.
436 * libffi/src/powerpc/ffi_darwin.c:
437 Update stackframe description for aix/darwin_closure.S.
438
a0294641 4392003-02-06 Jakub Jelinek <jakub@redhat.com>
440
441 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
442 attribute.
443
624476ed 4442003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
445 Andreas Schwab <schwab@suse.de>
446
447 * configure.in: Adjust command to source config-ml.in to account
448 for changes to the libffi_basedir definition.
449 (libffi_basedir): Remove ${srcdir} from value and include trailing
450 slash if nonempty.
451
452 * configure: Regenerate.
453
1143cc9b 4542003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
455
456 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
457
967ae8fb 4582003-01-28 Andrew Haley <aph@redhat.com>
459
460 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
461 * src/x86/ffi64.c (ffi_prep_closure): New.
462 (ffi_closure_UNIX64_inner): New.
463 * src/x86/unix64.S (ffi_closure_UNIX64): New.
464
c8d4fa8c 4652003-01-27 Alexandre Oliva <aoliva@redhat.com>
466
467 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
468 Remove USE_LIBDIR conditional.
469 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
470 * Makefile.in, configure: Rebuilt.
471
2dd7852c 4722003-01027 David Edelsohn <edelsohn@gnu.org>
473
474 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
475 * Makefile.in: Regenerate.
476
008eadcd 4772003-01-22 Andrew Haley <aph@redhat.com>
478
479 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
480 unwind info.
481
cb440058 4822003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
483
484 * src/powerpc/darwin.S: Add unwind info.
485 * src/powerpc/darwin_closure.S: Likewise.
486
149417bc 4872003-01-14 Andrew Haley <aph@redhat.com>
488
489 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
490 (ffi_prep_cif_machdep): Likewise.
491 * src/x86/unix64.S: Add unwind info.
492
d4dcd973 4932003-01-14 Andreas Jaeger <aj@suse.de>
494
495 * src/ffitest.c (main): Only use ffi_closures if those are
496 supported.
497
a7898d0c 4982003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
499
500 * libffi/src/ffitest.c
501 add closure testcases
502
5032003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
504
505 * libffi/src/powerpc/ffi.c
506 fix alignment bug for float (4 byte aligned iso 8 byte)
507
4e844289 5082003-01-09 Geoffrey Keating <geoffk@apple.com>
509
510 * src/powerpc/ffi_darwin.c: Remove RCS version string.
511 * src/powerpc/darwin.S: Remove RCS version string.
512
0ef3e9c5 5132003-01-03 Jeff Sturm <jsturm@one-point.com>
514
515 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
516 * src/ffitest.c (main): Use static storage for closure.
517 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
518 * src/sparc/v8.S (ffi_closure_v8): New.
519 * src/sparc/v9.S (ffi_closure_v9): New.
520
acdc3fc3 5212002-11-10 Ranjit Mathew <rmathew@hotmail.com>
522
523 * include/ffi.h.in: Added FFI_STDCALL ffi_type
524 enumeration for X86_WIN32.
525 * src/x86/win32.S: Added ffi_call_STDCALL function
526 definition.
527 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
528 switch cases for recognising FFI_STDCALL and
529 calling ffi_call_STDCALL if target is X86_WIN32.
530 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
531 stdcall versions of the "my_strlen" and "many"
532 test functions (for X86_WIN32).
533 Added test cases to test stdcall invocation using
534 these functions.
535
805e22b2 5362002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
537
538 * src/sh/sysv.S: Add DWARF2 unwind info.
539
6d219176 5402002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
541
542 * src/s390/sysv.S (.eh_frame section): Make section read-only.
543
4827afc9 5442002-11-26 Jim Wilson <wilson@redhat.com>
545
546 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
547
805e22b2 5482002-11-23 H.J. Lu <hjl@gnu.org>
549
550 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
551 Include ../config/accross.m4.
552 * aclocal.m4; Rebuild.
553 * configure: Likewise.
554
e3a04290 5552002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
556
557 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
558
be36f77d 5592002-11-11 DJ Delorie <dj@redhat.com>
560
561 * configure.in: Look for common files in the right place.
562
dd985e54 5632002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
564
565 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
566 raw data as _Jv_word values, not ffi_raw.
567 (ffi_java_ptrarray_to_raw): Likewise.
568 (ffi_java_rvalue_to_raw): New function.
569 (ffi_java_raw_call): Call it.
570 (ffi_java_raw_to_rvalue): New function.
571 (ffi_java_translate_args): Call it.
572 * src/ffitest.c (closure_test_fn): Interpret return value
573 as ffi_arg, not int.
574 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
575 FFI_TYPE_POINTER case.
576 (ffi_closure_helper_SYSV): Likewise. Also, assume return
577 values extended to word size.
578
4a18e5fa 5792002-10-02 Andreas Jaeger <aj@suse.de>
580
581 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
582
3d8ac088 5832002-10-01 Bo Thorsen <bo@smetana.suse.de>
584
585 * include/ffi.h.in: Fix i386 win32 compilation.
586
e0aaecf3 5872002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
588
589 * configure.in: Add s390x-*-linux-* target.
590 * configure: Regenerate.
591 * include/ffi.h.in: Define S390X for s390x targets.
592 (FFI_CLOSURES): Define for s390/s390x.
593 (FFI_TRAMPOLINE_SIZE): Likewise.
594 (FFI_NATIVE_RAW_API): Likewise.
595 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
596 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
805e22b2 597 * src/s390/ffi.c: Major rework of existing code. Add support for
e0aaecf3 598 s390x targets. Add closure support.
599 * src/s390/sysv.S: Likewise.
600
c3e9c301 6012002-09-29 Richard Earnshaw <rearnsha@arm.com>
602
603 * src/arm/sysv.S: Fix typo.
604
d13886be 6052002-09-28 Richard Earnshaw <rearnsha@arm.com>
606
607 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
608 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
609 (ffi_call_SYSV): Handle soft-float.
610
aaff811e 6112002-09-27 Bo Thorsen <bo@suse.de>
612
613 * include/ffi.h.in: Fix multilib x86-64 support.
614
5f7912d8 6152002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
616
617 * Makefile.am (all-multi): Fix multilib parallel build.
618
ccda5e55 6192002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
620
621 * configure.in (sh[34]*-*-linux*): Add brackets.
622 * configure: Regenerate.
623
b1e5d71d 6242002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
625
626 * Makefile.am: Add SH support.
627 * Makefile.in: Regenerate.
628 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
629 * configure: Regenerate.
630 * include/ffi.h.in: Add SH support.
631 * src/sh/ffi.c: New file.
632 * src/sh/sysv.S: New file.
633 * src/types.c: Add SH support.
634
42c71854 6352002-07-16 Bo Thorsen <bo@suse.de>
636
637 * src/x86/ffi64.c: New file that adds x86-64 support.
638 * src/x86/unix64.S: New file that handles argument setup for
639 x86-64.
640 * src/x86/sysv.S: Don't use this on x86-64.
641 * src/x86/ffi.c: Don't use this on x86-64.
642 Remove unused vars.
643 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
644 for x86-64.
645 * src/ffitest.c (struct6): New test that tests a special case in
646 the x86-64 ABI.
647 (struct7): Likewise.
648 (struct8): Likewise.
649 (struct9): Likewise.
650 (closure_test_fn): Silence warning about this when it's not used.
651 (main): Add the new tests.
652 (main): Fix a couple of wrong casts and silence some compiler warnings.
653 * include/ffi.h.in: Add x86-64 ABI definition.
654 * fficonfig.h.in: Regenerate.
655 * Makefile.am: Add x86-64 support.
656 * configure.in: Likewise.
657 * Makefile.in: Regenerate.
658 * configure: Likewise.
659
6602002-06-24 Bo Thorsen <bo@suse.de>
661
662 * src/types.c: Merge settings for similar architectures.
663 Add x86-64 sizes and alignments.
664
6652002-06-23 Bo Thorsen <bo@suse.de>
666
667 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
668 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
669 * src/mips/ffi.c (ffi_prep_args): Likewise.
670 * src/m68k/ffi.c (ffi_prep_args): Likewise.
671
72726889 6722002-07-18 H.J. Lu (hjl@gnu.org)
673
674 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
675 (libffi_la_SOURCES): Support MIPS_LINUX.
676 (libffi_convenience_la_SOURCES): Likewise.
677 * Makefile.in: Regenerated.
678
679 * configure.in (mips64*-*): Skip.
680 (mips*-*-linux*): New.
681 * configure: Regenerated.
682
683 * src/mips/ffi.c: Include <sgidefs.h>.
684
e17e640b 6852002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
686
687 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
688
b5d69d52 6892002-05-27 Roger Sayle <roger@eyesopen.com>
690
691 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
692
eadca1d5 6932002-05-27 Bo Thorsen <bo@suse.de>
694
695 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
696 fix formatting.
697
2abdadc9 6982002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
699
700 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
701 beginning of function (for older apple cc).
702
0b045cf7 7032002-05-08 Alexandre Oliva <aoliva@redhat.com>
704
705 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
706 script entry, and set LD to it when configuring multilibs.
707 * configure: Rebuilt.
708
7f0e056d 7092002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
710
711 * configure.in (sparc64-*-netbsd*): Add target.
712 (sparc-*-netbsdelf*): Likewise.
713 * configure: Regenerate.
714
b19313f4 7152002-04-28 David S. Miller <davem@redhat.com>
716
717 * configure.in, configure: Fix SPARC test in previous change.
718
ea1f83c5 7192002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
720
721 * Makefile.am: Add Linux for S/390 support.
722 * Makefile.in: Regenerate.
723 * configure.in: Add Linux for S/390 support.
724 * configure: Regenerate.
725 * include/ffi.h.in: Add Linux for S/390 support.
726 * src/s390/ffi.c: New file from libffi CVS tree.
727 * src/s390/sysv.S: New file from libffi CVS tree.
728
b40c762b 7292002-04-28 Jakub Jelinek <jakub@redhat.com>
730
731 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
732 %r_disp32().
733 * src/sparc/v8.S: Use it.
734 * src/sparc/v9.S: Likewise.
735 * fficonfig.h.in: Rebuilt.
736 * configure: Rebuilt.
737
00f87a50 7382002-04-08 Hans Boehm <Hans_Boehm@hp.com>
739
740 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
741 correctly.
742 * src/ia64/unix.S: Add unwind information. Fix comments.
743 Save sp in a way that's compatible with unwind info.
744 (ffi_call_unix): Correctly restore sp in all cases.
745 * src/ia64/ffi.c: Add, fix comments.
746
a622ae9d 7472002-04-08 Jakub Jelinek <jakub@redhat.com>
748
749 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
750
c1d86bcd 7512002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
752
753 * configure.in (alpha*-*-netbsd*): Add target.
754 * configure: Regenerate.
755
3faa4340 7562002-04-04 Jeff Sturm <jsturm@one-point.com>
757
758 * src/sparc/v8.S: Add unwind info.
759 * src/sparc/v9.S: Likewise.
760
ec66e65b 7612002-03-30 Krister Walfridsson <cato@df.lth.se>
762
763 * configure.in: Enable i*86-*-netbsdelf*.
764 * configure: Rebuilt.
805e22b2 765
9ee9948b 7662002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
767
768 PR other/2620
769 * src/mips/n32.s: Delete
770 * src/mips/o32.s: Delete
771
6c74b4f2 7722002-03-21 Loren J. Rittle <ljrittle@acm.org>
773
774 * configure.in: Enable alpha*-*-freebsd*.
775 * configure: Rebuilt.
776
9d0a2dd5 7772002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
778
779 * Makefile.am: libfficonvenience -> libffi_convenience.
780 * Makefile.in: Rebuilt.
805e22b2 781
ee7750c2 782 * Makefile.am: Define ffitest_OBJECTS.
783 * Makefile.in: Rebuilt.
9d0a2dd5 784
f6a16bd8 7852002-03-07 Andreas Tobler <toa@pop.agri.ch>
786 David Edelsohn <edelsohn@gnu.org>
787
788 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
789 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
790 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
791 * Makefile.in: Regenerate.
792 * include/ffi.h.in: Add AIX and Darwin closure definitions.
793 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
794 (flush_icache, flush_range): New functions.
795 (ffi_closure_helper_DARWIN): New function.
796 * src/powerpc/aix_closure.S: New file.
797 * src/powerpc/darwin_closure.S: New file.
805e22b2 798
fed8d18d 7992002-02-24 Jeff Sturm <jsturm@one-point.com>
800
801 * include/ffi.h.in: Add typedef for ffi_arg.
802 * src/ffitest.c (main): Declare rint with ffi_arg.
805e22b2 803
ddac7e16 8042002-02-21 Andreas Tobler <toa@pop.agri.ch>
805
806 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
807 number of GPRs for floating-point arguments.
808
ed35b400 8092002-01-31 Anthony Green <green@redhat.com>
810
811 * configure: Rebuilt.
812 * configure.in: Replace CHECK_SIZEOF and endian tests with
813 cross-compiler friendly macros.
814 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
815 macros.
816
bf270768 8172002-01-18 David Edelsohn <edelsohn@gnu.org>
818
819 * src/powerpc/darwin.S (_ffi_call_AIX): New.
dc155f85 820 * src/powerpc/aix.S (ffi_call_DARWIN): New.
bf270768 821
faae36ce 8222002-01-17 David Edelsohn <edelsohn@gnu.org>
823
824 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
825 (TARGET_SRC_POWERPC_AIX): New.
826 (POWERPC_AIX): New stanza.
827 * Makefile.in: Regenerate.
828 * configure.in: Add AIX case.
829 * configure: Regenerate.
830 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
831 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
832 size. Fix "long double" support.
833 (ffi_call): Add FFI_AIX case.
834 * src/powerpc/aix.S: New.
835
b81d6fe1 8362001-10-09 John Hornkvist <john@toastedmarshmallow.com>
837
838 Implement Darwin PowerPC ABI.
839 * configure.in: Handle powerpc-*-darwin*.
840 * Makefile.am: Set source files for POWERPC_DARWIN.
841 * configure: Rebuilt.
842 * Makefile.in: Rebuilt.
843 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
844 POWERPC_DARWIN.
845 * src/powerpc/darwin.S: New file.
846 * src/powerpc/ffi_darwin.c: New file.
847
9bccb7a3 8482001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
849
850 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
851
ac1f371e 8522001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
853
854 * src/x86/sysv.S: Avoid gas-only .balign directive.
855 Use C style comments.
856
e1e36390 8572001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
858
859 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
860 Fixes PR bootstrap/3563.
861
deb29e7a 8622001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
863
864 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
865
8008de24 8662001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
867
868 * configure.in: Recognize sparc*-sun-* host.
869 * configure: Regenerate.
805e22b2 870
5fc46419 8712001-06-06 Andrew Haley <aph@redhat.com>
872
968b0d1e 873 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5fc46419 874
49ff2ded 8752001-06-03 Andrew Haley <aph@redhat.com>
876
968b0d1e 877 * src/alpha/osf.S: Add unwind info.
878 * src/powerpc/sysv.S: Add unwind info.
879 * src/powerpc/ppc_closure.S: Likewise.
49ff2ded 880
070883fe 8812000-05-31 Jeff Sturm <jsturm@one-point.com>
882
883 * configure.in: Fix AC_ARG_ENABLE usage.
884 * configure: Rebuilt.
885
09da9506 8862001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
887
888 * configure.in: Remove warning about beta code.
889 * configure: Rebuilt.
890
8912001-04-25 Hans Boehm <Hans_Boehm@hp.com>
892
6c1b002f 893 * src/ia64/unix.S: Restore stack pointer when returning from
894 ffi_closure_UNIX.
895 * src/ia64/ffi.c: Fix typo in comment.
896
c4312026 8972001-04-18 Jim Wilson <wilson@redhat.com>
898
899 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
900 to eliminate RAW DV.
901
db6ca0af 9022001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
903
904 * Makefile.am: Make a libtool convenience library.
905 * Makefile.in: Rebuilt.
906
9461b350 9072001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
908
909 * configure.in: Use different syntax for subdirectory creation.
910 * configure: Rebuilt.
911
a4cc90ca 9122001-03-27 Jon Beniston <jon@beniston.com>
913
914 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
915 * configure: Rebuilt.
916 * Makefile.am: Added X86_WIN32 target support.
917 * Makefile.in: Rebuilt.
918
919 * include/ffi.h.in: Added X86_WIN32 target support.
920
921 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
922 * src/types.c: Added X86_WIN32 target support.
923
924 * src/x86/win32.S: New file. Based on sysv.S, but with EH
925 stuff removed and made to work with CygWin's gas.
926
21f4579d 9272001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
928
929 * configure.in: Make target subdirectory in build dir.
930 * Makefile.am: Override suffix based rules to specify correct output
931 subdirectory.
932 * Makefile.in: Rebuilt.
933 * configure: Rebuilt.
934
29183c57 9352001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
384eea1f 936
937 * src/powerpc/ppc_closure.S: New file.
938 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
939 involving long long and register pairs.
940 (ffi_prep_closure): New function.
941 (flush_icache): Likewise.
942 (ffi_closure_helper_SYSV): Likewise.
943 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
944 (FFI_TRAMPOLINE_SIZE): Likewise.
945 (FFI_NATIVE_RAW_API): Likewise.
946 * Makefile.in: Rebuilt.
947 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
948 (TARGET_SRC_POWERPC): Likewise.
949
49604b5b 9502001-03-19 Tom Tromey <tromey@redhat.com>
951
952 * Makefile.in: Rebuilt.
953 * Makefile.am (ffitest_LDFLAGS): New macro.
954
c8fdcc07 9552001-03-02 Nick Clifton <nickc@redhat.com>
956
957 * include/ffi.h.in: Remove RCS ident string.
958 * include/ffi_mips.h: Remove RCS ident string.
959 * src/debug.c: Remove RCS ident string.
960 * src/ffitest.c: Remove RCS ident string.
961 * src/prep_cif.c: Remove RCS ident string.
962 * src/types.c: Remove RCS ident string.
963 * src/alpha/ffi.c: Remove RCS ident string.
964 * src/alpha/osf.S: Remove RCS ident string.
965 * src/arm/ffi.c: Remove RCS ident string.
966 * src/arm/sysv.S: Remove RCS ident string.
967 * src/mips/ffi.c: Remove RCS ident string.
968 * src/mips/n32.S: Remove RCS ident string.
969 * src/mips/o32.S: Remove RCS ident string.
970 * src/sparc/ffi.c: Remove RCS ident string.
971 * src/sparc/v8.S: Remove RCS ident string.
972 * src/sparc/v9.S: Remove RCS ident string.
973 * src/x86/ffi.c: Remove RCS ident string.
974 * src/x86/sysv.S: Remove RCS ident string.
975
8cb0f8ea 9762001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
977
978 * include/ffi.h.in: Change sourceware.cygnus.com references to
979 gcc.gnu.org.
980
18f704a9 9812000-12-09 Richard Henderson <rth@redhat.com>
982
983 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
984 (ffi_closure_osf_inner): Index rather than increment avalue
985 and arg_types. Give ffi_closure_osf the raw return value type.
986 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
987 promotion.
988
9892000-12-07 Richard Henderson <rth@redhat.com>
fdf04128 990
991 * src/raw_api.c (ffi_translate_args): Fix typo.
992 (ffi_prep_closure): Likewise.
993
994 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
995 FFI_TRAMPOLINE_SIZE.
996 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
997 cif->bytes for new ffi_call_osf implementation.
998 (ffi_prep_args): Absorb into ...
999 (ffi_call): ... here. Do all stack allocation here and
1000 avoid a callback function.
1001 (ffi_prep_closure, ffi_closure_osf_inner): New.
1002 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1003 (ffi_closure_osf): New.
1004
652f285b 10052000-09-10 Alexandre Oliva <aoliva@redhat.com>
1006
4bfa769b 1007 * config.guess, config.sub, install-sh: Removed.
1008 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1009 * Makefile.in: Rebuilt.
1010
652f285b 1011 * acinclude.m4: Include libtool macros from the top level.
1012 * aclocal.m4, configure: Rebuilt.
1013
6f52caf7 10142000-08-22 Alexandre Oliva <aoliva@redhat.com>
1015
1016 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1017 * configure: Rebuilt.
1018
d03e800c 10192000-05-11 Scott Bambrough <scottb@netwinder.org>
1020
805e22b2 1021 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1022 memory correctly. Use conditional instructions, not branches where
d03e800c 1023 possible.
1024
f3e32e0b 10252000-05-04 Tom Tromey <tromey@cygnus.com>
1026
1027 * configure: Rebuilt.
1028 * configure.in: Match `arm*-*-linux-*'.
1029 From Chris Dornan <cdornan@arm.com>.
1030
b23e0d76 10312000-04-28 Jakub Jelinek <jakub@redhat.com>
1032
1033 * Makefile.am (SUBDIRS): Define.
1034 (AM_MAKEFLAGS): Likewise.
1035 (Multilib support.): Add section.
1036 * Makefile.in: Rebuilt.
1037 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
968b0d1e 1038 New variables. Set for gcc using -print-multi-lib. Export them
1039 to libtool.
1040 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1041 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1042 for -shared links.
1043 (extra_compiler_flags_value, extra_compiler_flags): Check these
1044 for extra compiler options which need to be passed down in
1045 compiler_flags.
b23e0d76 1046
2c9b297c 10472000-04-16 Anthony Green <green@redhat.com>
1048
1049 * configure: Rebuilt.
1050 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1051
d7a35c6c 10522000-04-14 Jakub Jelinek <jakub@redhat.com>
1053
968b0d1e 1054 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
d7a35c6c 1055 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1056 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1057 Replace all void * sizeofs with sizeof(int).
1058 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1059 different than DOUBLE.
1060 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1061 (ffi_prep_args_v9): New function.
1062 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1063 (ffi_V9_return_struct): New function.
1064 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1065 32bit code (not yet cross-arch calls).
1066 * src/sparc/v8.S: Add struct return delay nop.
1067 Handle long long.
1068 * src/sparc/v9.S: New file.
1069 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1070 is used on sparc64 only for structures larger than 32 bytes.
1071 Pass by reference for structures is done for structure arguments
1072 larger than 16 bytes.
1073 * src/ffitest.c (main): Use 64bit rint on sparc64.
1074 Run long long tests on sparc.
1075 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1076 sparc64.
1077 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1078 on sparc64.
1079 * configure.in (sparc-*-linux*): New supported target.
1080 (sparc64-*-linux*): Likewise.
1081 * configure: Rebuilt.
1082 * Makefile.am: Add v9.S to SPARC files.
1083 * Makefile.in: Likewise.
1084 (LINK): Surround $(CCLD) into double quotes, so that multilib
1085 compiles work correctly.
1086
800d12c7 10872000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1088
1089 * configure: Rebuilt.
1090 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1091 proposed by Bryce McKinlay.
1092
c44e8808 10932000-03-20 Tom Tromey <tromey@cygnus.com>
1094
1095 * Makefile.in: Hand edit for java_raw_api.lo.
1096
f764cb60 10972000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1098
1099 * config.guess, config.sub: Update from the gcc tree.
1100 Fix for PR libgcj/168.
1101
3b43a26e 11022000-03-03 Tom Tromey <tromey@cygnus.com>
1103
96215ab3 1104 * Makefile.in: Fixed ia64 by hand.
1105
3b43a26e 1106 * configure: Rebuilt.
1107 * configure.in (--enable-multilib): New option.
1108 (libffi_basedir): New subst.
1109 (AC_OUTPUT): Added multilib code.
1110
03ae52bb 11112000-03-02 Tom Tromey <tromey@cygnus.com>
1112
1113 * Makefile.in: Rebuilt.
1114 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1115 directory name.
1116
28c07da5 11172000-02-25 Hans Boehm <boehm@acm.org>
1118
1119 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1120 files.
1121 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1122 list.
1123 (ffi_prep_raw_closure): Use ffi_translate_args, not
1124 ffi_closure_translate.
1125 * src/java_raw_api.c: New file.
1126 * src/ffitest.c (closure_test_fn): New function.
1127 (main): Define `rint' as long long on IA64. Added new test when
1128 FFI_CLOSURES is defined.
1129 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1130 (ffi_abi): Recognize IA64.
1131 (ffi_raw): Added `flt' field.
1132 Added "Java raw API" code.
1133 * configure.in: Recognize ia64.
1134 * Makefile.am (TARGET_SRC_IA64): New macro.
1135 (libffi_la_common_SOURCES): Added java_raw_api.c.
1136 (libffi_la_SOURCES): Define in IA64 case.
1137
0bcdf5c5 11382000-01-04 Tom Tromey <tromey@cygnus.com>
1139
1140 * Makefile.in: Rebuilt with newer automake.
1141
e9de8c8b 11421999-12-31 Tom Tromey <tromey@cygnus.com>
1143
1144 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1145
20e58c02 11461999-09-01 Tom Tromey <tromey@cygnus.com>
1147
1148 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1149 undefs.
1150 * fficonfig.h.in: Rebuilt.
1151 * configure: Rebuilt.
1152 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1153 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1154 * acconfig.h: Don't #undef PACKAGE or VERSION.
1155
47c5fab6 11561999-08-09 Anthony Green <green@cygnus.com>
1157
1158 * include/ffi.h.in: Try to work around messy header problem
1159 with PACKAGE and VERSION.
1160
1161 * configure: Rebuilt.
1162 * configure.in: Change version to 2.00-beta.
1163
968b0d1e 1164 * fficonfig.h.in: Rebuilt.
47c5fab6 1165 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1166
1167 * src/x86/ffi.c (ffi_raw_call): Rename.
1168
11691999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1170
1171 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1172 (ffi_prep_incoming_args_SYSV): Ditto.
1173 (ffi_prep_closure): Ditto.
1174 (ffi_closure_raw_SYSV): Ditto.
1175 (ffi_prep_raw_closure): More ditto.
1176 (ffi_call_raw): Final ditto.
1177
1178 * include/ffi.h.in: Add definitions for closure and raw API.
1179
1180 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
805e22b2 1181 FFI_TYPE_UINT64.
47c5fab6 1182
1183 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1184
1185 * src/raw_api.c: New file.
1186
1187 * include/ffi.h.in (ffi_raw): New type.
1188 (UINT_ARG, SINT_ARG): New defines.
1189 (ffi_closure, ffi_raw_closure): New types.
1190 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
805e22b2 1191
47c5fab6 1192 * configure.in: Add check for endianness and sizeof void*.
1193
1194 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1195 instead of directly.
1196
1197 * configure: Rebuilt.
1198
1199Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1200
1201 * configure.in: Add x86 and powerpc BeOS configurations.
1202 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1203
12041999-05-09 Anthony Green <green@cygnus.com>
1205
1206 * configure.in: Add warning about this being beta code.
1207 Remove src/Makefile.am from the picture.
1208 * configure: Rebuilt.
1209
1210 * Makefile.am: Move logic from src/Makefile.am. Add changes
1211 to support libffi as a target library.
1212 * Makefile.in: Rebuilt.
1213
1214 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1215 Upgraded to new autoconf, automake, libtool.
1216
1217 * README: Tweaks.
1218
1219 * LICENSE: Update copyright date.
1220
1221 * src/Makefile.am, src/Makefile.in: Removed.
1222
12231998-11-29 Anthony Green <green@cygnus.com>
1224
1225 * include/ChangeLog: Removed.
1226 * src/ChangeLog: Removed.
1227 * src/mips/ChangeLog: Removed.
1228 * src/sparc/ChangeLog: Remboved.
1229 * src/x86/ChangeLog: Removed.
1230
1231 * ChangeLog.v1: Created.