aboutsummaryrefslogtreecommitdiff
path: root/libffi/ChangeLog
blob: 60ed79e4776c03d636445fa6c610183af4bdd74a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
2002-07-25  Release Manager

	* GCC 3.1.1 Released.

2002-05-28  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi.c (ffi_prep_incoming_args_SYSV): Remove avn
	here too.

2002-05-27  Roger Sayle  <roger@eyesopen.com>

	* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.

2002-05-27  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
	fix formatting.

2002-05-14  Release Manager

	* GCC 3.1 Released.

2002-05-14  Release Manager

	* GCC 3.1 Released.

2002-05-08  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

2002-04-28  David S. Miller  <davem@redhat.com>

	* configure.in, configure: Fix SPARC test in previous change.

2002-04-28  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
	%r_disp32().
	* src/sparc/v8.S: Use it.
	* src/sparc/v9.S: Likewise.
	* fficonfig.h.in: Rebuilt.
	* configure: Rebuilt.

2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>

	* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
	correctly.
	* src/ia64/unix.S: Add unwind information. Fix comments.
	Save sp in a way that's compatible with unwind info.
	(ffi_call_unix): Correctly restore sp in all cases.
	* src/ia64/ffi.c: Add, fix comments.

2002-04-08  Jakub Jelinek  <jakub@redhat.com>

	* src/sparc/v8.S: Make .eh_frame dependent on target word size.

2002-04-04  Jeff Sturm  <jsturm@one-point.com>

	* src/sparc/v8.S: Add unwind info.
	* src/sparc/v9.S: Likewise.

2002-04-01  Loren J. Rittle  <ljrittle@acm.org>

	* configure.in: Enable alpha*-*-freebsd*.
	* configure: Rebuilt.

2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Enable i*86-*-netbsdelf*.
	* configure: Rebuilt.
	
2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>

	PR other/2620
	* src/mips/n32.s: Delete
	* src/mips/o32.s: Delete

2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am: libfficonvenience -> libffi_convenience.
	* Makefile.in: Rebuilt.
	
	* Makefile.am: Define ffitest_OBJECTS.
	* Makefile.in: Rebuilt.

2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
	    David Edelsohn  <edelsohn@gnu.org>

	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
	* Makefile.in: Regenerate.
	* include/ffi.h.in: Add AIX and Darwin closure definitions.
	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
	(flush_icache, flush_range): New functions.
	(ffi_closure_helper_DARWIN): New function.
	* src/powerpc/aix_closure.S: New file.
	* src/powerpc/darwin_closure.S: New file.
	
2002-02-24  Jeff Sturm  <jsturm@one-point.com>

	* include/ffi.h.in: Add typedef for ffi_arg.
	* src/ffitest.c (main): Declare rint with ffi_arg.
 
2002-02-21  Andreas Tobler  <toa@pop.agri.ch>

	* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
	number of GPRs for floating-point arguments.

2002-01-31  Anthony Green  <green@redhat.com>

	* configure: Rebuilt.
	* configure.in: Replace CHECK_SIZEOF and endian tests with
	cross-compiler friendly macros.
	* aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
	macros.

2002-01-18  David Edelsohn  <edelsohn@gnu.org>

	* src/powerpc/darwin.S (_ffi_call_AIX): New.
	* src/powerpc/aix.S (ffi_call_DARWIN): New.

2002-01-17  David Edelsohn  <edelsohn@gnu.org>

	* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
	(TARGET_SRC_POWERPC_AIX): New.
	(POWERPC_AIX): New stanza.
	* Makefile.in: Regenerate.
	* configure.in: Add AIX case.
	* configure: Regenerate.
	* include/ffi.h.in (ffi_abi): Add FFI_AIX.
	* src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
	size.  Fix "long double" support.
	(ffi_call): Add FFI_AIX case.
	* src/powerpc/aix.S: New.

2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>

	Implement Darwin PowerPC ABI.
	* configure.in: Handle powerpc-*-darwin*.
	* Makefile.am: Set source files for POWERPC_DARWIN.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.
	* include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
	POWERPC_DARWIN.
	* src/powerpc/darwin.S: New file.
	* src/powerpc/ffi_darwin.c: New file.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".

2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/x86/sysv.S: Avoid gas-only .balign directive.
	Use C style comments.

2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
	Fixes PR bootstrap/3563.

2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.

2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Recognize sparc*-sun-* host.
	* configure: Regenerate.
	
2001-06-06  Andrew Haley  <aph@redhat.com>

        * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.

2001-06-03  Andrew Haley  <aph@redhat.com>

        * src/alpha/osf.S: Add unwind info.
        * src/powerpc/sysv.S: Add unwind info.
        * src/powerpc/ppc_closure.S: Likewise.

2000-05-31  Jeff Sturm  <jsturm@one-point.com>

	* configure.in: Fix AC_ARG_ENABLE usage.
	* configure: Rebuilt.

2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.in: Remove warning about beta code.
	* configure: Rebuilt.

2001-04-25  Hans Boehm <Hans_Boehm@hp.com>

	* src/ia64/unix.S: Restore stack pointer when returning from
	ffi_closure_UNIX.
	* src/ia64/ffi.c: Fix typo in comment.

