OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libffi/] [ChangeLog] - Blame information for rev 20

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 jlechner
2006-05-24  Release Manager
2
 
3
        * GCC 4.1.1 released.
4
 
5
2006-04-10  Matthias Klose  
6
 
7
        * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
8
        directory names containing underscores.
9
 
10
2006-02-28  Release Manager
11
 
12
        * GCC 4.1.0 released.
13
 
14
2006-01-18  Jakub Jelinek  
15
 
16
        * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
17
        instead do the shifting inline.
18
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
19
        shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
20
        and 8 byte structs, for the remaining struct sizes don't call
21
        __lshrdi3, instead do the shifting inline.
22
 
23
2005-12-07  Thiemo Seufer  
24
 
25
        * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
26
        missing parentheses.
27
        * src/mips/o32.S (ffi_call_O32): Code formatting. Define
28
        and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
29
        (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
30
        A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
31
        V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
32
        FA_0_0_OFF2.
33
        * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
34
        endianness bugs.
35
        (ffi_prep_closure): Improve trampoline instruction scheduling.
36
        (ffi_closure_mips_inner_O32): Fix endianness bugs.
37
 
38
2005-09-30  Geoffrey Keating  
39
 
40
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
41
        darwin, use -shared-libgcc not -lgcc_s, and explain why.
42
 
43
2005-09-26  Tom Tromey  
44
 
45
        * testsuite/libffi.call/float1.c (value_type): New typedef.
46
        (CANARY): New define.
47
        (main): Check for result buffer overflow.
48
        * src/powerpc/linux64.S: Handle linux64 long double returns.
49
        * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
50
        (ffi_prep_cif_machdep): Handle linux64 long double returns.
51
 
52
2005-08-25  Alan Modra  
53
 
54
        PR target/23404
55
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
56
        homed fp args.
57
        (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
58
 
59
2005-08-11  Jakub Jelinek  
60
 
61
        * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
62
        (AH_BOTTOM): Add FFI_HIDDEN definition.
63
        * configure: Rebuilt.
64
        * fficonfig.h.in: Rebuilt.
65
        * src/powerpc/ffi.c (hidden): Remove.
66
        (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
67
        ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
68
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
69
        .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
70
        * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
71
        add FFI_HIDDEN to its prototype.
72
        (ffi_closure_SYSV_inner): New.
73
        * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
74
        * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
75
 
76
2005-08-10  Alfred M. Szmidt  
77
 
78
        PR libffi/21819:
79
        * configure: Rebuilt.
80
        * configure.ac: Handle i*86-*-gnu*.
81
 
82
2005-08-09  Jakub Jelinek  
83
 
84
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
85
        DW_CFA_offset_extended_sf rather than
86
        DW_CFA_GNU_negative_offset_extended.
87
        * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
88
 
89
2005-07-22  SUGIOKA Toshinobu  
90
 
91
        * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
92
        on sh3.
93
        (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
94
        * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
95
        partially on register.
96
        (ffi_closure_helper_SYSV): Likewise.
97
        (ffi_prep_cif_machdep): Don't set too many cif->flags.
98
 
99
2005-07-20  Kaz Kojima  
100
 
101
        * src/sh/ffi.c (ffi_call): Handle small structures correctly.
102
        Remove empty line.
103
        * src/sh64/ffi.c (simple_type): Remove.
104
        (return_type): Handle small structures correctly.
105
        (ffi_prep_args): Likewise.
106
        (ffi_call): Likewise.
107
        (ffi_closure_helper_SYSV): Likewise.
108
        * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
109
        Emit position independent code if PIC and remove wrong datalabel
110
        prefixes from EH data.
111
 
112
2005-07-19  Andreas Tobler  
113
 
114
        * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
115
        * Makefile.in: Regenerate.
116
        * include/Makefile.in: Likewise.
117
        * testsuite/Makefile.in: Likewise.
118
        * configure.ac: Add POWERPC_FREEBSD rules.
119
        * configure: Regenerate.
120
        * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
121
        (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
122
        * src/powerpc/ffi.c: Add flags to handle small structure returns
123
        in ffi_call_SYSV.
124
        (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
125
        Aka FFI_SYSV.
126
        (ffi_closure_helper_SYSV): Likewise.
127
        * src/powerpc/ppc_closure.S: Add return types for small structures.
128
        * src/powerpc/sysv.S: Add bits to handle small structures for
129
        final SYSV 4 ABI.
130
 
131
2005-07-10  Andreas Tobler  
132
 
133
        * testsuite/libffi.call/cls_5_1_byte.c: New test file.
134
        * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
135
        * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
136
 
137
2005-07-05  Randolph Chung  
138
 
139
        * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
140
        as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
141
        structures.  Kill compilation warnings.
142
        (ffi_closure_inner_LINUX): Print return values as hex in debug
143
        message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
144
        Properly handle 5-7 byte structure returns.
145
        * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
146
        (FFI_TYPE_SMALL_STRUCT2): Remove.
147
        (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
148
        (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
149
        * src/pa/linux.S: Mark source file as using PA1.1 assembly.
150
        (checksmst1, checksmst2): Remove.
151
        (checksmst3): Optimize handling of 3-byte struct returns.
152
        (checksmst567): Properly handle 5-7 byte struct returns.
153
 
154
2005-06-15  Rainer Orth  
155
 
156
        PR libgcj/21943
157
        * src/mips/n32.S: Enforce PIC code.
158
        * src/mips/o32.S: Likewise.
159
 
160
2005-06-15  Rainer Orth  
161
 
162
        * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
163
        * configure: Regenerate.
164
 
165
2005-06-01  Alan Modra  
166
 
167
        * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
168
        to call ffi_closure_helper_SYSV.  Append @local instead.
169
        * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
170
 
171
2005-05-17  Kelley Cook  
172
 
173
        * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
174
        Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
175
        * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
176
        * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
177
        include/Makefile.in, testsuite/Makefile.in: Regenerate.
178
 
179
2005-05-09  Mike Stump  
180
 
181
        * configure: Regenerate.
182
 
183
2005-05-08  Richard Henderson  
184
 
185
        PR libffi/21285
186
        * src/alpha/osf.S: Update unwind into to match code.
187
 
188
2005-05-04  Andreas Degert 
189
            Richard Henderson  
190
 
191
        * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
192
        bit 11 of flags.
193
        (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
194
        (ffi_prep_closure): Set carry bit if sse-used flag set.
195
        * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
196
        Only load sse registers if ssecount non-zero.
197
        (ffi_closure_unix64): Only save sse registers if carry set on entry.
198
 
199
2005-04-29  Ralf Corsepius  
200
 
201
        * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
202
        powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
203
        * configure: Regenerate.
204
 
205
2005-04-20  Hans-Peter Nilsson  
206
 
207
        * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
208
        have Tcl8.3-compatible intermediate variable.
209
 
210
2005-04-18  Simon Posnjak 
211
            Hans-Peter Nilsson  
212
 
213
        * Makefile.am: Add CRIS support.
214
        * configure.ac: Likewise.
215
        * Makefile.in, configure, testsuite/Makefile.in,
216
        include/Makefile.in: Regenerate.
217
        * src/cris: New directory.
218
        * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
219
        * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
220
 
221
        * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
222
        \r?\n in output tests.
223
 
224
2005-04-12  Mike Stump  
225
 
226
        * configure: Regenerate.
227
 
228
2005-03-30  Hans Boehm  
229
 
230
        * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
231
 
232
2005-03-30  Steve Ellcey  
233
 
234
        * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
235
        (ffi_sarg) Ditto.
236
        * src/ia64/unix.S (ffi_closure_unix): Extend gp
237
        to 64 bits in ILP32 mode.
238
        Load 64 bits even for short data.
239
 
240
2005-03-23  Mike Stump  
241
 
242
        * src/powerpc/darwin.S: Update for -m64 multilib.
243
        * src/powerpc/darwin_closure.S: Likewise.
244
 
245
2005-03-21  Zack Weinberg  
246
 
247
        * configure.ac: Do not invoke TL_AC_GCC_VERSION.
248
        Do not set tool_include_dir.
249
        * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
250
        Regenerate.
251
        * include/Makefile.am: Set gcc_version and toollibffidir.
252
        * include/Makefile.in: Regenerate.
253
 
254
2005-02-22  Andrew Haley  
255
 
256
        * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
257
        odd-numbered register pairs for 64-bit integer types.
258
 
259
2005-02-23  Andreas Tobler  
260
 
261
        PR libffi/20104
262
        * testsuite/libffi.call/return_ll1.c: New test case.
263
 
264
2005-02-11  Janis Johnson  
265
 
266
        * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
267
        * testsuite/libffi.call/float.c: Ditto.
268
        * testsuite/libffi.call/float2.c: Ditto.
269
        * testsuite/libffi.call/float3.c: Ditto.
270
 
271
2005-02-08  Andreas Tobler  
272
 
273
        * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
274
 
275
2005-01-12  Eric Botcazou  
276
 
277
        * testsuite/libffi.special/special.exp (cxx_options): Add
278
        -shared-libgcc.
279
 
280
2004-12-31  Richard Henderson  
281
 
282
        * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
283
        (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
284
        offset parameters with a type parameter; deduce size and structure
285
        alignment.  Update all users.
286
 
287
2004-12-31  Richard Henderson  
288
 
289
        * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
290
        (FFI_TYPE_LONGDOUBLE): Fix for ia64.
291
        * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
292
        into ffi_prep_closure.
293
        * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
294
        from scratch.
295
 
296
2004-12-27  Richard Henderson  
297
 
298
        * src/x86/unix64.S: Fix typo in unwind info.
299
 
300
2004-12-25  Richard Henderson  
301
 
302
        * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
303
        (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
304
        (merge_classes): Check for it.
305
        (SSE_CLASS_P): New.
306
        (classify_argument): Pass byte_offset by value; perform all updates
307
        inside struct case.
308
        (examine_argument): Add classes argument; handle
309
        X86_64_COMPLEX_X87_CLASS.
310
        (ffi_prep_args): Merge into ...
311
        (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
312
        (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
313
        (ffi_fill_return_value): Remove.
314
        (ffi_prep_closure): Remove dead assert.
315
        (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
316
        Rewrite to use struct register_args instead of va_list.  Create
317
        flags for handling structure returns.
318
        * src/x86/unix64.S: Remove dead strings.
319
        (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
320
        stack frame with ffi_call.  Handle structure returns properly.
321
        (float2sse, floatfloat2sse, double2sse): Remove.
322
        (sse2float, sse2double, sse2floatfloat): Remove.
323
        (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
324
        to handle structure returns properly.
325
 
326
2004-12-08  David Edelsohn  
327
 
328
        * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
329
        PICFLAG.
330
        * Makefile.in: Regenerated.
331
 
332
2004-12-02  Richard Sandiford  
333
 
334
        * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
335
        * configure, aclocal.m4, Makefile.in: Regenerate.
336
        * include/Makefile.in, testsuite/Makefile.in: Regenerate.
337
 
338
2004-11-29  Kelley Cook  
339
 
340
        * configure: Regenerate for libtool change.
341
 
342
2004-11-25  Kelley Cook  
343
 
344
        * configure: Regenerate for libtool reversion.
345
 
346
2004-11-24  Kelley Cook  
347
 
348
        * configure: Regenerate for libtool change.
349
 
350
2004-11-23  John David Anglin  
351
 
352
        * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
353
 
354
2004-11-23  Richard Sandiford  
355
 
356
        * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
357
        of jal.  Use an absolute encoding for the frame information.
358
 
359
2004-11-23  Kelley Cook  
360
 
361
        * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
362
        * acinclude.m4: Delete logic for sincludes.
363
        * aclocal.m4, Makefile.in, configure: Regenerate.
364
        * include/Makefile: Likewise.
365
        * testsuite/Makefile: Likewise.
366
 
367
2004-11-22  Eric Botcazou  
368
 
369
        * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
370
        on a 8-byte boundary.
371
        * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
372
 
373
2004-10-27  Richard Earnshaw  
374
 
375
        * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
376
        long long values.  Round stack allocation to a multiple of 8 bytes
377
        for ATPCS compatibility.
378
        * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
379
        names.  Handle returning long long types.  Add Thumb and interworking
380
        support.  Improve soft-float code.
381
 
382
2004-10-27  Richard Earnshaw  
383
 
384
        * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
385
        (libffi_exit): New function.
386
        (libffi_init): Build the testglue wrapper if needed.
387
 
388
2004-10-25  Eric Botcazou  
389
 
390
        PR other/18138
391
        * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
392
 
393
2004-10-25  Kazuhiro Inaoka 
394
 
395
        * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
396
 
397
2004-10-20  Kaz Kojima  
398
 
399
        * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
400
        * testsuite/libffi.call/float3.c: New test case.
401
 
402
2004-10-18  Kaz Kojima  
403
 
404
        * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
405
        the function returning a structure pointed with R2.
406
        * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
407
        the structure return value if T bit set.  Emit position
408
        independent code and EH data if PIC.
409
 
410
2004-10-13  Kazuhiro Inaoka  
411
 
412
        * Makefile.am: Add m32r support.
413
        * configure.ac: Likewise.
414
        * Makefile.in: Regenerate.
415
        * confiugre: Regenerate.
416
        * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
417
        (uint64, sint64, double, longdouble)
418
        * src/m32r: New directory.
419
        * src/m32r/ffi.c: New file.
420
        * src/m32r/sysv.S: Likewise.
421
        * src/m32r/ffitarget.h: Likewise.
422
 
423
2004-10-02  Kaz Kojima  
424
 
425
        * testsuite/libffi.call/negint.c: New test case.
426
 
427
2004-09-14  H.J. Lu  
428
 
429
        PR libgcj/17465
430
        * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
431
        Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
432
        LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
433
        DYLD_LIBRARY_PATH.
434
 
435
2004-09-05  Andreas Tobler  
436
 
437
        * testsuite/libffi.call/many_win32.c: Remove whitespaces.
438
        * testsuite/libffi.call/promotion.c: Likewise.
439
        * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
440
        whitespaces.
441
        * testsuite/libffi.call/return_sc.c: Likewise.
442
        * testsuite/libffi.call/return_uc.c: Likewise.
443
 
444
2004-09-05  Andreas Tobler  
445
 
446
        * src/powerpc/darwin.S: Fix comments and identation.
447
        * src/powerpc/darwin_closure.S: Likewise.
448
 
449
2004-09-02  Andreas Tobler  
450
 
451
        * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
452
        (ffi_prep_args): Handle longdouble arguments.
453
        (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
454
        longdouble.
455
        (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
456
        * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
457
        values.
458
        * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
459
        * src/types.c: Defined longdouble size and alignment for darwin.
460
 
461
2004-09-02  Andreas Tobler  
462
 
463
        * src/powerpc/aix.S: Remove whitespaces.
464
        * src/powerpc/aix_closure.S: Likewise.
465
        * src/powerpc/asm.h: Likewise.
466
        * src/powerpc/ffi.c: Likewise.
467
        * src/powerpc/ffitarget.h: Likewise.
468
        * src/powerpc/linux64.S: Likewise.
469
        * src/powerpc/linux64_closure.S: Likewise.
470
        * src/powerpc/ppc_closure.S: Likewise.
471
        * src/powerpc/sysv.S: Likewise.
472
 
473
2004-08-30  Anthony Green  
474
 
475
        * Makefile.am: Add frv support.
476
        * Makefile.in, testsuite/Makefile.in: Rebuilt.
477
        * configure.ac: Read configure.host.
478
        * configure.in: Read configure.host.
479
        * configure.host: New file.  frv-elf needs libgloss.
480
        * include/ffi.h.in: Force ffi_closure to have a nice big (8)
481
        alignment.  This is needed to frv and shouldn't harm the others.
482
        * include/ffi_common.h (ALIGN_DOWN): New macro.
483
        * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
484
 
485
2004-08-24  David Daney  
486
 
487
        * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
488
        * testsuite/libffi.call/closure_fn1.c: Likewise.
489
        * testsuite/libffi.call/closure_fn2.c  Likewise.
490
        * testsuite/libffi.call/closure_fn3.c: Likewise.
491
        * testsuite/libffi.call/closure_fn4.c: Likewise.
492
        * testsuite/libffi.call/closure_fn5.c: Likewise.
493
        * testsuite/libffi.call/cls_18byte.c: Likewise.
494
        * testsuite/libffi.call/cls_19byte.c: Likewise.
495
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
496
        * testsuite/libffi.call/cls_20byte.c: Likewise.
497
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
498
        * testsuite/libffi.call/cls_24byte.c: Likewise.
499
        * testsuite/libffi.call/cls_2byte.c: Likewise.
500
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
501
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
502
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
503
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
504
        * testsuite/libffi.call/cls_4byte.c: Likewise.
505
        * testsuite/libffi.call/cls_64byte.c: Likewise.
506
        * testsuite/libffi.call/cls_6byte.c: Likewise.
507
        * testsuite/libffi.call/cls_7byte.c: Likewise.
508
        * testsuite/libffi.call/cls_8byte.c: Likewise.
509
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
510
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
511
        * testsuite/libffi.call/cls_align_double.c: Likewise.
512
        * testsuite/libffi.call/cls_align_float.c: Likewise.
513
        * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
514
        * testsuite/libffi.call/cls_align_pointer.c: Likewise.
515
        * testsuite/libffi.call/cls_align_sint16.c: Likewise.
516
        * testsuite/libffi.call/cls_align_sint32.c: Likewise.
517
        * testsuite/libffi.call/cls_align_sint64.c: Likewise.
518
        * testsuite/libffi.call/cls_align_uint16.c: Likewise.
519
        * testsuite/libffi.call/cls_align_uint32.c: Likewise.
520
        * testsuite/libffi.call/cls_align_uint64.c: Likewise.
521
        * testsuite/libffi.call/cls_double.c: Likewise.
522
        * testsuite/libffi.call/cls_float.c: Likewise.
523
        * testsuite/libffi.call/cls_multi_schar.c: Likewise.
524
        * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
525
        * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
526
        * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
527
        * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
528
        * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
529
        * testsuite/libffi.call/cls_schar.c: Likewise.
530
        * testsuite/libffi.call/cls_sint.c: Likewise.
531
        * testsuite/libffi.call/cls_sshort.c: Likewise.
532
        * testsuite/libffi.call/cls_uchar.c: Likewise.
533
        * testsuite/libffi.call/cls_uint.c: Likewise.
534
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
535
        * testsuite/libffi.call/cls_ushort.c: Likewise.
536
        * testsuite/libffi.call/nested_struct.c: Likewise.
537
        * testsuite/libffi.call/nested_struct1.c: Likewise.
538
        * testsuite/libffi.call/nested_struct2.c: Likewise.
539
        * testsuite/libffi.call/nested_struct3.c: Likewise.
540
        * testsuite/libffi.call/problem1.c: Likewise.
541
        * testsuite/libffi.special/unwindtest.cc: Likewise.
542
        * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
543
        to zero.
544
        * testsuite/libffi.call/cls_16byte.c: Likewise.
545
        * testsuite/libffi.call/cls_5byte.c: Likewise.
546
 
547
2004-08-23  David Daney 
548
 
549
        PR libgcj/13141
550
        * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
551
        * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
552
        (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
553
        parameters and return types.
554
        (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
555
        (ffi_prep_closure): Ditto.
556
        (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
557
        alignment calculations.
558
        * src/mips/o32.S (ffi_closure_O32): Don't use floating point
559
        instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
560
 
561
2004-08-14  Casey Marshall 
562
 
563
        * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
564
        contain `FFI_TYPE_UINT64' as return type for any 64-bit
565
        integer (O32 ABI only).
566
        (ffi_prep_closure): new function.
567
        (ffi_closure_mips_inner_O32): new function.
568
        * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
569
        `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
570
        * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
571
        64 bit integers correctly.
572
        (ffi_closure_O32): new function.
573
        Added DWARF-2 unwind info for both functions.
574
 
575
2004-08-10  Andrew Haley  
576
 
577
        * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
578
 
579
2004-08-01  Robert Millan  
580
 
581
        * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
582
        * configure: Regenerate.
583
 
584
2004-07-30  Maciej W. Rozycki  
585
 
586
        * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for 
587
        and mmap() explicitly instead of relying on preset autoconf cache
588
        variables.
589
        * aclocal.m4: Regenerate.
590
        * configure: Regenerate.
591
 
592
2004-07-11  Ulrich Weigand  
593
 
594
        * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
595
        (ffi_check_float_struct): Remove unused prototype.
596
 
597
2004-06-30  Geoffrey Keating  
598
 
599
        * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
600
        character on Darwin, use '\n\t' instead.
601
 
602
2004-06-26  Matthias Klose  
603
 
604
        * libtool-version: Fix typo in revision/age.
605
 
606
2004-06-17  Matthias Klose  
607
 
608
        * libtool-version: New.
609
        * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
610
        * Makefile.in: Regenerate.
611
 
612
2004-06-15  Paolo Bonzini  
613
 
614
        * Makefile.am: Remove useless multilib rules.
615
        * Makefile.in: Regenerate.
616
        * aclocal.m4: Regenerate with automake 1.8.5.
617
        * configure.ac: Remove useless multilib configury.
618
        * configure: Regenerate.
619
 
620
2004-06-15  Paolo Bonzini  
621
 
622
        * .cvsignore: New file.
623
 
624
2004-06-10  Jakub Jelinek  
625
 
626
        * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
627
        fp_done.
628
        (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
629
        changed from 8.
630
 
631
2004-06-06  Sean McNeil  
632
 
633
        * configure.ac: Add x86_64-*-freebsd* support.
634
        * configure: Regenerate.
635
 
636
2004-04-26  Joe Buck 
637
 
638
        Bug 15093
639
        * configure.ac: Test for existence of mmap and sys/mman.h before
640
        checking blacklist.  Fix suggested by Jim Wilson.
641
        * configure: Regenerate.
642
 
643
2004-04-26  Matt Austern  
644
 
645
        * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
646
        FDE location.
647
        * src/powerpc/darwin_closure.S: Likewise.
648
 
649
2004-04-24  Andreas Tobler  
650
 
651
        * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
652
        error. Reported by Thomas Heller .
653
        * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
654
        * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
655
 
656
2004-03-20  Matthias Klose  
657
 
658
        * src/pa/linux.S: Fix typo.
659
 
660
2004-03-19  Matthias Klose  
661
 
662
        * Makefile.am: Update.
663
        * Makefile.in: Regenerate.
664
        * src/pa/ffi.h.in: Remove.
665
        * src/pa/ffitarget.h: New file.
666
 
667
2004-02-10  Randolph Chung  
668
 
669
        * Makefile.am: Add PA support.
670
        * Makefile.in: Regenerate.
671
        * include/Makefile.in: Regenerate.
672
        * configure.ac: Add PA target.
673
        * configure: Regenerate.
674
        * src/pa/ffi.c: New file.
675
        * src/pa/ffi.h.in: Add PA support.
676
        * src/pa/linux.S: New file.
677
        * prep_cif.c: Add PA support.
678
 
679
2004-03-16  Hosaka Yuji  
680
 
681
        * src/types.c: Fix alignment size of X86_WIN32 case int64 and
682
        double.
683
        * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
684
        with ecif->cif->flags.
685
        (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
686
        with cif->flags.
687
        (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
688
        (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
689
        * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
690
        sc_retstruct2b): Add for 1 or 2-bytes struct case.
691
 
692
2004-03-15 Kelley Cook 
693
 
694
        * configure.in: Rename file to ...
695
        * configure.ac: ... this.
696
        * fficonfig.h.in: Regenerate.
697
        * Makefile.in: Regenerate.
698
        * include/Makefile.in: Regenerate.
699
        * testsuite/Makefile.in: Regenerate.
700
 
701
2004-03-12  Matt Austern  
702
 
703
        * src/powerpc/darwin.S: Fix EH information so it corresponds to
704
        changes in EH format resulting from addition of linkonce support.
705
        * src/powerpc/darwin_closure.S: Likewise.
706
 
707
2004-03-11  Andreas Tobler  
708
            Paolo Bonzini  
709
 
710
        * Makefile.am (AUTOMAKE_OPTIONS): Set them.
711
        Remove VPATH. Remove rules for object files. Remove multilib support.
712
        (AM_CCASFLAGS): Add.
713
        * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
714
        (AC_PREREQ): Bump version to 2.59.
715
        (AC_INIT): Fill with version info and bug address.
716
        (ORIGINAL_LD_FOR_MULTILIBS): Remove.
717
        (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
718
        De-precious CC so that the right flags are passed down to multilibs.
719
        (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
720
        (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
721
        (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
722
        * configure: Rebuilt.
723
        * aclocal.m4: Likewise.
724
        * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
725
        * fficonfig.h.in: Likewise.
726
 
727
2004-03-11  Andreas Schwab  
728
 
729
        * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
730
        arguments from fp registers only for the first 8 parameter slots.
731
        Don't convert a float parameter when passed in memory.
732
 
733
2004-03-09  Hans-Peter Nilsson  
734
 
735
        * configure: Regenerate for config/accross.m4 correction.
736
 
737
2004-02-25  Matt Kraai  
738
 
739
        * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
740
        ecif->cif->bytes to bytes.
741
        (ffi_prep_cif_machdep): Add braces around nested if statement.
742
 
743
2004-02-09  Alan Modra  
744
 
745
        * src/types.c (pointer): POWERPC64 has 8 byte pointers.
746
 
747
        * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
748
        (ffi_closure_helper_LINUX64): Fix typo.
749
        * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
750
        for powerpc64-*-*.
751
        * testsuite/libffi.call/float.c: Likewise.
752
        * testsuite/libffi.call/float2.c: Likewise.
753
 
754
2004-02-08  Alan Modra  
755
 
756
        * src/powerpc/ffi.c (ffi_prep_cif_machdep ): Correct
757
        long double function return and long double arg handling.
758
        (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
759
        Use "end_pfr" instead of "nf".  Correct long double handling.
760
        Localise "temp".
761
        * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
762
        return value.
763
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
764
        space for long double return value.  Adjust stack frame and offsets.
765
        Load f2 long double return.
766
 
767
2004-02-07  Alan Modra  
768
 
769
        * src/types.c: Use 16 byte long double for POWERPC64.
770
 
771
2004-01-25  Eric Botcazou  
772
 
773
        * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
774
        when the structure return address is passed in %o0.
775
        (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
776
        (ffi_v9_layout_struct): Align the field following a nested structure
777
        on a word boundary.  Use memmove instead of memcpy.
778
        (ffi_call): Update call to ffi_V9_return_struct.
779
        (ffi_prep_closure): Define 'ctx' only for V8.
780
        (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
781
        and ffi_closure_sparc_inner_v9.
782
        (ffi_closure_sparc_inner_v8): Return long doubles by reference.
783
        Always skip the structure return address.  For structures and long
784
        doubles, copy the argument directly.
785
        (ffi_closure_sparc_inner_v9): Skip the structure return address only
786
        if required.  Shift the maximum floating-point slot accordingly.  For
787
        big structures, copy the argument directly; otherwise, left-justify the
788
        argument and call ffi_v9_layout_struct to lay out the structure on
789
        the stack.
790
        * src/sparc/v8.S: Undef STACKFRAME before defining it.
791
        (ffi_closure_v8): Pass the structure return address.  Update call to
792
        ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
793
        Skip the 'unimp' insn when returning long doubles and structures.
794
        * src/sparc/v9.S: Undef STACKFRAME before defining it.
795
        (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
796
        FFI_TYPE_INT handling.  Load structures both in integers and
797
        floating-point registers on return.
798
        * README: Update status of the SPARC port.
799
 
800
2004-01-24  Andreas Tobler  
801
 
802
        * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
803
        as of type ffi_arg.
804
        * testsuite/libffi.call/struct3.c (main): Fix CHECK.
805
 
806
2004-01-22  Ulrich Weigand  
807
 
808
        * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
809
        value as of type ffi_arg, not unsigned int.
810
 
811
2004-01-21  Michael Ritzert  
812
 
813
        * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
814
        of the LHS.
815
 
816
2004-01-12  Andreas Tobler  
817
 
818
        * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
819
        Solaris.
820
 
821
2004-01-08  Rainer Orth  
822
 
823
        * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
824
        to void *.
825
 
826
2003-12-10  Richard Henderson  
827
 
828
        * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
829
        size_t instead of int.
830
 
831
2003-12-04  Hosaka Yuji  
832
 
833
        * testsuite/libffi.call/many_win32.c: Include .
834
        * testsuite/libffi.call/many_win32.c (main): Replace variable
835
        int i with unsigned long ul.
836
 
837
        * testsuite/libffi.call/cls_align_uint64.c: New test case.
838
        * testsuite/libffi.call/cls_align_sint64.c: Likewise.
839
        * testsuite/libffi.call/cls_align_uint32.c: Likewise.
840
        * testsuite/libffi.call/cls_align_sint32.c: Likewise.
841
        * testsuite/libffi.call/cls_align_uint16.c: Likewise.
842
        * testsuite/libffi.call/cls_align_sint16.c: Likewise.
843
        * testsuite/libffi.call/cls_align_float.c: Likewise.
844
        * testsuite/libffi.call/cls_align_double.c: Likewise.
845
        * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
846
        * testsuite/libffi.call/cls_align_pointer.c: Likewise.
847
 
848
2003-12-02  Hosaka Yuji  
849
 
850
        PR other/13221
851
        * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
852
        Align arguments to 32 bits.
853
 
854
2003-12-01  Andreas Tobler  
855
 
856
        PR other/13221
857
        * testsuite/libffi.call/cls_multi_sshort.c: New test case.
858
        * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
859
        * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
860
        * testsuite/libffi.call/cls_multi_schar.c: Likewise.
861
        * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
862
        * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
863
 
864
        * testsuite/libffi.special/unwindtest.cc: Cosmetics.
865
 
866
2003-11-26  Kaveh R. Ghazi  
867
 
868
        * testsuite/libffi.call/ffitest.h: Include .
869
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
870
 
871
2003-11-22  Andreas Tobler  
872
 
873
        * Makefile.in: Rebuilt.
874
        * configure: Likewise.
875
        * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
876
        the right type.
877
 
878
2003-11-21  Andreas Jaeger  
879
            Andreas Tobler  
880
 
881
        * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
882
        * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
883
        * Makefile.in: Rebuilt.
884
        * aclocal.m4: Likewise.
885
        * configure: Likewise.
886
        * fficonfig.h.in: Likewise.
887
        * testsuite/lib/libffi-dg.exp: Add include dir.
888
        * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
889
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
890
        * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
891
        for ffi_closure if available.
892
        * testsuite/libffi.call/closure_fn1.c: Likewise.
893
        * testsuite/libffi.call/closure_fn2.c: Likewise.
894
        * testsuite/libffi.call/closure_fn3.c: Likewise.
895
        * testsuite/libffi.call/closure_fn4.c: Likewise.
896
        * testsuite/libffi.call/closure_fn5.c: Likewise.
897
        * testsuite/libffi.call/cls_12byte.c: Likewise.
898
        * testsuite/libffi.call/cls_16byte.c: Likewise.
899
        * testsuite/libffi.call/cls_18byte.c: Likewise.
900
        * testsuite/libffi.call/cls_19byte.c: Likewise.
901
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
902
        * testsuite/libffi.call/cls_20byte.c: Likewise.
903
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
904
        * testsuite/libffi.call/cls_24byte.c: Likewise.
905
        * testsuite/libffi.call/cls_2byte.c: Likewise.
906
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
907
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
908
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
909
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
910
        * testsuite/libffi.call/cls_4byte.c: Likewise.
911
        * testsuite/libffi.call/cls_5byte.c: Likewise.
912
        * testsuite/libffi.call/cls_64byte.c: Likewise.
913
        * testsuite/libffi.call/cls_6byte.c: Likewise.
914
        * testsuite/libffi.call/cls_7byte.c: Likewise.
915
        * testsuite/libffi.call/cls_8byte.c: Likewise.
916
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
917
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
918
        * testsuite/libffi.call/cls_double.c: Likewise.
919
        * testsuite/libffi.call/cls_float.c: Likewise.
920
        * testsuite/libffi.call/cls_schar.c: Likewise.
921
        * testsuite/libffi.call/cls_sint.c: Likewise.
922
        * testsuite/libffi.call/cls_sshort.c: Likewise.
923
        * testsuite/libffi.call/cls_uchar.c: Likewise.
924
        * testsuite/libffi.call/cls_uint.c: Likewise.
925
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
926
        * testsuite/libffi.call/cls_ushort.c: Likewise.
927
        * testsuite/libffi.call/nested_struct.c: Likewise.
928
        * testsuite/libffi.call/nested_struct1.c: Likewise.
929
        * testsuite/libffi.call/nested_struct2.c: Likewise.
930
        * testsuite/libffi.call/nested_struct3.c: Likewise.
931
        * testsuite/libffi.call/problem1.c: Likewise.
932
        * testsuite/libffi.special/unwindtest.cc: Likewise.
933
 
934
2003-11-20  Andreas Tobler  
935
 
936
        * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
937
 
938
2003-11-19  Andreas Tobler  
939
 
940
        * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
941
        Add -lgcc_s to additional flags.
942
 
943
2003-11-12  Andreas Tobler  
944
 
945
        * configure.in, include/Makefile.am: PR libgcj/11147, install
946
        the ffitarget.h header file in a gcc versioned and target
947
        dependent place.
948
        * configure: Regenerated.
949
        * Makefile.in, include/Makefile.in: Likewise.
950
        * testsuite/Makefile.in: Likewise.
951
 
952
2003-11-09  Andreas Tobler  
953
 
954
        * testsuite/libffi.call/closure_fn0.c: Print result and check
955
        with dg-output to make debugging easier.
956
        * testsuite/libffi.call/closure_fn1.c: Likewise.
957
        * testsuite/libffi.call/closure_fn2.c: Likewise.
958
        * testsuite/libffi.call/closure_fn3.c: Likewise.
959
        * testsuite/libffi.call/closure_fn4.c: Likewise.
960
        * testsuite/libffi.call/closure_fn5.c: Likewise.
961
        * testsuite/libffi.call/cls_12byte.c: Likewise.
962
        * testsuite/libffi.call/cls_16byte.c: Likewise.
963
        * testsuite/libffi.call/cls_18byte.c: Likewise.
964
        * testsuite/libffi.call/cls_19byte.c: Likewise.
965
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
966
        * testsuite/libffi.call/cls_20byte.c: Likewise.
967
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
968
        * testsuite/libffi.call/cls_24byte.c: Likewise.
969
        * testsuite/libffi.call/cls_2byte.c: Likewise.
970
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
971
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
972
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
973
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
974
        * testsuite/libffi.call/cls_4byte.c: Likewise.
975
        * testsuite/libffi.call/cls_5byte.c: Likewise.
976
        * testsuite/libffi.call/cls_64byte.c: Likewise.
977
        * testsuite/libffi.call/cls_6byte.c: Likewise.
978
        * testsuite/libffi.call/cls_7byte.c: Likewise.
979
        * testsuite/libffi.call/cls_8byte.c: Likewise.
980
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
981
        * testsuite/libffi.call/cls_9byte2.c: Likewise.
982
        * testsuite/libffi.call/cls_double.c: Likewise.
983
        * testsuite/libffi.call/cls_float.c: Likewise.
984
        * testsuite/libffi.call/cls_schar.c: Likewise.
985
        * testsuite/libffi.call/cls_sint.c: Likewise.
986
        * testsuite/libffi.call/cls_sshort.c: Likewise.
987
        * testsuite/libffi.call/cls_uchar.c: Likewise.
988
        * testsuite/libffi.call/cls_uint.c: Likewise.
989
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
990
        * testsuite/libffi.call/cls_ushort.c: Likewise.
991
        * testsuite/libffi.call/problem1.c: Likewise.
992
 
993
        * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
994
        static.
995
 
996
2003-11-08  Andreas Tobler  
997
 
998
        * testsuite/libffi.call/cls_9byte2.c: New test case.
999
        * testsuite/libffi.call/cls_9byte1.c: Likewise.
1000
        * testsuite/libffi.call/cls_64byte.c: Likewise.
1001
        * testsuite/libffi.call/cls_20byte1.c: Likewise.
1002
        * testsuite/libffi.call/cls_19byte.c: Likewise.
1003
        * testsuite/libffi.call/cls_18byte.c: Likewise.
1004
        * testsuite/libffi.call/closure_fn4.c: Likewise.
1005
        * testsuite/libffi.call/closure_fn5.c: Likewise.
1006
        * testsuite/libffi.call/cls_schar.c: Likewise.
1007
        * testsuite/libffi.call/cls_sint.c: Likewise.
1008
        * testsuite/libffi.call/cls_sshort.c: Likewise.
1009
        * testsuite/libffi.call/nested_struct2.c: Likewise.
1010
        * testsuite/libffi.call/nested_struct3.c: Likewise.
1011
 
1012
2003-11-08  Andreas Tobler  
1013
 
1014
        * testsuite/libffi.call/cls_double.c: Do a check on the result.
1015
        * testsuite/libffi.call/cls_uchar.c: Likewise.
1016
        * testsuite/libffi.call/cls_uint.c: Likewise.
1017
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1018
        * testsuite/libffi.call/cls_ushort.c: Likewise.
1019
        * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
1020
 
1021
2003-11-06  Andreas Tobler  
1022
 
1023
        * src/prep_cif.c (ffi_prep_cif): Move the validity check after
1024
        the initialization.
1025
 
1026
2003-10-23  Andreas Tobler  
1027
 
1028
        * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
1029
        FFI_ASSERT(FALSE) with FFI_ASSERT(0).
1030
 
1031
2003-10-22  David Daney  
1032
 
1033
        * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
1034
        __attribute__((__mode__(__SI__))) and friends.
1035
 
1036
2003-10-22  Andreas Schwab  
1037
 
1038
        * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
1039
 
1040
2003-10-21  Andreas Tobler  
1041
 
1042
        * configure.in: AC_LINK_FILES(ffitarget.h).
1043
        * configure: Regenerate.
1044
        * Makefile.in: Likewise.
1045
        * include/Makefile.in: Likewise.
1046
        * testsuite/Makefile.in: Likewise.
1047
        * fficonfig.h.in: Likewise.
1048
 
1049
2003-10-21  Paolo Bonzini  
1050
            Richard Henderson  
1051
 
1052
        Avoid that ffi.h includes fficonfig.h.
1053
 
1054
        * Makefile.am (EXTRA_DIST): Include ffitarget.h files
1055
        (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1056
        (TARGET_SRC_MIPS_SGI): Removed.
1057
        (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1058
        (MIPS_SGI): Removed.
1059
        (CLEANFILES): Removed.
1060
        (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
1061
        targets.
1062
        * acconfig.h: Removed.
1063
        * configure.in: Compute sizeofs only for double and long double.
1064
        Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
1065
        into AC_DEFINE instead of using acconfig.h.  Create
1066
        include/ffitarget.h instead of include/fficonfig.h.  Rename
1067
        MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
1068
        AC_DEFINE EH_FRAME_FLAGS.
1069
        * include/Makefile.am (DISTCLEANFILES): New automake macro.
1070
        (hack_DATA): Add ffitarget.h.
1071
        * include/ffi.h.in: Remove all system specific definitions.
1072
        Declare raw API even if it is not installed, why bother?
1073
        Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
1074
        not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
1075
        ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
1076
        (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
1077
        * include/ffi_common.h (bool): Do not define.
1078
        (ffi_assert): Accept failed assertion.
1079
        (ffi_type_test): Return void and accept file/line.
1080
        (FFI_ASSERT): Pass stringized failed assertion.
1081
        (FFI_ASSERT_AT): New macro.
1082
        (FFI_ASSERT_VALID_TYPE): New macro.
1083
        (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
1084
        UINT64, SINT64): Define here with gcc's __attribute__ macro
1085
        instead of in ffi.h
1086
        (FLOAT32, ALIGN): Define here instead of in ffi.h
1087
        * include/ffi-mips.h: Removed.  Its content moved to
1088
        src/mips/ffitarget.h after separating assembly and C sections.
1089
        * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
1090
        src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
1091
        src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
1092
        src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
1093
        SIZEOF_ARG -> FFI_SIZEOF_ARG.
1094
        * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
1095
        * src/debug.c (ffi_assert): Accept stringized failed assertion.
1096
        (ffi_type_test): Rewritten.
1097
        * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
1098
        FFI_ASSERT_VALID_TYPE.
1099
        * src/alpha/ffitarget.h, src/arm/ffitarget.h,
1100
        src/ia64/ffitarget.h, src/m68k/ffitarget.h,
1101
        src/mips/ffitarget.h, src/powerpc/ffitarget.h,
1102
        src/s390/ffitarget.h, src/sh/ffitarget.h,
1103
        src/sh64/ffitarget.h, src/sparc/ffitarget.h,
1104
        src/x86/ffitarget.h: New files.
1105
        * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
1106
        src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
1107
        src/powerpc/aix.S, src/powerpc/darwin.S,
1108
        src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
1109
        src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
1110
        src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
1111
        src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
1112
        src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
1113
        include fficonfig.h
1114
 
1115
2003-10-20  Rainer Orth  
1116
 
1117
        * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
1118
        _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
1119
 
1120
2003-10-19  Andreas Tobler  
1121
 
1122
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
1123
        Used when FFI_DEBUG = 1.
1124
 
1125
2003-10-14  Alan Modra  
1126
 
1127
        * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
1128
        and align.
1129
 
1130
2003-10-06  Rainer Orth  
1131
 
1132
        * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
1133
        FFI_MIPS_O32 for O32 ABI.
1134
 
1135
2003-10-01  Andreas Tobler  
1136
 
1137
        * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
1138
        SPARC64. Cleanup whitespaces.
1139
 
1140
2003-09-19  Andreas Tobler  
1141
 
1142
        * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
1143
        strongarm, xscale. Cleanup whitespaces.
1144
        * testsuite/libffi.call/closure_fn1.c: Likewise.
1145
        * testsuite/libffi.call/closure_fn2.c: Likewise.
1146
        * testsuite/libffi.call/closure_fn3.c: Likewise.
1147
        * testsuite/libffi.call/cls_12byte.c: Likewise.
1148
        * testsuite/libffi.call/cls_16byte.c: Likewise.
1149
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1150
        * testsuite/libffi.call/cls_20byte.c: Likewise.
1151
        * testsuite/libffi.call/cls_24byte.c: Likewise.
1152
        * testsuite/libffi.call/cls_2byte.c: Likewise.
1153
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1154
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
1155
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
1156
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1157
        * testsuite/libffi.call/cls_4byte.c: Likewise.
1158
        * testsuite/libffi.call/cls_5byte.c: Likewise.
1159
        * testsuite/libffi.call/cls_6byte.c: Likewise.
1160
        * testsuite/libffi.call/cls_7byte.c: Likewise.
1161
        * testsuite/libffi.call/cls_8byte.c: Likewise.
1162
        * testsuite/libffi.call/cls_double.c: Likewise.
1163
        * testsuite/libffi.call/cls_float.c: Likewise.
1164
        * testsuite/libffi.call/cls_uchar.c: Likewise.
1165
        * testsuite/libffi.call/cls_uint.c: Likewise.
1166
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1167
        * testsuite/libffi.call/cls_ushort.c: Likewise.
1168
        * testsuite/libffi.call/nested_struct.c: Likewise.
1169
        * testsuite/libffi.call/nested_struct1.c: Likewise.
1170
        * testsuite/libffi.call/problem1.c: Likewise.
1171
        * testsuite/libffi.special/unwindtest.cc: Likewise.
1172
        * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
1173
 
1174
2003-09-18  David Edelsohn  
1175
 
1176
        * src/powerpc/aix.S: Cleanup whitespaces.
1177
        * src/powerpc/aix_closure.S: Likewise.
1178
 
1179
2003-09-18  Andreas Tobler  
1180
 
1181
        * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
1182
        * src/powerpc/darwin_closure.S: Likewise.
1183
        * src/powerpc/ffi_darwin.c: Likewise.
1184
 
1185
2003-09-18  Andreas Tobler  
1186
            David Edelsohn  
1187
 
1188
        * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
1189
        * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
1190
        parameter stack.
1191
        * src/powerpc/darwin_closure.S: Likewise.
1192
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
1193
        according to the Darwin/AIX ABI.
1194
        (ffi_prep_cif_machdep): Likewise.
1195
        (ffi_closure_helper_DARWIN): Likewise.
1196
        Remove the outgoing parameter stack logic. Simplify the evaluation
1197
        of the different CASE types.
1198
        (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
1199
        statement in the trampoline code.
1200
 
1201
2003-09-18  Kaz Kojima  
1202
 
1203
        * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
1204
        for the register size.
1205
        (ffi_closure_helper_SYSV): Handle the structure return value
1206
        address correctly.
1207
        (ffi_closure_helper_SYSV): Return the appropriate type when
1208
        the registers are used for the structure return value.
1209
        * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
1210
        the 64-bit return value.  Update copyright years.
1211
 
1212
2003-09-17  Rainer Orth  
1213
 
1214
        * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
1215
        srcdir for ffi_mips.h.
1216
 
1217
2003-09-12  Alan Modra  
1218
 
1219
        * src/prep_cif.c (initialize_aggregate): Include tail padding in
1220
        structure size.
1221
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
1222
        placement of float result.
1223
        * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
1224
        cast of "resp" for big-endian 64 bit machines.
1225
 
1226
2003-09-11  Alan Modra  
1227
 
1228
        * src/types.c (double, longdouble): Merge identical SH and ARM
1229
        typedefs, and add POWERPC64.
1230
        * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
1231
        struct split over gpr and rest.
1232
        (ffi_prep_cif_machdep): Correct intarg_count for structures.
1233
        * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
1234
 
1235
2003-09-09  Andreas Tobler  
1236
 
1237
        * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
1238
        passing correctly.
1239
 
1240
2003-09-09  Alan Modra  
1241
 
1242
        * configure: Regenerate.
1243
 
1244
2003-09-04  Andreas Tobler  
1245
 
1246
        * Makefile.am: Remove build rules for ffitest.
1247
        * Makefile.in: Rebuilt.
1248
 
1249
2003-09-04  Andreas Tobler  
1250
 
1251
        * src/java_raw_api.c: Include  to fix compiler warning
1252
        about implicit declaration of abort().
1253
 
1254
2003-09-04  Andreas Tobler  
1255
 
1256
        * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
1257
        * Makefile.in: Rebuilt.
1258
        * configure.in: Add dejagnu test framework.
1259
        * configure: Rebuilt.
1260
 
1261
        * testsuite/Makefile.am: New file.
1262
        * testsuite/Makefile.in: Built
1263
        * testsuite/lib/libffi-dg.exp: New file.
1264
        * testsuite/config/default.exp: Likewise.
1265
        * testsuite/libffi.call/call.exp: Likewise.
1266
        * testsuite/libffi.call/ffitest.h: Likewise.
1267
        * testsuite/libffi.call/closure_fn0.c: Likewise.
1268
        * testsuite/libffi.call/closure_fn1.c: Likewise.
1269
        * testsuite/libffi.call/closure_fn2.c: Likewise.
1270
        * testsuite/libffi.call/closure_fn3.c: Likewise.
1271
        * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1272
        * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1273
        * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1274
        * testsuite/libffi.call/cls_2byte.c: Likewise.
1275
        * testsuite/libffi.call/cls_3byte1.c: Likewise.
1276
        * testsuite/libffi.call/cls_3byte2.c: Likewise.
1277
        * testsuite/libffi.call/cls_4byte.c: Likewise.
1278
        * testsuite/libffi.call/cls_5byte.c: Likewise.
1279
        * testsuite/libffi.call/cls_6byte.c: Likewise.
1280
        * testsuite/libffi.call/cls_7byte.c: Likewise.
1281
        * testsuite/libffi.call/cls_8byte.c: Likewise.
1282
        * testsuite/libffi.call/cls_12byte.c: Likewise.
1283
        * testsuite/libffi.call/cls_16byte.c: Likewise.
1284
        * testsuite/libffi.call/cls_20byte.c: Likewise.
1285
        * testsuite/libffi.call/cls_24byte.c: Likewise.
1286
        * testsuite/libffi.call/cls_double.c: Likewise.
1287
        * testsuite/libffi.call/cls_float.c: Likewise.
1288
        * testsuite/libffi.call/cls_uchar.c: Likewise.
1289
        * testsuite/libffi.call/cls_uint.c: Likewise.
1290
        * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1291
        * testsuite/libffi.call/cls_ushort.c: Likewise.
1292
        * testsuite/libffi.call/float.c: Likewise.
1293
        * testsuite/libffi.call/float1.c: Likewise.
1294
        * testsuite/libffi.call/float2.c: Likewise.
1295
        * testsuite/libffi.call/many.c: Likewise.
1296
        * testsuite/libffi.call/many_win32.c: Likewise.
1297
        * testsuite/libffi.call/nested_struct.c: Likewise.
1298
        * testsuite/libffi.call/nested_struct1.c: Likewise.
1299
        * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1300
        * testsuite/libffi.call/problem1.c: Likewise.
1301
        * testsuite/libffi.call/promotion.c: Likewise.
1302
        * testsuite/libffi.call/return_ll.c: Likewise.
1303
        * testsuite/libffi.call/return_sc.c: Likewise.
1304
        * testsuite/libffi.call/return_uc.c: Likewise.
1305
        * testsuite/libffi.call/strlen.c: Likewise.
1306
        * testsuite/libffi.call/strlen_win32.c: Likewise.
1307
        * testsuite/libffi.call/struct1.c: Likewise.
1308
        * testsuite/libffi.call/struct2.c: Likewise.
1309
        * testsuite/libffi.call/struct3.c: Likewise.
1310
        * testsuite/libffi.call/struct4.c: Likewise.
1311
        * testsuite/libffi.call/struct5.c: Likewise.
1312
        * testsuite/libffi.call/struct6.c: Likewise.
1313
        * testsuite/libffi.call/struct7.c: Likewise.
1314
        * testsuite/libffi.call/struct8.c: Likewise.
1315
        * testsuite/libffi.call/struct9.c: Likewise.
1316
        * testsuite/libffi.special/special.exp: New file.
1317
        * testsuite/libffi.special/ffitestcxx.h: Likewise.
1318
        * testsuite/libffi.special/unwindtest.cc: Likewise.
1319
 
1320
 
1321
2003-08-13  Kaz Kojima  
1322
 
1323
        * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
1324
        copyright years.
1325
 
1326
2003-08-02  Alan Modra  
1327
 
1328
        * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1329
        structure passing.
1330
        (ffi_closure_helper_LINUX64): Likewise.
1331
        * src/powerpc/linux64.S: Remove code writing to parm save area.
1332
        * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
1333
        address in lr from ffi_closure_helper_LINUX64 call to calculate
1334
        table address.  Optimize function tail.
1335
 
1336
2003-07-28  Andreas Tobler  
1337
 
1338
        * src/sparc/ffi.c: Handle all floating point registers.
1339
        * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
1340
 
1341
2003-07-11  Gerald Pfeifer  
1342
 
1343
        * README: Note that libffi is not part of GCC.  Update the project
1344
        URL and status.
1345
 
1346
2003-06-19  Franz Sirl  
1347
 
1348
        * src/powerpc/ppc_closure.S: Include ffi.h.
1349
 
1350
2003-06-13  Rainer Orth  
1351
 
1352
        * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
1353
        Use C style comments.
1354
 
1355
2003-06-13  Kaz Kojima  
1356
 
1357
        * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
1358
        * Makefile.in: Regenerate.
1359
        * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
1360
        * configure: Regenerate.
1361
        * include/ffi.h.in: Add SHmedia support.
1362
        * src/sh64/ffi.c: New file.
1363
        * src/sh64/sysv.S: New file.
1364
 
1365
2003-05-16  Jakub Jelinek  
1366
 
1367
        * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
1368
        should be read-only.
1369
        * configure: Rebuilt.
1370
        * fficonfig.h.in: Rebuilt.
1371
        * include/ffi.h.in (EH_FRAME_FLAGS): Define.
1372
        * src/alpha/osf.S: Use EH_FRAME_FLAGS.
1373
        * src/powerpc/linux64.S: Likewise.
1374
        * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
1375
        * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
1376
        if -fpic/-fPIC/-mrelocatable.
1377
        * src/powerpc/powerpc_closure.S: Likewise.
1378
        * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
1379
        #write in .eh_frame flags.
1380
        * src/sparc/v9.S: Likewise.
1381
        * src/x86/unix64.S: Use EH_FRAME_FLAGS.
1382
        * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
1383
        * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
1384
 
1385
2003-05-07  Jeff Sturm  
1386
 
1387
        Fixes PR bootstrap/10656
1388
        * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
1389
        support for .register pseudo-op.
1390
        * src/sparc/v8.S: Use it.
1391
        * fficonfig.h.in: Rebuilt.
1392
        * configure: Rebuilt.
1393
 
1394
2003-04-18  Jakub Jelinek  
1395
 
1396
        * include/ffi.h.in (POWERPC64): Define if 64-bit.
1397
        (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
1398
        Make it the default on POWERPC64.
1399
        (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
1400
        * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
1401
        * configure: Rebuilt.
1402
        * src/powerpc/ffi.c (hidden): Define.
1403
        (ffi_prep_args_SYSV): Renamed from
1404
        ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
1405
        (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
1406
        ASM_NEEDS_REGISTERS64): New.
1407
        (ffi_prep_args64): New function.
1408
        (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
1409
        (ffi_call): Likewise.
1410
        (ffi_prep_closure): Likewise.
1411
        (flush_icache): Surround by #ifndef POWERPC64.
1412
        (ffi_dblfl): New union type.
1413
        (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
1414
        (ffi_closure_helper_LINUX64): New function.
1415
        * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
1416
        __powerpc64__.
1417
        * src/powerpc/sysv.S: Likewise.
1418
        (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
1419
        * src/powerpc/linux64.S: New file.
1420
        * src/powerpc/linux64_closure.S: New file.
1421
        * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
1422
        src/powerpc/linux64_closure.S.
1423
        (TARGET_SRC_POWERPC): Likewise.
1424
 
1425
        * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
1426
        closure_test_fn3): Fix result printing on big-endian 64-bit
1427
        machines.
1428
        (main): Print tst2_arg instead of uninitialized tst2_result.
1429
 
1430
        * src/ffitest.c (main): Hide what closure pointer really points to
1431
        from the compiler.
1432
 
1433
2003-04-16  Richard Earnshaw  
1434
 
1435
        * configure.in (arm-*-netbsdelf*): Add configuration.
1436
        (configure): Regenerated.
1437
 
1438
2003-04-04  Loren J. Rittle  
1439
 
1440
        * include/Makefile.in: Regenerate.
1441
 
1442
2003-03-21  Zdenek Dvorak  
1443
 
1444
        * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
1445
        bit mode.
1446
        * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
1447
        Receive closure pointer through parameter, read args using
1448
        __builtin_dwarf_cfa.
1449
        (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
1450
 
1451
2003-03-12  Andreas Schwab  
1452
 
1453
        * configure.in: Avoid trailing /. in toolexeclibdir.
1454
        * configure: Rebuilt.
1455
 
1456
2003-03-03  Andreas Tobler 
1457
 
1458
        * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
1459
 
1460
2003-02-06  Andreas Tobler 
1461
 
1462
        * libffi/src/powerpc/darwin_closure.S:
1463
        Fix alignement bug, allocate 8 bytes for the result.
1464
        * libffi/src/powerpc/aix_closure.S:
1465
        Likewise.
1466
        * libffi/src/powerpc/ffi_darwin.c:
1467
        Update stackframe description for aix/darwin_closure.S.
1468
 
1469
2003-02-06  Jakub Jelinek  
1470
 
1471
        * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1472
        attribute.
1473
 
1474
2003-01-31  Christian Cornelssen  ,
1475
            Andreas Schwab  
1476
 
1477
        * configure.in: Adjust command to source config-ml.in to account
1478
        for changes to the libffi_basedir definition.
1479
        (libffi_basedir): Remove ${srcdir} from value and include trailing
1480
        slash if nonempty.
1481
 
1482
        * configure: Regenerate.
1483
 
1484
2003-01-29  Franz Sirl  
1485
 
1486
        * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1487
 
1488
2003-01-28  Andrew Haley  
1489
 
1490
        * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1491
        * src/x86/ffi64.c (ffi_prep_closure): New.
1492
        (ffi_closure_UNIX64_inner): New.
1493
        * src/x86/unix64.S (ffi_closure_UNIX64): New.
1494
 
1495
2003-01-27  Alexandre Oliva  
1496
 
1497
        * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1498
        Remove USE_LIBDIR conditional.
1499
        * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1500
        * Makefile.in, configure: Rebuilt.
1501
 
1502
2003-01027  David Edelsohn  
1503
 
1504
        * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1505
        * Makefile.in: Regenerate.
1506
 
1507
2003-01-22  Andrew Haley  
1508
 
1509
        * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1510
        unwind info.
1511
 
1512
2003-01-21  Andreas Tobler  
1513
 
1514
        * src/powerpc/darwin.S: Add unwind info.
1515
        * src/powerpc/darwin_closure.S: Likewise.
1516
 
1517
2003-01-14  Andrew Haley  
1518
 
1519
        * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1520
        (ffi_prep_cif_machdep): Likewise.
1521
        * src/x86/unix64.S: Add unwind info.
1522
 
1523
2003-01-14  Andreas Jaeger  
1524
 
1525
        * src/ffitest.c (main): Only use ffi_closures if those are
1526
        supported.
1527
 
1528
2003-01-13 Andreas Tobler 
1529
 
1530
        * libffi/src/ffitest.c
1531
         add closure testcases
1532
 
1533
2003-01-13 Kevin B. Hendricks 
1534
 
1535
        * libffi/src/powerpc/ffi.c
1536
         fix alignment bug for float (4 byte aligned iso 8 byte)
1537
 
1538
2003-01-09  Geoffrey Keating  
1539
 
1540
        * src/powerpc/ffi_darwin.c: Remove RCS version string.
1541
        * src/powerpc/darwin.S: Remove RCS version string.
1542
 
1543
2003-01-03  Jeff Sturm  
1544
 
1545
        * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1546
        * src/ffitest.c (main): Use static storage for closure.
1547
        * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1548
        * src/sparc/v8.S (ffi_closure_v8): New.
1549
        * src/sparc/v9.S (ffi_closure_v9): New.
1550
 
1551
2002-11-10  Ranjit Mathew 
1552
 
1553
        * include/ffi.h.in: Added FFI_STDCALL ffi_type
1554
          enumeration for X86_WIN32.
1555
        * src/x86/win32.S: Added ffi_call_STDCALL function
1556
          definition.
1557
        * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1558
          switch cases for recognising FFI_STDCALL and
1559
          calling ffi_call_STDCALL if target is X86_WIN32.
1560
        * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1561
          stdcall versions of the "my_strlen" and "many"
1562
          test functions (for X86_WIN32).
1563
          Added test cases to test stdcall invocation using
1564
          these functions.
1565
 
1566
2002-12-02  Kaz Kojima  
1567
 
1568
        * src/sh/sysv.S: Add DWARF2 unwind info.
1569
 
1570
2002-11-27  Ulrich Weigand  
1571
 
1572
        * src/s390/sysv.S (.eh_frame section): Make section read-only.
1573
 
1574
2002-11-26  Jim Wilson  
1575
 
1576
        * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1577
 
1578
2002-11-23  H.J. Lu 
1579
 
1580
        * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1581
        Include ../config/accross.m4.
1582
        * aclocal.m4; Rebuild.
1583
        * configure: Likewise.
1584
 
1585
2002-11-15  Ulrich Weigand  
1586
 
1587
        * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1588
 
1589
2002-11-11  DJ Delorie  
1590
 
1591
        * configure.in: Look for common files in the right place.
1592
 
1593
2002-10-08  Ulrich Weigand  
1594
 
1595
        * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1596
        raw data as _Jv_word values, not ffi_raw.
1597
        (ffi_java_ptrarray_to_raw): Likewise.
1598
        (ffi_java_rvalue_to_raw): New function.
1599
        (ffi_java_raw_call): Call it.
1600
        (ffi_java_raw_to_rvalue): New function.
1601
        (ffi_java_translate_args): Call it.
1602
        * src/ffitest.c (closure_test_fn): Interpret return value
1603
        as ffi_arg, not int.
1604
        * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1605
        FFI_TYPE_POINTER case.
1606
        (ffi_closure_helper_SYSV): Likewise.  Also, assume return
1607
        values extended to word size.
1608
 
1609
2002-10-02  Andreas Jaeger  
1610
 
1611
        * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1612
 
1613
2002-10-01  Bo Thorsen  
1614
 
1615
        * include/ffi.h.in: Fix i386 win32 compilation.
1616
 
1617
2002-09-30  Ulrich Weigand  
1618
 
1619
        * configure.in: Add s390x-*-linux-* target.
1620
        * configure: Regenerate.
1621
        * include/ffi.h.in: Define S390X for s390x targets.
1622
        (FFI_CLOSURES): Define for s390/s390x.
1623
        (FFI_TRAMPOLINE_SIZE): Likewise.
1624
        (FFI_NATIVE_RAW_API): Likewise.
1625
        * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1626
        * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
1627
        * src/s390/ffi.c: Major rework of existing code.  Add support for
1628
        s390x targets.  Add closure support.
1629
        * src/s390/sysv.S: Likewise.
1630
 
1631
2002-09-29  Richard Earnshaw  
1632
 
1633
        * src/arm/sysv.S: Fix typo.
1634
 
1635
2002-09-28  Richard Earnshaw  
1636
 
1637
        * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1638
        has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1639
        (ffi_call_SYSV): Handle soft-float.
1640
 
1641
2002-09-27  Bo Thorsen  
1642
 
1643
        * include/ffi.h.in: Fix multilib x86-64 support.
1644
 
1645
2002-09-22  Kaveh R. Ghazi  
1646
 
1647
        * Makefile.am (all-multi): Fix multilib parallel build.
1648
 
1649
2002-07-19  Kaz Kojima  
1650
 
1651
        * configure.in (sh[34]*-*-linux*): Add brackets.
1652
        * configure: Regenerate.
1653
 
1654
2002-07-18  Kaz Kojima  
1655
 
1656
        * Makefile.am: Add SH support.
1657
        * Makefile.in: Regenerate.
1658
        * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1659
        * configure: Regenerate.
1660
        * include/ffi.h.in: Add SH support.
1661
        * src/sh/ffi.c: New file.
1662
        * src/sh/sysv.S: New file.
1663
        * src/types.c: Add SH support.
1664
 
1665
2002-07-16  Bo Thorsen  
1666
 
1667
        * src/x86/ffi64.c: New file that adds x86-64 support.
1668
        * src/x86/unix64.S: New file that handles argument setup for
1669
        x86-64.
1670
        * src/x86/sysv.S: Don't use this on x86-64.
1671
        * src/x86/ffi.c: Don't use this on x86-64.
1672
        Remove unused vars.
1673
        * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1674
        for x86-64.
1675
        * src/ffitest.c (struct6): New test that tests a special case in
1676
        the x86-64 ABI.
1677
        (struct7): Likewise.
1678
        (struct8): Likewise.
1679
        (struct9): Likewise.
1680
        (closure_test_fn): Silence warning about this when it's not used.
1681
        (main): Add the new tests.
1682
        (main): Fix a couple of wrong casts and silence some compiler warnings.
1683
        * include/ffi.h.in: Add x86-64 ABI definition.
1684
        * fficonfig.h.in: Regenerate.
1685
        * Makefile.am: Add x86-64 support.
1686
        * configure.in: Likewise.
1687
        * Makefile.in: Regenerate.
1688
        * configure: Likewise.
1689
 
1690
2002-06-24  Bo Thorsen  
1691
 
1692
        * src/types.c: Merge settings for similar architectures.
1693
        Add x86-64 sizes and alignments.
1694
 
1695
2002-06-23  Bo Thorsen  
1696
 
1697
        * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1698
        * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1699
        * src/mips/ffi.c (ffi_prep_args): Likewise.
1700
        * src/m68k/ffi.c (ffi_prep_args): Likewise.
1701
 
1702
2002-07-18  H.J. Lu  (hjl@gnu.org)
1703
 
1704
        * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1705
        (libffi_la_SOURCES): Support MIPS_LINUX.
1706
        (libffi_convenience_la_SOURCES): Likewise.
1707
        * Makefile.in: Regenerated.
1708
 
1709
        * configure.in (mips64*-*): Skip.
1710
        (mips*-*-linux*): New.
1711
        * configure: Regenerated.
1712
 
1713
        * src/mips/ffi.c: Include .
1714
 
1715
2002-06-06  Ulrich Weigand  
1716
 
1717
        * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
1718
 
1719
2002-05-27  Roger Sayle  
1720
 
1721
        * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1722
 
1723
2002-05-27  Bo Thorsen  
1724
 
1725
        * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1726
        fix formatting.
1727
 
1728
2002-05-13  Andreas Tobler  
1729
 
1730
        * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1731
        beginning of function (for older apple cc).
1732
 
1733
2002-05-08  Alexandre Oliva  
1734
 
1735
        * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1736
        script entry, and set LD to it when configuring multilibs.
1737
        * configure: Rebuilt.
1738
 
1739
2002-05-05  Jason Thorpe  
1740
 
1741
        * configure.in (sparc64-*-netbsd*): Add target.
1742
        (sparc-*-netbsdelf*): Likewise.
1743
        * configure: Regenerate.
1744
 
1745
2002-04-28  David S. Miller  
1746
 
1747
        * configure.in, configure: Fix SPARC test in previous change.
1748
 
1749
2002-04-29  Gerhard Tonn  
1750
 
1751
        * Makefile.am: Add Linux for S/390 support.
1752
        * Makefile.in: Regenerate.
1753
        * configure.in: Add Linux for S/390 support.
1754
        * configure: Regenerate.
1755
        * include/ffi.h.in: Add Linux for S/390 support.
1756
        * src/s390/ffi.c: New file from libffi CVS tree.
1757
        * src/s390/sysv.S: New file from libffi CVS tree.
1758
 
1759
2002-04-28  Jakub Jelinek  
1760
 
1761
        * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1762
        %r_disp32().
1763
        * src/sparc/v8.S: Use it.
1764
        * src/sparc/v9.S: Likewise.
1765
        * fficonfig.h.in: Rebuilt.
1766
        * configure: Rebuilt.
1767
 
1768
2002-04-08  Hans Boehm  
1769
 
1770
        * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1771
        correctly.
1772
        * src/ia64/unix.S: Add unwind information. Fix comments.
1773
        Save sp in a way that's compatible with unwind info.
1774
        (ffi_call_unix): Correctly restore sp in all cases.
1775
        * src/ia64/ffi.c: Add, fix comments.
1776
 
1777
2002-04-08  Jakub Jelinek  
1778
 
1779
        * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1780
 
1781
2002-04-06  Jason Thorpe  
1782
 
1783
        * configure.in (alpha*-*-netbsd*): Add target.
1784
        * configure: Regenerate.
1785
 
1786
2002-04-04  Jeff Sturm  
1787
 
1788
        * src/sparc/v8.S: Add unwind info.
1789
        * src/sparc/v9.S: Likewise.
1790
 
1791
2002-03-30  Krister Walfridsson  
1792
 
1793
        * configure.in: Enable i*86-*-netbsdelf*.
1794
        * configure: Rebuilt.
1795
 
1796
2002-03-29  David Billinghurst 
1797
 
1798
        PR other/2620
1799
        * src/mips/n32.s: Delete
1800
        * src/mips/o32.s: Delete
1801
 
1802
2002-03-21  Loren J. Rittle  
1803
 
1804
        * configure.in: Enable alpha*-*-freebsd*.
1805
        * configure: Rebuilt.
1806
 
1807
2002-03-17  Bryce McKinlay  
1808
 
1809
        * Makefile.am: libfficonvenience -> libffi_convenience.
1810
        * Makefile.in: Rebuilt.
1811
 
1812
        * Makefile.am: Define ffitest_OBJECTS.
1813
        * Makefile.in: Rebuilt.
1814
 
1815
2002-03-07  Andreas Tobler  
1816
            David Edelsohn  
1817
 
1818
        * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1819
        (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1820
        (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1821
        * Makefile.in: Regenerate.
1822
        * include/ffi.h.in: Add AIX and Darwin closure definitions.
1823
        * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1824
        (flush_icache, flush_range): New functions.
1825
        (ffi_closure_helper_DARWIN): New function.
1826
        * src/powerpc/aix_closure.S: New file.
1827
        * src/powerpc/darwin_closure.S: New file.
1828
 
1829
2002-02-24  Jeff Sturm  
1830
 
1831
        * include/ffi.h.in: Add typedef for ffi_arg.
1832
        * src/ffitest.c (main): Declare rint with ffi_arg.
1833
 
1834
2002-02-21  Andreas Tobler  
1835
 
1836
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1837
        number of GPRs for floating-point arguments.
1838
 
1839
2002-01-31  Anthony Green  
1840
 
1841
        * configure: Rebuilt.
1842
        * configure.in: Replace CHECK_SIZEOF and endian tests with
1843
        cross-compiler friendly macros.
1844
        * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1845
        macros.
1846
 
1847
2002-01-18  David Edelsohn  
1848
 
1849
        * src/powerpc/darwin.S (_ffi_call_AIX): New.
1850
        * src/powerpc/aix.S (ffi_call_DARWIN): New.
1851
 
1852
2002-01-17  David Edelsohn  
1853
 
1854
        * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1855
        (TARGET_SRC_POWERPC_AIX): New.
1856
        (POWERPC_AIX): New stanza.
1857
        * Makefile.in: Regenerate.
1858
        * configure.in: Add AIX case.
1859
        * configure: Regenerate.
1860
        * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1861
        * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1862
        size.  Fix "long double" support.
1863
        (ffi_call): Add FFI_AIX case.
1864
        * src/powerpc/aix.S: New.
1865
 
1866
2001-10-09  John Hornkvist  
1867
 
1868
        Implement Darwin PowerPC ABI.
1869
        * configure.in: Handle powerpc-*-darwin*.
1870
        * Makefile.am: Set source files for POWERPC_DARWIN.
1871
        * configure: Rebuilt.
1872
        * Makefile.in: Rebuilt.
1873
        * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1874
        POWERPC_DARWIN.
1875
        * src/powerpc/darwin.S: New file.
1876
        * src/powerpc/ffi_darwin.c: New file.
1877
 
1878
2001-10-07  Joseph S. Myers  
1879
 
1880
        * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1881
 
1882
2001-07-16  Rainer Orth  
1883
 
1884
        * src/x86/sysv.S: Avoid gas-only .balign directive.
1885
        Use C style comments.
1886
 
1887
2001-07-16  Rainer Orth  
1888
 
1889
        * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1890
        Fixes PR bootstrap/3563.
1891
 
1892
2001-06-26  Rainer Orth  
1893
 
1894
        * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1895
 
1896
2001-06-25  Rainer Orth  
1897
 
1898
        * configure.in: Recognize sparc*-sun-* host.
1899
        * configure: Regenerate.
1900
 
1901
2001-06-06  Andrew Haley  
1902
 
1903
        * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1904
 
1905
2001-06-03  Andrew Haley  
1906
 
1907
        * src/alpha/osf.S: Add unwind info.
1908
        * src/powerpc/sysv.S: Add unwind info.
1909
        * src/powerpc/ppc_closure.S: Likewise.
1910
 
1911
2000-05-31  Jeff Sturm  
1912
 
1913
        * configure.in: Fix AC_ARG_ENABLE usage.
1914
        * configure: Rebuilt.
1915
 
1916
2001-05-06  Bryce McKinlay  
1917
 
1918
        * configure.in: Remove warning about beta code.
1919
        * configure: Rebuilt.
1920
 
1921
2001-04-25  Hans Boehm 
1922
 
1923
        * src/ia64/unix.S: Restore stack pointer when returning from
1924
        ffi_closure_UNIX.
1925
        * src/ia64/ffi.c: Fix typo in comment.
1926
 
1927
2001-04-18  Jim Wilson  
1928
 
1929
        * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1930
        to eliminate RAW DV.
1931
 
1932
2001-04-12  Bryce McKinlay  
1933
 
1934
        * Makefile.am: Make a libtool convenience library.
1935
        * Makefile.in: Rebuilt.
1936
 
1937
2001-03-29  Bryce McKinlay  
1938
 
1939
        * configure.in: Use different syntax for subdirectory creation.
1940
        * configure: Rebuilt.
1941
 
1942
2001-03-27  Jon Beniston  
1943
 
1944
        * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1945
        * configure: Rebuilt.
1946
        * Makefile.am: Added X86_WIN32 target support.
1947
        * Makefile.in: Rebuilt.
1948
 
1949
        * include/ffi.h.in: Added X86_WIN32 target support.
1950
 
1951
        * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1952
        * src/types.c: Added X86_WIN32 target support.
1953
 
1954
        * src/x86/win32.S: New file. Based on sysv.S, but with EH
1955
        stuff removed and made to work with CygWin's gas.
1956
 
1957
2001-03-26  Bryce McKinlay  
1958
 
1959
        * configure.in: Make target subdirectory in build dir.
1960
        * Makefile.am: Override suffix based rules to specify correct output
1961
        subdirectory.
1962
        * Makefile.in: Rebuilt.
1963
        * configure: Rebuilt.
1964
 
1965
2001-03-23  Kevin B Hendricks  
1966
 
1967
        * src/powerpc/ppc_closure.S: New file.
1968
        * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1969
        involving long long and register pairs.
1970
        (ffi_prep_closure): New function.
1971
        (flush_icache): Likewise.
1972
        (ffi_closure_helper_SYSV): Likewise.
1973
        * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1974
        (FFI_TRAMPOLINE_SIZE): Likewise.
1975
        (FFI_NATIVE_RAW_API): Likewise.
1976
        * Makefile.in: Rebuilt.
1977
        * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1978
        (TARGET_SRC_POWERPC): Likewise.
1979
 
1980
2001-03-19  Tom Tromey  
1981
 
1982
        * Makefile.in: Rebuilt.
1983
        * Makefile.am (ffitest_LDFLAGS): New macro.
1984
 
1985
2001-03-02  Nick Clifton  
1986
 
1987
        * include/ffi.h.in: Remove RCS ident string.
1988
        * include/ffi_mips.h: Remove RCS ident string.
1989
        * src/debug.c: Remove RCS ident string.
1990
        * src/ffitest.c: Remove RCS ident string.
1991
        * src/prep_cif.c: Remove RCS ident string.
1992
        * src/types.c: Remove RCS ident string.
1993
        * src/alpha/ffi.c: Remove RCS ident string.
1994
        * src/alpha/osf.S: Remove RCS ident string.
1995
        * src/arm/ffi.c: Remove RCS ident string.
1996
        * src/arm/sysv.S: Remove RCS ident string.
1997
        * src/mips/ffi.c: Remove RCS ident string.
1998
        * src/mips/n32.S: Remove RCS ident string.
1999
        * src/mips/o32.S: Remove RCS ident string.
2000
        * src/sparc/ffi.c: Remove RCS ident string.
2001
        * src/sparc/v8.S: Remove RCS ident string.
2002
        * src/sparc/v9.S: Remove RCS ident string.
2003
        * src/x86/ffi.c: Remove RCS ident string.
2004
        * src/x86/sysv.S: Remove RCS ident string.
2005
 
2006
2001-02-08  Joseph S. Myers  
2007
 
2008
        * include/ffi.h.in: Change sourceware.cygnus.com references to
2009
        gcc.gnu.org.
2010
 
2011
2000-12-09  Richard Henderson  
2012
 
2013
        * src/alpha/ffi.c (ffi_call): Simplify struct return test.
2014
        (ffi_closure_osf_inner): Index rather than increment avalue
2015
        and arg_types.  Give ffi_closure_osf the raw return value type.
2016
        * src/alpha/osf.S (ffi_closure_osf): Handle return value type
2017
        promotion.
2018
 
2019
2000-12-07  Richard Henderson  
2020
 
2021
        * src/raw_api.c (ffi_translate_args): Fix typo.
2022
        (ffi_prep_closure): Likewise.
2023
 
2024
        * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
2025
        FFI_TRAMPOLINE_SIZE.
2026
        * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
2027
        cif->bytes for new ffi_call_osf implementation.
2028
        (ffi_prep_args): Absorb into ...
2029
        (ffi_call): ... here.  Do all stack allocation here and
2030
        avoid a callback function.
2031
        (ffi_prep_closure, ffi_closure_osf_inner): New.
2032
        * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
2033
        (ffi_closure_osf): New.
2034
 
2035
2000-09-10  Alexandre Oliva  
2036
 
2037
        * config.guess, config.sub, install-sh: Removed.
2038
        * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
2039
        * Makefile.in: Rebuilt.
2040
 
2041
        * acinclude.m4: Include libtool macros from the top level.
2042
        * aclocal.m4, configure: Rebuilt.
2043
 
2044
2000-08-22  Alexandre Oliva  
2045
 
2046
        * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
2047
        * configure: Rebuilt.
2048
 
2049
2000-05-11  Scott Bambrough  
2050
 
2051
        * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
2052
        memory correctly.  Use conditional instructions, not branches where
2053
        possible.
2054
 
2055
2000-05-04  Tom Tromey  
2056
 
2057
        * configure: Rebuilt.
2058
        * configure.in: Match `arm*-*-linux-*'.
2059
        From Chris Dornan .
2060
 
2061
2000-04-28  Jakub Jelinek  
2062
 
2063
        * Makefile.am (SUBDIRS): Define.
2064
        (AM_MAKEFLAGS): Likewise.
2065
        (Multilib support.): Add section.
2066
        * Makefile.in: Rebuilt.
2067
        * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
2068
        New variables. Set for gcc using -print-multi-lib. Export them
2069
        to libtool.
2070
        (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
2071
        * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
2072
        for -shared links.
2073
        (extra_compiler_flags_value, extra_compiler_flags): Check these
2074
        for extra compiler options which need to be passed down in
2075
        compiler_flags.
2076
 
2077
2000-04-16  Anthony Green  
2078
 
2079
        * configure: Rebuilt.
2080
        * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
2081
 
2082
2000-04-14  Jakub Jelinek  
2083
 
2084
        * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
2085
        Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
2086
        * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
2087
        Replace all void * sizeofs with sizeof(int).
2088
        Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
2089
        different than DOUBLE.
2090
        Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
2091
        (ffi_prep_args_v9): New function.
2092
        (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
2093
        (ffi_V9_return_struct): New function.
2094
        (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
2095
        32bit code (not yet cross-arch calls).
2096
        * src/sparc/v8.S: Add struct return delay nop.
2097
        Handle long long.
2098
        * src/sparc/v9.S: New file.
2099
        * src/prep_cif.c (ffi_prep_cif): Return structure pointer
2100
        is used on sparc64 only for structures larger than 32 bytes.
2101
        Pass by reference for structures is done for structure arguments
2102
        larger than 16 bytes.
2103
        * src/ffitest.c (main): Use 64bit rint on sparc64.
2104
        Run long long tests on sparc.
2105
        * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
2106
        sparc64.
2107
        (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
2108
        on sparc64.
2109
        * configure.in (sparc-*-linux*): New supported target.
2110
        (sparc64-*-linux*): Likewise.
2111
        * configure: Rebuilt.
2112
        * Makefile.am: Add v9.S to SPARC files.
2113
        * Makefile.in: Likewise.
2114
        (LINK): Surround $(CCLD) into double quotes, so that multilib
2115
        compiles work correctly.
2116
 
2117
2000-04-04  Alexandre Petit-Bianco  
2118
 
2119
        * configure: Rebuilt.
2120
        * configure.in: (i*86-*-solaris*): New libffi target. Patch
2121
        proposed by Bryce McKinlay.
2122
 
2123
2000-03-20  Tom Tromey  
2124
 
2125
        * Makefile.in: Hand edit for java_raw_api.lo.
2126
 
2127
2000-03-08  Bryce McKinlay  
2128
 
2129
        * config.guess, config.sub: Update from the gcc tree.
2130
        Fix for PR libgcj/168.
2131
 
2132
2000-03-03  Tom Tromey  
2133
 
2134
        * Makefile.in: Fixed ia64 by hand.
2135
 
2136
        * configure: Rebuilt.
2137
        * configure.in (--enable-multilib): New option.
2138
        (libffi_basedir): New subst.
2139
        (AC_OUTPUT): Added multilib code.
2140
 
2141
2000-03-02  Tom Tromey  
2142
 
2143
        * Makefile.in: Rebuilt.
2144
        * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
2145
        directory name.
2146
 
2147
2000-02-25  Hans Boehm 
2148
 
2149
        * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
2150
        files.
2151
        * src/raw_api.c (ffi_translate_args): Fixed typo in argument
2152
        list.
2153
        (ffi_prep_raw_closure): Use ffi_translate_args, not
2154
        ffi_closure_translate.
2155
        * src/java_raw_api.c: New file.
2156
        * src/ffitest.c (closure_test_fn): New function.
2157
        (main): Define `rint' as long long on IA64.  Added new test when
2158
        FFI_CLOSURES is defined.
2159
        * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
2160
        (ffi_abi): Recognize IA64.
2161
        (ffi_raw): Added `flt' field.
2162
        Added "Java raw API" code.
2163
        * configure.in: Recognize ia64.
2164
        * Makefile.am (TARGET_SRC_IA64): New macro.
2165
        (libffi_la_common_SOURCES): Added java_raw_api.c.
2166
        (libffi_la_SOURCES): Define in IA64 case.
2167
 
2168
2000-01-04  Tom Tromey  
2169
 
2170
        * Makefile.in: Rebuilt with newer automake.
2171
 
2172
1999-12-31  Tom Tromey  
2173
 
2174
        * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
2175
 
2176
1999-09-01  Tom Tromey  
2177
 
2178
        * include/ffi.h.in: Removed PACKAGE and VERSION defines and
2179
        undefs.
2180
        * fficonfig.h.in: Rebuilt.
2181
        * configure: Rebuilt.
2182
        * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
2183
        Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
2184
        * acconfig.h: Don't #undef PACKAGE or VERSION.
2185
 
2186
1999-08-09  Anthony Green  
2187
 
2188
        * include/ffi.h.in: Try to work around messy header problem
2189
        with PACKAGE and VERSION.
2190
 
2191
        * configure: Rebuilt.
2192
        * configure.in: Change version to 2.00-beta.
2193
 
2194
        * fficonfig.h.in: Rebuilt.
2195
        * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
2196
 
2197
        * src/x86/ffi.c (ffi_raw_call): Rename.
2198
 
2199
1999-08-02  Kresten Krab Thorup  
2200
 
2201
        * src/x86/ffi.c (ffi_closure_SYSV): New function.
2202
        (ffi_prep_incoming_args_SYSV): Ditto.
2203
        (ffi_prep_closure): Ditto.
2204
        (ffi_closure_raw_SYSV): Ditto.
2205
        (ffi_prep_raw_closure): More ditto.
2206
        (ffi_call_raw): Final ditto.
2207
 
2208
        * include/ffi.h.in: Add definitions for closure and raw API.
2209
 
2210
        * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
2211
        FFI_TYPE_UINT64.
2212
 
2213
        * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
2214
 
2215
        * src/raw_api.c: New file.
2216
 
2217
        * include/ffi.h.in (ffi_raw): New type.
2218
        (UINT_ARG, SINT_ARG): New defines.
2219
        (ffi_closure, ffi_raw_closure): New types.
2220
        (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
2221
 
2222
        * configure.in: Add check for endianness and sizeof void*.
2223
 
2224
        * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
2225
        instead of directly.
2226
 
2227
        * configure: Rebuilt.
2228
 
2229
Thu Jul  8 14:28:42 1999  Anthony Green  
2230
 
2231
        * configure.in: Add x86 and powerpc BeOS configurations.
2232
        From Makoto Kato .
2233
 
2234
1999-05-09  Anthony Green  
2235
 
2236
        * configure.in: Add warning about this being beta code.
2237
        Remove src/Makefile.am from the picture.
2238
        * configure: Rebuilt.
2239
 
2240
        * Makefile.am: Move logic from src/Makefile.am.  Add changes
2241
        to support libffi as a target library.
2242
        * Makefile.in: Rebuilt.
2243
 
2244
        * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
2245
        Upgraded to new autoconf, automake, libtool.
2246
 
2247
        * README: Tweaks.
2248
 
2249
        * LICENSE: Update copyright date.
2250
 
2251
        * src/Makefile.am, src/Makefile.in: Removed.
2252
 
2253
1998-11-29  Anthony Green  
2254
 
2255
        * include/ChangeLog: Removed.
2256
        * src/ChangeLog: Removed.
2257
        * src/mips/ChangeLog: Removed.
2258
        * src/sparc/ChangeLog: Remboved.
2259
        * src/x86/ChangeLog: Removed.
2260
 
2261
        * ChangeLog.v1: Created.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.