~ubuntu-branches/ubuntu/lucid/gauche-c-wrapper/lucid

« back to all changes in this revision

Viewing changes to libffi/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): NIIBE Yutaka
  • Date: 2008-04-07 09:15:03 UTC
  • Revision ID: james.westby@ubuntu.com-20080407091503-wu0h414koe95kj4i
Tags: upstream-0.5.2
ImportĀ upstreamĀ versionĀ 0.5.2

Show diffs side-by-side

added added

removed removed

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