2001-04-18  Jim Wilson  <wilson@redhat.com>

	* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
	to eliminate RAW DV.

2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>

	* Makefile.am: Make a libtool convenience library.
	* Makefile.in: Rebuilt.

2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>

	* configure.in: Use different syntax for subdirectory creation.
	* configure: Rebuilt.

2001-03-27  Jon Beniston  <jon@beniston.com>

	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
	* configure: Rebuilt.
	* Makefile.am: Added X86_WIN32 target support.
	* Makefile.in: Rebuilt.

	* include/ffi.h.in: Added X86_WIN32 target support.

	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
	* src/types.c: Added X86_WIN32 target support.

	* src/x86/win32.S: New file. Based on sysv.S, but with EH
	stuff removed and made to work with CygWin's gas.

2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>

	* configure.in: Make target subdirectory in build dir.
	* Makefile.am: Override suffix based rules to specify correct output
	subdirectory.
	* Makefile.in: Rebuilt.
	* configure: Rebuilt.

2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>

	* src/powerpc/ppc_closure.S: New file.
	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
	involving long long and register pairs.
	(ffi_prep_closure): New function.
	(flush_icache): Likewise.
	(ffi_closure_helper_SYSV): Likewise.
	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
	(FFI_TRAMPOLINE_SIZE): Likewise.
	(FFI_NATIVE_RAW_API): Likewise.
	* Makefile.in: Rebuilt.
	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
	(TARGET_SRC_POWERPC): Likewise.

2001-03-19  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ffitest_LDFLAGS): New macro.

2001-03-02  Nick Clifton  <nickc@redhat.com>

	* include/ffi.h.in: Remove RCS ident string.
	* include/ffi_mips.h: Remove RCS ident string.
	* src/debug.c: Remove RCS ident string.
	* src/ffitest.c: Remove RCS ident string.
	* src/prep_cif.c: Remove RCS ident string.
	* src/types.c: Remove RCS ident string.
	* src/alpha/ffi.c: Remove RCS ident string.
	* src/alpha/osf.S: Remove RCS ident string.
	* src/arm/ffi.c: Remove RCS ident string.
	* src/arm/sysv.S: Remove RCS ident string.
	* src/mips/ffi.c: Remove RCS ident string.
	* src/mips/n32.S: Remove RCS ident string.
	* src/mips/o32.S: Remove RCS ident string.
	* src/sparc/ffi.c: Remove RCS ident string.
	* src/sparc/v8.S: Remove RCS ident string.
	* src/sparc/v9.S: Remove RCS ident string.
	* src/x86/ffi.c: Remove RCS ident string.
	* src/x86/sysv.S: Remove RCS ident string.

2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* include/ffi.h.in: Change sourceware.cygnus.com references to
	gcc.gnu.org.

2000-12-09  Richard Henderson  <rth@redhat.com>

	* src/alpha/ffi.c (ffi_call): Simplify struct return test.
	(ffi_closure_osf_inner): Index rather than increment avalue
	and arg_types.  Give ffi_closure_osf the raw return value type.
	* src/alpha/osf.S (ffi_closure_osf): Handle return value type
	promotion.

2000-12-07  Richard Henderson  <rth@redhat.com>

	* src/raw_api.c (ffi_translate_args): Fix typo.
	(ffi_prep_closure): Likewise.

	* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
	FFI_TRAMPOLINE_SIZE.
	* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
	cif->bytes for new ffi_call_osf implementation.
	(ffi_prep_args): Absorb into ...
	(ffi_call): ... here.  Do all stack allocation here and
	avoid a callback function.
	(ffi_prep_closure, ffi_closure_osf_inner): New.
	* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
	(ffi_closure_osf): New.

2000-09-10  Alexandre Oliva  <aoliva@redhat.com>

	* config.guess, config.sub, install-sh: Removed.
	* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
	* Makefile.in: Rebuilt.

	* acinclude.m4: Include libtool macros from the top level.
	* aclocal.m4, configure: Rebuilt.

2000-08-22  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
	* configure: Rebuilt.

2000-05-11  Scott Bambrough  <scottb@netwinder.org>

	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to 
	memory correctly.  Use conditional instructions, not branches where 
	possible.

2000-05-04  Tom Tromey  <tromey@cygnus.com>

	* configure: Rebuilt.
	* configure.in: Match `arm*-*-linux-*'.
	From Chris Dornan <cdornan@arm.com>.

2000-04-28  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (SUBDIRS): Define.
	(AM_MAKEFLAGS): Likewise.
	(Multilib support.): Add section.
	* Makefile.in: Rebuilt.
	* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
        New variables. Set for gcc using -print-multi-lib. Export them
        to libtool.
        (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
        * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
        for -shared links.
        (extra_compiler_flags_value, extra_compiler_flags): Check these
        for extra compiler options which need to be passed down in
        compiler_flags.

2000-04-16  Anthony Green  <green@redhat.com>

	* configure: Rebuilt.
	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.

2000-04-14  Jakub Jelinek  <jakub@redhat.com>

        * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
	Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
	* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
	Replace all void * sizeofs with sizeof(int).
	Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
	different than DOUBLE.
	Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
	(ffi_prep_args_v9): New function.
	(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
	(ffi_V9_return_struct): New function.
	(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
	32bit code (not yet cross-arch calls).
	* src/sparc/v8.S: Add struct return delay nop.
	Handle long long.
	* src/sparc/v9.S: New file.
	* src/prep_cif.c (ffi_prep_cif): Return structure pointer
	is used on sparc64 only for structures larger than 32 bytes.
	Pass by reference for structures is done for structure arguments
	larger than 16 bytes.
	* src/ffitest.c (main): Use 64bit rint on sparc64.
	Run long long tests on sparc.
	* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
	sparc64.
	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
	on sparc64.
	* configure.in (sparc-*-linux*): New supported target.
	(sparc64-*-linux*): Likewise.
	* configure: Rebuilt.
	* Makefile.am: Add v9.S to SPARC files.
	* Makefile.in: Likewise.
	(LINK): Surround $(CCLD) into double quotes, so that multilib
	compiles work correctly.

2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* configure: Rebuilt.
	* configure.in: (i*86-*-solaris*): New libffi target. Patch
	proposed by Bryce McKinlay.

2000-03-20  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in: Hand edit for java_raw_api.lo.

2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>

	* config.guess, config.sub: Update from the gcc tree.
	Fix for PR libgcj/168.

2000-03-03  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in: Fixed ia64 by hand.

	* configure: Rebuilt.
	* configure.in (--enable-multilib): New option.
	(libffi_basedir): New subst.
	(AC_OUTPUT): Added multilib code.

2000-03-02  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
	directory name.

2000-02-25  Hans Boehm <boehm@acm.org>

	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
	files.
	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
	list.
	(ffi_prep_raw_closure): Use ffi_translate_args, not
	ffi_closure_translate.
	* src/java_raw_api.c: New file.
	* src/ffitest.c (closure_test_fn): New function.
	(main): Define `rint' as long long on IA64.  Added new test when
	FFI_CLOSURES is defined.
	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
	(ffi_abi): Recognize IA64.
	(ffi_raw): Added `flt' field.
	Added "Java raw API" code.
	* configure.in: Recognize ia64.
	* Makefile.am (TARGET_SRC_IA64): New macro.
	(libffi_la_common_SOURCES): Added java_raw_api.c.
	(libffi_la_SOURCES): Define in IA64 case.

2000-01-04  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in: Rebuilt with newer automake.

1999-12-31  Tom Tromey  <tromey@cygnus.com>

	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.

1999-09-01  Tom Tromey  <tromey@cygnus.com>

	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
	undefs.
	* fficonfig.h.in: Rebuilt.
	* configure: Rebuilt.
	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
	* acconfig.h: Don't #undef PACKAGE or VERSION.

1999-08-09  Anthony Green  <green@cygnus.com>

	* include/ffi.h.in: Try to work around messy header problem
	with PACKAGE and VERSION.

	* configure: Rebuilt.
	* configure.in: Change version to 2.00-beta.

        * fficonfig.h.in: Rebuilt.
	* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.

	* src/x86/ffi.c (ffi_raw_call): Rename.

1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>

	* src/x86/ffi.c (ffi_closure_SYSV): New function.
	(ffi_prep_incoming_args_SYSV): Ditto.
	(ffi_prep_closure): Ditto.
	(ffi_closure_raw_SYSV): Ditto.
	(ffi_prep_raw_closure): More ditto.
	(ffi_call_raw): Final ditto.

	* include/ffi.h.in: Add definitions for closure and raw API.

	* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
	FFI_TYPE_UINT64.  

	* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c

	* src/raw_api.c: New file.

	* include/ffi.h.in (ffi_raw): New type.
	(UINT_ARG, SINT_ARG): New defines.
	(ffi_closure, ffi_raw_closure): New types.
	(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
	
	* configure.in: Add check for endianness and sizeof void*.

	* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
	instead of directly.

	* configure: Rebuilt.

Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>

	* configure.in: Add x86 and powerpc BeOS configurations.
	From Makoto Kato <m_kato@ga2.so-net.ne.jp>.

1999-05-09  Anthony Green  <green@cygnus.com>

	* configure.in: Add warning about this being beta code.
	Remove src/Makefile.am from the picture.
	* configure: Rebuilt.

	* Makefile.am: Move logic from src/Makefile.am.  Add changes
	to support libffi as a target library.
	* Makefile.in: Rebuilt.

	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
	Upgraded to new autoconf, automake, libtool.

	* README: Tweaks.

	* LICENSE: Update copyright date.

	* src/Makefile.am, src/Makefile.in: Removed.

1998-11-29  Anthony Green  <green@cygnus.com>

	* include/ChangeLog: Removed.
	* src/ChangeLog: Removed.
	* src/mips/ChangeLog: Removed.
	* src/sparc/ChangeLog: Remboved.
	* src/x86/ChangeLog: Removed.

	* ChangeLog.v1: Created.