xref: /aosp_15_r20/external/libffi/ChangeLog.libffi-3.1 (revision 1fd5a2e1d639cd1ddf29dd0c484c123bbd850c21)
1*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett  <[email protected]>
2*1fd5a2e1SPrashanth Swaminathan
3*1fd5a2e1SPrashanth Swaminathan	* ChangeLog: Archive to ChangeLog.libffi-3.1 and delete.  Future
4*1fd5a2e1SPrashanth Swaminathan	changelogs will come from git, with autogenerated snapshots shipped in
5*1fd5a2e1SPrashanth Swaminathan	distributed tarballs.
6*1fd5a2e1SPrashanth Swaminathan
7*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett  <[email protected]>
8*1fd5a2e1SPrashanth Swaminathan
9*1fd5a2e1SPrashanth Swaminathan	Add support for stdcall, thiscall, and fastcall on non-Windows
10*1fd5a2e1SPrashanth Swaminathan	x86-32.
11*1fd5a2e1SPrashanth Swaminathan
12*1fd5a2e1SPrashanth Swaminathan	Linux supports the stdcall calling convention, either via
13*1fd5a2e1SPrashanth Swaminathan	functions explicitly declared with the stdcall attribute, or via
14*1fd5a2e1SPrashanth Swaminathan	code compiled with -mrtd which effectively makes stdcall the
15*1fd5a2e1SPrashanth Swaminathan	default.
16*1fd5a2e1SPrashanth Swaminathan
17*1fd5a2e1SPrashanth Swaminathan	This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on
18*1fd5a2e1SPrashanth Swaminathan	non-Windows x86-32 platforms, as non-default calling conventions.
19*1fd5a2e1SPrashanth Swaminathan
20*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Compile in src/x86/win32.S on non-Windows x86-32.
21*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and
22*1fd5a2e1SPrashanth Swaminathan	FFI_FASTCALL on non-Windows x86-32.  Increase trampoline size to
23*1fd5a2e1SPrashanth Swaminathan	accomodate these calling conventions, and unify some ifdeffery.
24*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Add support for FFI_STDCALL, FFI_THISCALL, and
25*1fd5a2e1SPrashanth Swaminathan	FFI_FASTCALL on non-Windows x86-32 platforms; update ifdeffery.
26*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Support compiling on non-Windows x86-32
27*1fd5a2e1SPrashanth Swaminathan	platforms.  On those platforms, avoid redefining the SYSV symbols
28*1fd5a2e1SPrashanth Swaminathan	already provided by src/x86/sysv.S.
29*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_stdcall.c: Run on non-Windows.
30*1fd5a2e1SPrashanth Swaminathan	#define __stdcall if needed.
31*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_thiscall.c: Run on non-Windows.
32*1fd5a2e1SPrashanth Swaminathan	#define __fastcall if needed.
33*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis1_win32.c: Run on non-Windows.
34*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis2_win32.c: Ditto.
35*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis3_win32.c: Ditto.
36*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many2_win32.c: Ditto.
37*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c: Ditto.
38*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen2_win32.c: Ditto.
39*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen_win32.c: Ditto.
40*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1_win32.c: Ditto.
41*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2_win32.c: Ditto.
42*1fd5a2e1SPrashanth Swaminathan
43*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett  <[email protected]>
44*1fd5a2e1SPrashanth Swaminathan
45*1fd5a2e1SPrashanth Swaminathan	* prep_cif.c: Remove unnecessary ifdef for X86_WIN32.
46*1fd5a2e1SPrashanth Swaminathan	ffi_prep_cif_core had a special case for X86_WIN32, checking for
47*1fd5a2e1SPrashanth Swaminathan	FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI
48*1fd5a2e1SPrashanth Swaminathan	range before returning FFI_BAD_ABI.  However, on X86_WIN32,
49*1fd5a2e1SPrashanth Swaminathan	FFI_THISCALL already falls in that range, making the special case
50*1fd5a2e1SPrashanth Swaminathan	unnecessary.  Remove it.
51*1fd5a2e1SPrashanth Swaminathan
52*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett  <[email protected]>
53*1fd5a2e1SPrashanth Swaminathan
54*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_stdcall.c,
55*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_thiscall.c: Remove fragile stack
56*1fd5a2e1SPrashanth Swaminathan	pointer checks.  These files included inline assembly to save the
57*1fd5a2e1SPrashanth Swaminathan	stack pointer before and after the call, and compare the values.
58*1fd5a2e1SPrashanth Swaminathan	However, compilers can and do leave the stack in different states
59*1fd5a2e1SPrashanth Swaminathan	for these two pieces of inline assembly, such as by saving a
60*1fd5a2e1SPrashanth Swaminathan	temporary value on the stack across the call; observed with gcc
61*1fd5a2e1SPrashanth Swaminathan	-Os, and verified as spurious through careful inspection of
62*1fd5a2e1SPrashanth Swaminathan	disassembly.
63*1fd5a2e1SPrashanth Swaminathan
64*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett  <[email protected]>
65*1fd5a2e1SPrashanth Swaminathan
66*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many.c: Avoid spurious failure due to
67*1fd5a2e1SPrashanth Swaminathan	excess floating-point precision.
68*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c: Ditto.
69*1fd5a2e1SPrashanth Swaminathan
70*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett <[email protected]>
71*1fd5a2e1SPrashanth Swaminathan
72*1fd5a2e1SPrashanth Swaminathan	* libtool-ldflags: Re-add.
73*1fd5a2e1SPrashanth Swaminathan
74*1fd5a2e1SPrashanth Swaminathan2014-03-16  Josh Triplett <[email protected]>
75*1fd5a2e1SPrashanth Swaminathan
76*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, aclocal.m4, compile, config.guess, config.sub,
77*1fd5a2e1SPrashanth Swaminathan	configure, depcomp, include/Makefile.in, install-sh,
78*1fd5a2e1SPrashanth Swaminathan	libtool-ldflags, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
79*1fd5a2e1SPrashanth Swaminathan	m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
80*1fd5a2e1SPrashanth Swaminathan	man/Makefile.in, mdate-sh, missing, testsuite/Makefile.in: Delete
81*1fd5a2e1SPrashanth Swaminathan	autogenerated files from version control.
82*1fd5a2e1SPrashanth Swaminathan	* .gitignore: Add autogenerated files.
83*1fd5a2e1SPrashanth Swaminathan	* autogen.sh: New script to generate the autogenerated files.
84*1fd5a2e1SPrashanth Swaminathan	* README: Document requirement to run autogen.sh when building
85*1fd5a2e1SPrashanth Swaminathan	directly from version control.
86*1fd5a2e1SPrashanth Swaminathan	* .travis.yml: Run autogen.sh
87*1fd5a2e1SPrashanth Swaminathan
88*1fd5a2e1SPrashanth Swaminathan2014-03-14  Anthony Green <[email protected]>
89*1fd5a2e1SPrashanth Swaminathan
90*1fd5a2e1SPrashanth Swaminathan	* configure, Makefile.in: Rebuilt.
91*1fd5a2e1SPrashanth Swaminathan
92*1fd5a2e1SPrashanth Swaminathan2014-03-10  Mike Hommey <[email protected]>
93*1fd5a2e1SPrashanth Swaminathan
94*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Allow building for mipsel with Android NDK r8.
95*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single
96*1fd5a2e1SPrashanth Swaminathan	quotes.
97*1fd5a2e1SPrashanth Swaminathan
98*1fd5a2e1SPrashanth Swaminathan2014-03-10  Landry Breuil <[email protected]>
99*1fd5a2e1SPrashanth Swaminathan
100*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Ensure the linker supports @unwind sections in libffi.
101*1fd5a2e1SPrashanth Swaminathan
102*1fd5a2e1SPrashanth Swaminathan2014-03-01  Anthony Green  <[email protected]>
103*1fd5a2e1SPrashanth Swaminathan
104*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Replace old scripts with
105*1fd5a2e1SPrashanth Swaminathan	generate-darwin-source-and-headers.py.
106*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
107*1fd5a2e1SPrashanth Swaminathan
108*1fd5a2e1SPrashanth Swaminathan2014-02-28  Anthony Green  <[email protected]>
109*1fd5a2e1SPrashanth Swaminathan
110*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_CFLAGS): Reintroduce missing -DFFI_DEBUG for
111*1fd5a2e1SPrashanth Swaminathan	--enable-debug builds.
112*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
113*1fd5a2e1SPrashanth Swaminathan
114*1fd5a2e1SPrashanth Swaminathan2014-02-28  Makoto Kato  <[email protected]>
115*1fd5a2e1SPrashanth Swaminathan
116*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Fix build failure when using clang for Android.
117*1fd5a2e1SPrashanth Swaminathan
118*1fd5a2e1SPrashanth Swaminathan2014-02-28  Marcin Wojdyr  <[email protected]>
119*1fd5a2e1SPrashanth Swaminathan
120*1fd5a2e1SPrashanth Swaminathan	* libffi.pc.in (toolexeclibdir): use -L${toolexeclibdir} instead
121*1fd5a2e1SPrashanth Swaminathan	of -L${libdir}.
122*1fd5a2e1SPrashanth Swaminathan
123*1fd5a2e1SPrashanth Swaminathan2014-02-28  Paulo Pizarro  <[email protected]>
124*1fd5a2e1SPrashanth Swaminathan
125*1fd5a2e1SPrashanth Swaminathan	* src/bfin/sysv.S: Calling functions in shared libraries requires
126*1fd5a2e1SPrashanth Swaminathan	considering the GOT.
127*1fd5a2e1SPrashanth Swaminathan
128*1fd5a2e1SPrashanth Swaminathan2014-02-28  Josh Triplett  <[email protected]>
129*1fd5a2e1SPrashanth Swaminathan
130*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (classify_argument): Handle case where
131*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE.
132*1fd5a2e1SPrashanth Swaminathan
133*1fd5a2e1SPrashanth Swaminathan2014-02-28  Anthony Green  <[email protected]>
134*1fd5a2e1SPrashanth Swaminathan
135*1fd5a2e1SPrashanth Swaminathan	* ltmain.sh: Generate with libtool-2.4.2.418.
136*1fd5a2e1SPrashanth Swaminathan	* m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4: Ditto.
137*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
138*1fd5a2e1SPrashanth Swaminathan
139*1fd5a2e1SPrashanth Swaminathan2014-02-28  Dominik Vogt  <[email protected]>
140*1fd5a2e1SPrashanth Swaminathan
141*1fd5a2e1SPrashanth Swaminathan	* configure.ac (AC_ARG_ENABLE struct): Fix typo in help
142*1fd5a2e1SPrashanth Swaminathan	message.
143*1fd5a2e1SPrashanth Swaminathan	(AC_ARG_ENABLE raw_api): Ditto.
144*1fd5a2e1SPrashanth Swaminathan	* configure, fficonfig.h.in: Rebuilt.
145*1fd5a2e1SPrashanth Swaminathan
146*1fd5a2e1SPrashanth Swaminathan2014-02-28  Will Newton  <[email protected]>
147*1fd5a2e1SPrashanth Swaminathan
148*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Initialize IP register with FP.
149*1fd5a2e1SPrashanth Swaminathan
150*1fd5a2e1SPrashanth Swaminathan2014-02-28  Yufeng Zhang  <[email protected]>
151*1fd5a2e1SPrashanth Swaminathan
152*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
153*1fd5a2e1SPrashanth Swaminathan	main CFA reg; update cfi_rel_offset.
154*1fd5a2e1SPrashanth Swaminathan
155*1fd5a2e1SPrashanth Swaminathan2014-02-15  Marcus Comstedt  <[email protected]>
156*1fd5a2e1SPrashanth Swaminathan
157*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_linux64.c, src/powerpc/linux64_closure.S: Remove
158*1fd5a2e1SPrashanth Swaminathan	assumption on contents of r11 in closure.
159*1fd5a2e1SPrashanth Swaminathan
160*1fd5a2e1SPrashanth Swaminathan2014-02-09  Heiher  <[email protected]>
161*1fd5a2e1SPrashanth Swaminathan
162*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Fix call floating point va function.
163*1fd5a2e1SPrashanth Swaminathan
164*1fd5a2e1SPrashanth Swaminathan2014-01-21  Zachary Waldowski  <[email protected]>
165*1fd5a2e1SPrashanth Swaminathan
166*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/ffi.c: Fix missing semicolons on assertions under
167*1fd5a2e1SPrashanth Swaminathan	debug mode.
168*1fd5a2e1SPrashanth Swaminathan
169*1fd5a2e1SPrashanth Swaminathan2013-12-30  Zachary Waldowski  <[email protected]>
170*1fd5a2e1SPrashanth Swaminathan
171*1fd5a2e1SPrashanth Swaminathan	* .gitignore: Exclude darwin_* generated source and build_* trees.
172*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/ffi.c, src/arm/ffi.c, src/x86/ffi.c: Inhibit Clang
173*1fd5a2e1SPrashanth Swaminathan	previous prototype warnings.
174*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c: Prevent NULL dereference, fix short type warning
175*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c: Fix warnings from set_segment_flags return type,
176*1fd5a2e1SPrashanth Swaminathan	and the native use of size_t for malloc on platforms
177*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Use unified syntax. Clang clean-ups for
178*1fd5a2e1SPrashanth Swaminathan	ARM_FUNC_START.
179*1fd5a2e1SPrashanth Swaminathan	* generate-osx-source-and-headers.py: Remove.
180*1fd5a2e1SPrashanth Swaminathan	* build-ios.sh: Remove.
181*1fd5a2e1SPrashanth Swaminathan	* libffi.xcodeproj/project.pbxproj: Rebuild targets. Include
182*1fd5a2e1SPrashanth Swaminathan	x86_64+aarch64 pieces in library.  Export headers properly.
183*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: More Clang warning clean-ups.
184*1fd5a2e1SPrashanth Swaminathan	* src/closures.c (open_temp_exec_file_dir): Use size_t.
185*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif_core): Cast ALIGN result.
186*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/sysv.S: Use CNAME for global symbols.  Only use
187*1fd5a2e1SPrashanth Swaminathan	.size for ELF targets.
188*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/ffi.c: Clean up for double == long double.  Clean up
189*1fd5a2e1SPrashanth Swaminathan	from Clang warnings.  Use Clang cache invalidation builtin.  Use
190*1fd5a2e1SPrashanth Swaminathan	size_t in place of unsigned in many places.  Accommodate for
191*1fd5a2e1SPrashanth Swaminathan	differences in Apple AArch64 ABI.
192*1fd5a2e1SPrashanth Swaminathan
193*1fd5a2e1SPrashanth Swaminathan2013-12-02  Daniel Rodríguez Troitiño  <[email protected]>
194*1fd5a2e1SPrashanth Swaminathan
195*1fd5a2e1SPrashanth Swaminathan	* generate-darwin-source-and-headers.py: Clean up, modernize,
196*1fd5a2e1SPrashanth Swaminathan	merged version of previous scripts.
197*1fd5a2e1SPrashanth Swaminathan
198*1fd5a2e1SPrashanth Swaminathan2013-11-21  Anthony Green  <[email protected]>
199*1fd5a2e1SPrashanth Swaminathan
200*1fd5a2e1SPrashanth Swaminathan	* configure, Makefile.in, include/Makefile.in, include/ffi.h.in,
201*1fd5a2e1SPrashanth Swaminathan	man/Makefile.in, testsuite/Makefile.in, fficonfig.h.in: Rebuilt.
202*1fd5a2e1SPrashanth Swaminathan
203*1fd5a2e1SPrashanth Swaminathan2013-11-21  Alan Modra  <[email protected]>
204*1fd5a2e1SPrashanth Swaminathan
205*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add new src/powerpc files.
206*1fd5a2e1SPrashanth Swaminathan	(nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
207*1fd5a2e1SPrashanth Swaminathan	* configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
208*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ffi_prep_types): Declare.
209*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
210*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_NONCONST_TYPEDEF): Define and use for
211*1fd5a2e1SPrashanth Swaminathan	HAVE_LONG_DOUBLE_VARIANT.
212*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_powerpc.h: New file.
213*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Split into..
214*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_sysv.c: ..new file, and..
215*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_linux64.c: ..new file, rewriting parts.
216*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI
217*1fd5a2e1SPrashanth Swaminathan	selection as bits controlling features.
218*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: For consistency, use POWERPC64 rather
219*1fd5a2e1SPrashanth Swaminathan	than __powerpc64__.
220*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Likewise.
221*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Likewise.  Move .note.FNU-stack
222*1fd5a2e1SPrashanth Swaminathan	inside guard.
223*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Likewise.
224*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
225*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
226*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
227*1fd5a2e1SPrashanth Swaminathan
228*1fd5a2e1SPrashanth Swaminathan2013-11-20  Alan Modra  <[email protected]>
229*1fd5a2e1SPrashanth Swaminathan
230*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use
231*1fd5a2e1SPrashanth Swaminathan	NUM_FPR_ARG_REGISTERS64 and NUM_GPR_ARG_REGISTERS64 not their
232*1fd5a2e1SPrashanth Swaminathan	32-bit versions for 64-bit code.
233*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Don't use the return value area
234*1fd5a2e1SPrashanth Swaminathan	as a parameter save area on ELFv2.
235*1fd5a2e1SPrashanth Swaminathan
236*1fd5a2e1SPrashanth Swaminathan2013-11-18  Iain Sandoe  <[email protected]>
237*1fd5a2e1SPrashanth Swaminathan
238*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S (EH): Correct use of pcrel FDE encoding.
239*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S (EH): Likewise. Modernise picbase
240*1fd5a2e1SPrashanth Swaminathan	labels.
241*1fd5a2e1SPrashanth Swaminathan
242*1fd5a2e1SPrashanth Swaminathan2013-11-18  Anthony Green  <[email protected]>
243*1fd5a2e1SPrashanth Swaminathan
244*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_call): Hoist declaration of temp to top of
245*1fd5a2e1SPrashanth Swaminathan	function.
246*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_closure_inner): Moderize function declaration
247*1fd5a2e1SPrashanth Swaminathan	to appease compiler.
248*1fd5a2e1SPrashanth Swaminathan	Thanks for Gregory P. Smith <[email protected]>.
249*1fd5a2e1SPrashanth Swaminathan
250*1fd5a2e1SPrashanth Swaminathan2013-11-18  Anthony Green  <[email protected]>
251*1fd5a2e1SPrashanth Swaminathan
252*1fd5a2e1SPrashanth Swaminathan	* README (tested): Mention PowerPC ELFv2.
253*1fd5a2e1SPrashanth Swaminathan
254*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
255*1fd5a2e1SPrashanth Swaminathan
256*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Move errant #endif to where it belongs.
257*1fd5a2e1SPrashanth Swaminathan	Don't bl .Luint128.
258*1fd5a2e1SPrashanth Swaminathan
259*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
260*1fd5a2e1SPrashanth Swaminathan
261*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF
262*1fd5a2e1SPrashanth Swaminathan	test to select parameter save sizing for ELFv2 vs. ELFv1.
263*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (FFI_V2_TYPE_FLOAT_HOMOG,
264*1fd5a2e1SPrashanth Swaminathan	FFI_V2_TYPE_DOUBLE_HOMOG, FFI_V2_TYPE_SMALL_STRUCT): Define.
265*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Define variant for ELFv2.
266*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (FLAG_ARG_NEEDS_PSAVE): Define.
267*1fd5a2e1SPrashanth Swaminathan	(discover_homogeneous_aggregate): New function.
268*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args64): Adjust start of param save area for ELFv2.
269*1fd5a2e1SPrashanth Swaminathan	Handle homogenous floating point struct parms.
270*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep_core): Adjust space calculation for ELFv2.
271*1fd5a2e1SPrashanth Swaminathan	Handle ELFv2 return values.  Set FLAG_ARG_NEEDS_PSAVE.  Handle
272*1fd5a2e1SPrashanth Swaminathan	homogenous floating point structs.
273*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Increase size of smst_buffer for ELFv2.  Handle ELFv2.
274*1fd5a2e1SPrashanth Swaminathan	(flush_icache): Compile for ELFv2.
275*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Set up ELFv2 trampoline.
276*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Don't return all structs directly
277*1fd5a2e1SPrashanth Swaminathan	to caller.  Handle homogenous floating point structs.  Handle
278*1fd5a2e1SPrashanth Swaminathan	ELFv2 struct return values.
279*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Set up r2 for
280*1fd5a2e1SPrashanth Swaminathan	ELFv2.  Adjust toc save location.  Call function pointer using
281*1fd5a2e1SPrashanth Swaminathan	r12.  Handle FLAG_RETURNS_SMST.  Don't predict branches.
282*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Set up r2
283*1fd5a2e1SPrashanth Swaminathan	for ELFv2.  Define ELFv2 versions of STACKFRAME, PARMSAVE, and
284*1fd5a2e1SPrashanth Swaminathan	RETVAL.  Handle possibly missing parameter save area.  Handle
285*1fd5a2e1SPrashanth Swaminathan	ELFv2 return values.
286*1fd5a2e1SPrashanth Swaminathan	(.note.GNU-stack): Move inside outer #ifdef.
287*1fd5a2e1SPrashanth Swaminathan
288*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
289*1fd5a2e1SPrashanth Swaminathan
290*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08
291*1fd5a2e1SPrashanth Swaminathan	change.  Do not consume an int arg when returning a small struct
292*1fd5a2e1SPrashanth Swaminathan	for FFI_SYSV ABI.
293*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST.
294*1fd5a2e1SPrashanth Swaminathan	Properly copy bounce buffer to destination.
295*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Revert 2013-02-08 change.
296*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Remove stray '+'.
297*1fd5a2e1SPrashanth Swaminathan
298*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
299*1fd5a2e1SPrashanth Swaminathan
300*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters
301*1fd5a2e1SPrashanth Swaminathan	according to __STRUCT_PARM_ALIGN__.
302*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep_core): Likewise.
303*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Likewise.
304*1fd5a2e1SPrashanth Swaminathan
305*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
306*1fd5a2e1SPrashanth Swaminathan
307*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Tweak restore of r28.
308*1fd5a2e1SPrashanth Swaminathan	(.note.GNU-stack): Move inside outer #ifdef.
309*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (STACKFRAME, PARMSAVE,
310*1fd5a2e1SPrashanth Swaminathan	RETVAL): Define and use throughout.
311*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_LINUX64): Save fprs before buying stack.
312*1fd5a2e1SPrashanth Swaminathan	(.note.GNU-stack): Move inside outer #ifdef.
313*1fd5a2e1SPrashanth Swaminathan
314*1fd5a2e1SPrashanth Swaminathan2013-11-16  Alan Modra  <[email protected]>
315*1fd5a2e1SPrashanth Swaminathan
316*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
317*1fd5a2e1SPrashanth Swaminathan	(FFI_EXTRA_CIF_FIELDS): Define.
318*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args64): Save fprs as per the
319*1fd5a2e1SPrashanth Swaminathan	ABI, not to both fpr and param save area.
320*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep_core): Renamed from ffi_prep_cif_machdep.
321*1fd5a2e1SPrashanth Swaminathan	Keep initial flags.  Formatting.  Remove dead FFI_LINUX_SOFT_FLOAT
322*1fd5a2e1SPrashanth Swaminathan	code.
323*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep, ffi_prep_cif_machdep_var): New functions.
324*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Pass floating point as per ABI,
325*1fd5a2e1SPrashanth Swaminathan	not to both fpr and parameter save areas.
326*1fd5a2e1SPrashanth Swaminathan
327*1fd5a2e1SPrashanth Swaminathan	* libffi/testsuite/libffi.call/cls_double_va.c (main): Correct
328*1fd5a2e1SPrashanth Swaminathan	function cast and don't call ffi_prep_cif.
329*1fd5a2e1SPrashanth Swaminathan	* libffi/testsuite/libffi.call/cls_longdouble_va.c (main): Likewise.
330*1fd5a2e1SPrashanth Swaminathan
331*1fd5a2e1SPrashanth Swaminathan2013-11-15  Andrew Haley  <[email protected]>
332*1fd5a2e1SPrashanth Swaminathan
333*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi (Closure Example): Fix the sample code.
334*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
335*1fd5a2e1SPrashanth Swaminathan
336*1fd5a2e1SPrashanth Swaminathan2013-11-15  Andrew Haley  <[email protected]>
337*1fd5a2e1SPrashanth Swaminathan
338*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/va_struct1.c (main): Fix broken test.
339*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise
340*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_struct_va1.c (test_fn): Likewise.
341*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/va_1.c (main): Likewise.
342*1fd5a2e1SPrashanth Swaminathan
343*1fd5a2e1SPrashanth Swaminathan2013-11-14  David Schneider  <[email protected]>
344*1fd5a2e1SPrashanth Swaminathan
345*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c: Fix register allocation for mixed float and
346*1fd5a2e1SPrashanth Swaminathan	doubles.
347*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_many_mixed_float_double.c: Testcase
348*1fd5a2e1SPrashanth Swaminathan	for many mixed float and double arguments.
349*1fd5a2e1SPrashanth Swaminathan
350*1fd5a2e1SPrashanth Swaminathan2013-11-13  Alan Modra  <[email protected]>
351*1fd5a2e1SPrashanth Swaminathan
352*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi (Simple Example): Correct example code.
353*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
354*1fd5a2e1SPrashanth Swaminathan
355*1fd5a2e1SPrashanth Swaminathan2013-11-13  Anthony Green  <[email protected]>
356*1fd5a2e1SPrashanth Swaminathan
357*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h: Respect HAVE_ALLOCA_H for GNU compiler
358*1fd5a2e1SPrashanth Swaminathan	based build. (Thanks to tmr111116 on github)
359*1fd5a2e1SPrashanth Swaminathan
360*1fd5a2e1SPrashanth Swaminathan2013-11-09  Anthony Green  <[email protected]>
361*1fd5a2e1SPrashanth Swaminathan
362*1fd5a2e1SPrashanth Swaminathan	* m4/libtool.m4: Refresh.
363*1fd5a2e1SPrashanth Swaminathan	* configure, Makefile.in: Rebuilt.
364*1fd5a2e1SPrashanth Swaminathan	* README: Add more notes about next release.
365*1fd5a2e1SPrashanth Swaminathan
366*1fd5a2e1SPrashanth Swaminathan2013-11-09  Shigeharu TAKENO  <[email protected]>
367*1fd5a2e1SPrashanth Swaminathan
368*1fd5a2e1SPrashanth Swaminathan	* m4/ax_gcc_archflag.m4 (ax_gcc_arch): Don't recognize
369*1fd5a2e1SPrashanth Swaminathan	UltraSPARC-IIi as ultrasparc3.
370*1fd5a2e1SPrashanth Swaminathan
371*1fd5a2e1SPrashanth Swaminathan2013-11-06  Mark Kettenis  <[email protected]>
372*1fd5a2e1SPrashanth Swaminathan
373*1fd5a2e1SPrashanth Swaminathan	* src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to
374*1fd5a2e1SPrashanth Swaminathan        16-bytes.
375*1fd5a2e1SPrashanth Swaminathan
376*1fd5a2e1SPrashanth Swaminathan2013-11-06  Konstantin Belousov <[email protected]>
377*1fd5a2e1SPrashanth Swaminathan
378*1fd5a2e1SPrashanth Swaminathan	* src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler
379*1fd5a2e1SPrashanth Swaminathan	source as not requiring executable stack.
380*1fd5a2e1SPrashanth Swaminathan
381*1fd5a2e1SPrashanth Swaminathan2013-11-02  Anthony Green  <[email protected]>
382*1fd5a2e1SPrashanth Swaminathan
383*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi (The Basics): Clarify return value buffer size
384*1fd5a2e1SPrashanth Swaminathan	requirements.  Also, NULL result buffer pointers are no longer
385*1fd5a2e1SPrashanth Swaminathan	supported.
386*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.info: Rebuilt.
387*1fd5a2e1SPrashanth Swaminathan
388*1fd5a2e1SPrashanth Swaminathan2013-11-02  Mischa Jonker  <[email protected]>
389*1fd5a2e1SPrashanth Swaminathan
390*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Fix build error.
391*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
392*1fd5a2e1SPrashanth Swaminathan
393*1fd5a2e1SPrashanth Swaminathan2013-11-02  David Schneider  <[email protected]>
394*1fd5a2e1SPrashanth Swaminathan
395*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c: more robust argument handling for closures on arm hardfloat
396*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_mixed.c: New file.
397*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_many_mixed_args.c: More tests.
398*1fd5a2e1SPrashanth Swaminathan
399*1fd5a2e1SPrashanth Swaminathan2013-11-02  Vitaly Budovski
400*1fd5a2e1SPrashanth Swaminathan
401*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Don't align stack for win32.
402*1fd5a2e1SPrashanth Swaminathan
403*1fd5a2e1SPrashanth Swaminathan2013-10-23  Mark H Weaver  <[email protected]>
404*1fd5a2e1SPrashanth Swaminathan
405*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Fix handling of uint32_t arguments on the
406*1fd5a2e1SPrashanth Swaminathan	MIPS N32 ABI.
407*1fd5a2e1SPrashanth Swaminathan
408*1fd5a2e1SPrashanth Swaminathan2013-10-13  Sandra Loosemore  <[email protected]>
409*1fd5a2e1SPrashanth Swaminathan
410*1fd5a2e1SPrashanth Swaminathan	* README: Add Nios II to table of supported platforms.
411*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add nios2 files.
412*1fd5a2e1SPrashanth Swaminathan	(nodist_libffi_la_SOURCES): Likewise.
413*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
414*1fd5a2e1SPrashanth Swaminathan	* configure.ac (nios2*-linux*): New host.
415*1fd5a2e1SPrashanth Swaminathan	(NIOS2): Add AM_CONDITIONAL.
416*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
417*1fd5a2e1SPrashanth Swaminathan	* src/nios2/ffi.c: New.
418*1fd5a2e1SPrashanth Swaminathan	* src/nios2/ffitarget.h: New.
419*1fd5a2e1SPrashanth Swaminathan	* src/nios2/sysv.S: New.
420*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (initialize_aggregate): Handle extra structure
421*1fd5a2e1SPrashanth Swaminathan	alignment via FFI_AGGREGATE_ALIGNMENT.
422*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_core): Conditionalize structure return for NIOS2.
423*1fd5a2e1SPrashanth Swaminathan
424*1fd5a2e1SPrashanth Swaminathan2013-10-10  Sandra Loosemore  <[email protected]>
425*1fd5a2e1SPrashanth Swaminathan
426*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_many_mixed_args.c (cls_ret_double_fn):
427*1fd5a2e1SPrashanth Swaminathan	Fix uninitialized variable.
428*1fd5a2e1SPrashanth Swaminathan
429*1fd5a2e1SPrashanth Swaminathan2013-10-11  Marcus Shawcroft  <[email protected]>
430*1fd5a2e1SPrashanth Swaminathan
431*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many.c (many): Replace * with +.
432*1fd5a2e1SPrashanth Swaminathan
433*1fd5a2e1SPrashanth Swaminathan2013-10-08  Ondřej Bílka  <[email protected]>
434*1fd5a2e1SPrashanth Swaminathan
435*1fd5a2e1SPrashanth Swaminathan	* src/aarch64/ffi.c, src/aarch64/sysv.S, src/arm/ffi.c,
436*1fd5a2e1SPrashanth Swaminathan	src/arm/gentramp.sh, src/bfin/sysv.S, src/closures.c,
437*1fd5a2e1SPrashanth Swaminathan	src/dlmalloc.c, src/ia64/ffi.c, src/microblaze/ffi.c,
438*1fd5a2e1SPrashanth Swaminathan	src/microblaze/sysv.S, src/powerpc/darwin_closure.S,
439*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/sh/ffi.c,
440*1fd5a2e1SPrashanth Swaminathan	src/tile/tile.S, testsuite/libffi.call/nested_struct11.c: Fix
441*1fd5a2e1SPrashanth Swaminathan	spelling errors.
442*1fd5a2e1SPrashanth Swaminathan
443*1fd5a2e1SPrashanth Swaminathan2013-10-08  Anthony Green  <[email protected]>
444*1fd5a2e1SPrashanth Swaminathan
445*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, compile, config.guess, config.sub, depcomp,
446*1fd5a2e1SPrashanth Swaminathan	install-sh, mdate-sh, missing, texinfo.tex: Update from upstream.
447*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Update version to 3.0.14-rc0.
448*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, configure, Makefile.in, include/Makefile.in,
449*1fd5a2e1SPrashanth Swaminathan	man/Makefile.in, testsuite/Makefile.in: Rebuilt.
450*1fd5a2e1SPrashanth Swaminathan	* README: Mention M88K and VAX.
451*1fd5a2e1SPrashanth Swaminathan
452*1fd5a2e1SPrashanth Swaminathan2013-07-15  Miod Vallat  <[email protected]>
453*1fd5a2e1SPrashanth Swaminathan
454*1fd5a2e1SPrashanth Swaminathan	* Makefile.am,
455*1fd5a2e1SPrashanth Swaminathan	configure.ac,
456*1fd5a2e1SPrashanth Swaminathan	src/m88k/ffi.c,
457*1fd5a2e1SPrashanth Swaminathan	src/m88k/ffitarget.h,
458*1fd5a2e1SPrashanth Swaminathan	src/m88k/obsd.S,
459*1fd5a2e1SPrashanth Swaminathan	src/vax/elfbsd.S,
460*1fd5a2e1SPrashanth Swaminathan	src/vax/ffi.c,
461*1fd5a2e1SPrashanth Swaminathan	src/vax/ffitarget.h: Add m88k and vax support.
462*1fd5a2e1SPrashanth Swaminathan
463*1fd5a2e1SPrashanth Swaminathan2013-06-24 Alan Modra  <[email protected]>
464*1fd5a2e1SPrashanth Swaminathan
465*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
466*1fd5a2e1SPrashanth Swaminathan	before statements.
467*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args64): Support little-endian.
468*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
469*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
470*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
471*1fd5a2e1SPrashanth Swaminathan
472*1fd5a2e1SPrashanth Swaminathan2013-06-12  Mischa Jonker  <[email protected]>
473*1fd5a2e1SPrashanth Swaminathan
474*1fd5a2e1SPrashanth Swaminathan	 * configure.ac: Add support for ARC.
475*1fd5a2e1SPrashanth Swaminathan	 * Makefile.am: Likewise.
476*1fd5a2e1SPrashanth Swaminathan	 * README: Add ARC details.
477*1fd5a2e1SPrashanth Swaminathan	 * src/arc/arcompact.S: New.
478*1fd5a2e1SPrashanth Swaminathan	 * src/arc/ffi.c: Likewise.
479*1fd5a2e1SPrashanth Swaminathan	 * src/arc/ffitarget.h: Likewise.
480*1fd5a2e1SPrashanth Swaminathan
481*1fd5a2e1SPrashanth Swaminathan2013-03-28  David Schneider  <[email protected]>
482*1fd5a2e1SPrashanth Swaminathan
483*1fd5a2e1SPrashanth Swaminathan	 * src/arm/ffi.c: Fix support for ARM hard-float calling convention.
484*1fd5a2e1SPrashanth Swaminathan	 * src/arm/sysv.S: call different methods for SYSV and VFP ABIs.
485*1fd5a2e1SPrashanth Swaminathan	 * testsuite/libffi.call/cls_many_mixed_args.c: testcase for a closure with
486*1fd5a2e1SPrashanth Swaminathan	 mixed arguments, many doubles.
487*1fd5a2e1SPrashanth Swaminathan	 * testsuite/libffi.call/many_double.c: testcase for calling a function using
488*1fd5a2e1SPrashanth Swaminathan	 more than 8 doubles.
489*1fd5a2e1SPrashanth Swaminathan	 * testcase/libffi.call/many.c: use absolute value to check result against an
490*1fd5a2e1SPrashanth Swaminathan	 epsilon
491*1fd5a2e1SPrashanth Swaminathan
492*1fd5a2e1SPrashanth Swaminathan2013-03-17  Anthony Green  <[email protected]>
493*1fd5a2e1SPrashanth Swaminathan
494*1fd5a2e1SPrashanth Swaminathan	* README: Update for 3.0.13.
495*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Ditto.
496*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
497*1fd5a2e1SPrashanth Swaminathan	* doc/*: Update version.
498*1fd5a2e1SPrashanth Swaminathan
499*1fd5a2e1SPrashanth Swaminathan2013-03-17  Dave Korn  <[email protected]>
500*1fd5a2e1SPrashanth Swaminathan
501*1fd5a2e1SPrashanth Swaminathan	* src/closures.c (is_emutramp_enabled
502*1fd5a2e1SPrashanth Swaminathan	[!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
503*1fd5a2e1SPrashanth Swaminathan	enclosing #if scope.
504*1fd5a2e1SPrashanth Swaminathan
505*1fd5a2e1SPrashanth Swaminathan2013-03-17  Anthony Green  <[email protected]>
506*1fd5a2e1SPrashanth Swaminathan
507*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Only modify toolexecdir in certain cases.
508*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
509*1fd5a2e1SPrashanth Swaminathan
510*1fd5a2e1SPrashanth Swaminathan2013-03-16  Gilles Talis  <[email protected]>
511*1fd5a2e1SPrashanth Swaminathan
512*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
513*1fd5a2e1SPrashanth Swaminathan	fparg_count,etc on __NO_FPRS__ targets.
514*1fd5a2e1SPrashanth Swaminathan
515*1fd5a2e1SPrashanth Swaminathan2013-03-16  Alan Hourihane  <[email protected]>
516*1fd5a2e1SPrashanth Swaminathan
517*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S (epilogue): Don't use extb instruction on
518*1fd5a2e1SPrashanth Swaminathan	m680000 machines.
519*1fd5a2e1SPrashanth Swaminathan
520*1fd5a2e1SPrashanth Swaminathan2013-03-16  Alex Gaynor <[email protected]>
521*1fd5a2e1SPrashanth Swaminathan
522*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
523*1fd5a2e1SPrashanth Swaminathan
524*1fd5a2e1SPrashanth Swaminathan2013-03-13  Markos Chandras <[email protected]>
525*1fd5a2e1SPrashanth Swaminathan
526*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add support for Imagination Technologies Meta.
527*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Likewise.
528*1fd5a2e1SPrashanth Swaminathan	* README: Add Imagination Technologies Meta details.
529*1fd5a2e1SPrashanth Swaminathan	* src/metag/ffi.c: New.
530*1fd5a2e1SPrashanth Swaminathan	* src/metag/ffitarget.h: Likewise.
531*1fd5a2e1SPrashanth Swaminathan	* src/metag/sysv.S: Likewise.
532*1fd5a2e1SPrashanth Swaminathan
533*1fd5a2e1SPrashanth Swaminathan2013-02-24  Andreas Schwab  <[email protected]>
534*1fd5a2e1SPrashanth Swaminathan
535*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi (Structures): Fix missing category argument of
536*1fd5a2e1SPrashanth Swaminathan	@deftp.
537*1fd5a2e1SPrashanth Swaminathan
538*1fd5a2e1SPrashanth Swaminathan2013-02-11  Anthony Green <[email protected]>
539*1fd5a2e1SPrashanth Swaminathan
540*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Update release number to 3.0.12.
541*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
542*1fd5a2e1SPrashanth Swaminathan	* README: Update release info.
543*1fd5a2e1SPrashanth Swaminathan
544*1fd5a2e1SPrashanth Swaminathan2013-02-10  Anthony Green <[email protected]>
545*1fd5a2e1SPrashanth Swaminathan
546*1fd5a2e1SPrashanth Swaminathan	* README: Add Moxie.
547*1fd5a2e1SPrashanth Swaminathan	* src/moxie/ffi.c: Created.
548*1fd5a2e1SPrashanth Swaminathan	* src/moxie/eabi.S: Created.
549*1fd5a2e1SPrashanth Swaminathan	* src/moxie/ffitarget.h: Created.
550*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
551*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
552*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add Moxie.
553*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
554*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c: Disable format string
555*1fd5a2e1SPrashanth Swaminathan	warnings for moxie*-*-elf tests.
556*1fd5a2e1SPrashanth Swaminathan
557*1fd5a2e1SPrashanth Swaminathan2013-02-10  Anthony Green <[email protected]>
558*1fd5a2e1SPrashanth Swaminathan
559*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (LTLDFLAGS): Fix reference.
560*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
561*1fd5a2e1SPrashanth Swaminathan
562*1fd5a2e1SPrashanth Swaminathan2013-02-10  Anthony Green <[email protected]>
563*1fd5a2e1SPrashanth Swaminathan
564*1fd5a2e1SPrashanth Swaminathan	* README: Update supported platforms.  Update test results link.
565*1fd5a2e1SPrashanth Swaminathan
566*1fd5a2e1SPrashanth Swaminathan2013-02-09  Anthony Green <[email protected]>
567*1fd5a2e1SPrashanth Swaminathan
568*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/negint.c: Remove forced -O2.
569*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many2.c (foo): Remove GCCism.
570*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
571*1fd5a2e1SPrashanth Swaminathan
572*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
573*1fd5a2e1SPrashanth Swaminathan	closure return type fix developed by Martin v. Löwis for cpython
574*1fd5a2e1SPrashanth Swaminathan	fork.
575*1fd5a2e1SPrashanth Swaminathan
576*1fd5a2e1SPrashanth Swaminathan2013-02-08  Andreas Tobler  <[email protected]>
577*1fd5a2e1SPrashanth Swaminathan
578*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
579*1fd5a2e1SPrashanth Swaminathan	support.
580*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Ditto.
581*1fd5a2e1SPrashanth Swaminathan
582*1fd5a2e1SPrashanth Swaminathan2013-02-08  Anthony Green <[email protected]>
583*1fd5a2e1SPrashanth Swaminathan
584*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble.c: Remove xfail for
585*1fd5a2e1SPrashanth Swaminathan	arm*-*-*.
586*1fd5a2e1SPrashanth Swaminathan
587*1fd5a2e1SPrashanth Swaminathan2013-02-08  Anthony Green <[email protected]>
588*1fd5a2e1SPrashanth Swaminathan
589*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
590*1fd5a2e1SPrashanth Swaminathan
591*1fd5a2e1SPrashanth Swaminathan2013-02-08  Matthias Klose  <[email protected]>
592*1fd5a2e1SPrashanth Swaminathan
593*1fd5a2e1SPrashanth Swaminathan	* man/ffi_prep_cif.3: Clean up for debian linter.
594*1fd5a2e1SPrashanth Swaminathan
595*1fd5a2e1SPrashanth Swaminathan2013-02-08  Peter Bergner  <[email protected]>
596*1fd5a2e1SPrashanth Swaminathan
597*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
598*1fd5a2e1SPrashanth Swaminathan	on the stack.
599*1fd5a2e1SPrashanth Swaminathan
600*1fd5a2e1SPrashanth Swaminathan2013-02-08  Anthony Green <[email protected]>
601*1fd5a2e1SPrashanth Swaminathan
602*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add missing files.
603*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.am (EXTRA_DIST): Ditto.
604*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
605*1fd5a2e1SPrashanth Swaminathan
606*1fd5a2e1SPrashanth Swaminathan2013-02-08  Anthony Green <[email protected]>
607*1fd5a2e1SPrashanth Swaminathan
608*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Move sparc asm config checks to within functions
609*1fd5a2e1SPrashanth Swaminathan	for compatibility with sun tools.
610*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
611*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
612*1fd5a2e1SPrashanth Swaminathan	systems.
613*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
614*1fd5a2e1SPrashanth Swaminathan	flusher.
615*1fd5a2e1SPrashanth Swaminathan
616*1fd5a2e1SPrashanth Swaminathan2013-02-08  Nathan Rossi <[email protected]>
617*1fd5a2e1SPrashanth Swaminathan
618*1fd5a2e1SPrashanth Swaminathan	* src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
619*1fd5a2e1SPrashanth Swaminathan	small big-endian structures.
620*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Ditto.
621*1fd5a2e1SPrashanth Swaminathan
622*1fd5a2e1SPrashanth Swaminathan2013-02-07  Anthony Green <[email protected]>
623*1fd5a2e1SPrashanth Swaminathan
624*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
625*1fd5a2e1SPrashanth Swaminathan	(effectively hiding ffi_call_v8).
626*1fd5a2e1SPrashanth Swaminathan
627*1fd5a2e1SPrashanth Swaminathan2013-02-07  Anthony Green <[email protected]>
628*1fd5a2e1SPrashanth Swaminathan
629*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Update bug reporting address.
630*1fd5a2e1SPrashanth Swaminathan	* configure.in: Rebuild.
631*1fd5a2e1SPrashanth Swaminathan
632*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
633*1fd5a2e1SPrashanth Swaminathan	Sun compiler.
634*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_call): Remove warning.
635*1fd5a2e1SPrashanth Swaminathan	Call ffi_flush_icache for non-GCC builds.
636*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Use ffi_flush_icache.
637*1fd5a2e1SPrashanth Swaminathan
638*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add libtool-ldflags.
639*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
640*1fd5a2e1SPrashanth Swaminathan	* libtool-ldflags: New file.
641*1fd5a2e1SPrashanth Swaminathan
642*1fd5a2e1SPrashanth Swaminathan2013-02-07  Daniel Schepler <[email protected]>
643*1fd5a2e1SPrashanth Swaminathan
644*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Correctly identify x32 systems as 64-bit.
645*1fd5a2e1SPrashanth Swaminathan	* m4/libtool.m4: Remove libtool expr error.
646*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure: Rebuilt.
647*1fd5a2e1SPrashanth Swaminathan
648*1fd5a2e1SPrashanth Swaminathan2013-02-07  Anthony Green <[email protected]>
649*1fd5a2e1SPrashanth Swaminathan
650*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Fix GCC usage test.
651*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
652*1fd5a2e1SPrashanth Swaminathan	* README: Mention LLVM/GCC x86_64 issue.
653*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Rebuilt.
654*1fd5a2e1SPrashanth Swaminathan
655*1fd5a2e1SPrashanth Swaminathan2013-02-07  Anthony Green <[email protected]>
656*1fd5a2e1SPrashanth Swaminathan
657*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c (main): Replace // style
658*1fd5a2e1SPrashanth Swaminathan	comments with /* */ for xlc compiler.
659*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large.c (main): Ditto.
660*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large2.c (main): Ditto.
661*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
662*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c (main): Ditto.
663*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float_va.c (main): Ditto.
664*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
665*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
666*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_pointer.c (main): Ditto.
667*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
668*1fd5a2e1SPrashanth Swaminathan
669*1fd5a2e1SPrashanth Swaminathan2013-02-06  Anthony Green <[email protected]>
670*1fd5a2e1SPrashanth Swaminathan
671*1fd5a2e1SPrashanth Swaminathan	* man/ffi_prep_cif.3: Clean up for debian lintian checker.
672*1fd5a2e1SPrashanth Swaminathan
673*1fd5a2e1SPrashanth Swaminathan2013-02-06  Anthony Green <[email protected]>
674*1fd5a2e1SPrashanth Swaminathan
675*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
676*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuild.
677*1fd5a2e1SPrashanth Swaminathan
678*1fd5a2e1SPrashanth Swaminathan2013-02-02  Mark H Weaver <[email protected]>
679*1fd5a2e1SPrashanth Swaminathan
680*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
681*1fd5a2e1SPrashanth Swaminathan	via general purpose registers.
682*1fd5a2e1SPrashanth Swaminathan
683*1fd5a2e1SPrashanth Swaminathan2013-01-21  Nathan Rossi <[email protected]>
684*1fd5a2e1SPrashanth Swaminathan
685*1fd5a2e1SPrashanth Swaminathan	* README: Add MicroBlaze details.
686*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add MicroBlaze support.
687*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Likewise.
688*1fd5a2e1SPrashanth Swaminathan	* src/microblaze/ffi.c: New.
689*1fd5a2e1SPrashanth Swaminathan	* src/microblaze/ffitarget.h: Likewise.
690*1fd5a2e1SPrashanth Swaminathan	* src/microblaze/sysv.S: Likewise.
691*1fd5a2e1SPrashanth Swaminathan
692*1fd5a2e1SPrashanth Swaminathan2013-01-21  Nathan Rossi <[email protected]>
693*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_uc.c: Fixed issue.
694*1fd5a2e1SPrashanth Swaminathan
695*1fd5a2e1SPrashanth Swaminathan2013-01-21  Chris Zankel   <[email protected]>
696*1fd5a2e1SPrashanth Swaminathan
697*1fd5a2e1SPrashanth Swaminathan	* README: Add Xtensa support.
698*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Likewise.
699*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Likewise.
700*1fd5a2e1SPrashanth Swaminathan	* Makefile.in Regenerate.
701*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
702*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c: Handle Xtensa.
703*1fd5a2e1SPrashanth Swaminathan	* src/xtensa: New directory.
704*1fd5a2e1SPrashanth Swaminathan	* src/xtensa/ffi.c: New file.
705*1fd5a2e1SPrashanth Swaminathan	* src/xtensa/ffitarget.h: Ditto.
706*1fd5a2e1SPrashanth Swaminathan	* src/xtensa/sysv.S: Ditto.
707*1fd5a2e1SPrashanth Swaminathan
708*1fd5a2e1SPrashanth Swaminathan2013-01-11  Anthony Green  <[email protected]>
709*1fd5a2e1SPrashanth Swaminathan
710*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
711*1fd5a2e1SPrashanth Swaminathan	comments with /* */ for xlc compiler.
712*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S (ffi_call_AIX): Ditto.
713*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
714*1fd5a2e1SPrashanth Swaminathan	deprecated inline function.
715*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h: Ditto.
716*1fd5a2e1SPrashanth Swaminathan	* README: Add update for AIX support.
717*1fd5a2e1SPrashanth Swaminathan
718*1fd5a2e1SPrashanth Swaminathan2013-01-11  Anthony Green  <[email protected]>
719*1fd5a2e1SPrashanth Swaminathan
720*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Robustify pc relative reloc check.
721*1fd5a2e1SPrashanth Swaminathan	* m4/ax_cc_maxopt.m4: Don't -malign-double.  This is an ABI
722*1fd5a2e1SPrashanth Swaminathan	changing option for 32-bit x86.
723*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure: Rebuilt.
724*1fd5a2e1SPrashanth Swaminathan	* README: Update supported target list.
725*1fd5a2e1SPrashanth Swaminathan
726*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
727*1fd5a2e1SPrashanth Swaminathan
728*1fd5a2e1SPrashanth Swaminathan	* README (tested): Add Compiler column to table.
729*1fd5a2e1SPrashanth Swaminathan
730*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
731*1fd5a2e1SPrashanth Swaminathan
732*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (struct register_args): Make sse array and array
733*1fd5a2e1SPrashanth Swaminathan	of unions for sunpro compiler compatibility.
734*1fd5a2e1SPrashanth Swaminathan
735*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
736*1fd5a2e1SPrashanth Swaminathan
737*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Test target platform size_t size.  Handle both 32
738*1fd5a2e1SPrashanth Swaminathan	and 64-bit builds for x86_64-* and i?86-* targets (allowing for
739*1fd5a2e1SPrashanth Swaminathan	CFLAG option to change default settings).
740*1fd5a2e1SPrashanth Swaminathan	* configure, aclocal.m4: Rebuilt.
741*1fd5a2e1SPrashanth Swaminathan
742*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
743*1fd5a2e1SPrashanth Swaminathan
744*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/special.exp: Only run exception
745*1fd5a2e1SPrashanth Swaminathan	handling tests when using GNU compiler.
746*1fd5a2e1SPrashanth Swaminathan
747*1fd5a2e1SPrashanth Swaminathan	* m4/ax_compiler_vendor.m4: New file.
748*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Test for compiler vendor and don't use
749*1fd5a2e1SPrashanth Swaminathan	AX_CFLAGS_WARN_ALL with the sun compiler.
750*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure: Rebuilt.
751*1fd5a2e1SPrashanth Swaminathan
752*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
753*1fd5a2e1SPrashanth Swaminathan
754*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h: Don't use GCCisms to define types when
755*1fd5a2e1SPrashanth Swaminathan	building with the SUNPRO compiler.
756*1fd5a2e1SPrashanth Swaminathan
757*1fd5a2e1SPrashanth Swaminathan2013-01-10  Anthony Green  <[email protected]>
758*1fd5a2e1SPrashanth Swaminathan
759*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Put local.exp in the right place.
760*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
761*1fd5a2e1SPrashanth Swaminathan
762*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Update comment about regparm function attributes.
763*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
764*1fd5a2e1SPrashanth Swaminathan	that all function arguments be passed on the stack (no regparm
765*1fd5a2e1SPrashanth Swaminathan	support).
766*1fd5a2e1SPrashanth Swaminathan
767*1fd5a2e1SPrashanth Swaminathan2013-01-08  Anthony Green  <[email protected]>
768*1fd5a2e1SPrashanth Swaminathan
769*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Generate local.exp.  This sets CC_FOR_TARGET
770*1fd5a2e1SPrashanth Swaminathan	when we are using the vendor compiler.
771*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
772*1fd5a2e1SPrashanth Swaminathan	../local.exp.
773*1fd5a2e1SPrashanth Swaminathan	* configure, testsuite/Makefile.in: Rebuilt.
774*1fd5a2e1SPrashanth Swaminathan
775*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/call.exp: Run tests with different
776*1fd5a2e1SPrashanth Swaminathan	options, depending on whether or not we are using gcc or the
777*1fd5a2e1SPrashanth Swaminathan	vendor compiler.
778*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
779*1fd5a2e1SPrashanth Swaminathan	whether or not we are building/testing with gcc.
780*1fd5a2e1SPrashanth Swaminathan
781*1fd5a2e1SPrashanth Swaminathan2013-01-08  Anthony Green  <[email protected]>
782*1fd5a2e1SPrashanth Swaminathan
783*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Switch x86 solaris target to X86 by default.
784*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
785*1fd5a2e1SPrashanth Swaminathan
786*1fd5a2e1SPrashanth Swaminathan2013-01-08  Anthony Green  <[email protected]>
787*1fd5a2e1SPrashanth Swaminathan
788*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Fix test for read-only eh_frame.
789*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
790*1fd5a2e1SPrashanth Swaminathan
791*1fd5a2e1SPrashanth Swaminathan2013-01-08  Anthony Green  <[email protected]>
792*1fd5a2e1SPrashanth Swaminathan
793*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
794*1fd5a2e1SPrashanth Swaminathan	when building with the GNU toolchain.
795*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
796*1fd5a2e1SPrashanth Swaminathan	compiler.
797*1fd5a2e1SPrashanth Swaminathan
798*1fd5a2e1SPrashanth Swaminathan2013-01-07  Thorsten Glaser <[email protected]>
799*1fd5a2e1SPrashanth Swaminathan
800*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar_va.c,
801*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ushort_va.c,
802*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/va_1.c: Testsuite fixes.
803*1fd5a2e1SPrashanth Swaminathan
804*1fd5a2e1SPrashanth Swaminathan2013-01-07  Thorsten Glaser <[email protected]>
805*1fd5a2e1SPrashanth Swaminathan
806*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
807*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
808*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
809*1fd5a2e1SPrashanth Swaminathan
810*1fd5a2e1SPrashanth Swaminathan2013-01-04  Anthony Green  <[email protected]>
811*1fd5a2e1SPrashanth Swaminathan
812*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
813*1fd5a2e1SPrashanth Swaminathan	and -Wall.  This is set in the configure script after testing for
814*1fd5a2e1SPrashanth Swaminathan	GCC.
815*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
816*1fd5a2e1SPrashanth Swaminathan
817*1fd5a2e1SPrashanth Swaminathan2013-01-02  rofl0r <https://github.com/rofl0r>
818*1fd5a2e1SPrashanth Swaminathan
819*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
820*1fd5a2e1SPrashanth Swaminathan	when long double == double.
821*1fd5a2e1SPrashanth Swaminathan
822*1fd5a2e1SPrashanth Swaminathan2013-01-02  Reini Urban  <[email protected]>
823*1fd5a2e1SPrashanth Swaminathan
824*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
825*1fd5a2e1SPrashanth Swaminathan	(required for shared libs on cygwin/mingw).
826*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
827*1fd5a2e1SPrashanth Swaminathan
828*1fd5a2e1SPrashanth Swaminathan2012-10-31  Alan Modra  <[email protected]>
829*1fd5a2e1SPrashanth Swaminathan
830*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Add new ABI support.
831*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Likewise.
832*1fd5a2e1SPrashanth Swaminathan
833*1fd5a2e1SPrashanth Swaminathan2012-10-30  Magnus Granberg  <[email protected]>
834*1fd5a2e1SPrashanth Swaminathan	    Pavel Labushev  <[email protected]>
835*1fd5a2e1SPrashanth Swaminathan
836*1fd5a2e1SPrashanth Swaminathan	* configure.ac: New options pax_emutramp
837*1fd5a2e1SPrashanth Swaminathan	* configure, fficonfig.h.in: Regenerated
838*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: New function emutramp_enabled_check() and
839*1fd5a2e1SPrashanth Swaminathan	checks.
840*1fd5a2e1SPrashanth Swaminathan
841*1fd5a2e1SPrashanth Swaminathan2012-10-30  Frederick Cheung  <[email protected]>
842*1fd5a2e1SPrashanth Swaminathan
843*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
844*1fd5a2e1SPrashanth Swaminathan	lion) and future version.
845*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuild.
846*1fd5a2e1SPrashanth Swaminathan
847*1fd5a2e1SPrashanth Swaminathan2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
848*1fd5a2e1SPrashanth Swaminathan            Marcus Shawcroft  <marcus.shawcroft at arm.com>
849*1fd5a2e1SPrashanth Swaminathan
850*1fd5a2e1SPrashanth Swaminathan        * README: Add details of aarch64 port.
851*1fd5a2e1SPrashanth Swaminathan        * src/aarch64/ffi.c: New.
852*1fd5a2e1SPrashanth Swaminathan        * src/aarch64/ffitarget.h: Likewise.
853*1fd5a2e1SPrashanth Swaminathan        * src/aarch64/sysv.S: Likewise.
854*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Support aarch64.
855*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Support aarch64.
856*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, configure: Rebuilt.
857*1fd5a2e1SPrashanth Swaminathan
858*1fd5a2e1SPrashanth Swaminathan2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
859*1fd5a2e1SPrashanth Swaminathan            Marcus Shawcroft  <marcus.shawcroft at arm.com>
860*1fd5a2e1SPrashanth Swaminathan
861*1fd5a2e1SPrashanth Swaminathan        * testsuite/lib/libffi.exp: Add support for aarch64.
862*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/cls_struct_va1.c: New.
863*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/cls_uchar_va.c: Likewise.
864*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/cls_uint_va.c: Likewise.
865*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/cls_ulong_va.c: Likewise.
866*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/cls_ushort_va.c: Likewise.
867*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/nested_struct11.c: Likewise.
868*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/uninitialized.c: Likewise.
869*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/va_1.c: Likewise.
870*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/va_struct1.c: Likewise.
871*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/va_struct2.c: Likewise.
872*1fd5a2e1SPrashanth Swaminathan        * testsuite/libffi.call/va_struct3.c: Likewise.
873*1fd5a2e1SPrashanth Swaminathan
874*1fd5a2e1SPrashanth Swaminathan2012-10-12  Walter Lee  <[email protected]>
875*1fd5a2e1SPrashanth Swaminathan
876*1fd5a2e1SPrashanth Swaminathan        * Makefile.am: Add TILE-Gx/TILEPro support.
877*1fd5a2e1SPrashanth Swaminathan        * configure.ac: Likewise.
878*1fd5a2e1SPrashanth Swaminathan        * Makefile.in: Regenerate.
879*1fd5a2e1SPrashanth Swaminathan        * configure: Likewise.
880*1fd5a2e1SPrashanth Swaminathan        * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
881*1fd5a2e1SPrashanth Swaminathan        * src/tile: New directory.
882*1fd5a2e1SPrashanth Swaminathan        * src/tile/ffi.c: New file.
883*1fd5a2e1SPrashanth Swaminathan        * src/tile/ffitarget.h: Ditto.
884*1fd5a2e1SPrashanth Swaminathan        * src/tile/tile.S: Ditto.
885*1fd5a2e1SPrashanth Swaminathan
886*1fd5a2e1SPrashanth Swaminathan2012-10-12  Matthias Klose  <[email protected]>
887*1fd5a2e1SPrashanth Swaminathan
888*1fd5a2e1SPrashanth Swaminathan	* generate-osx-source-and-headers.py: Normalize whitespace.
889*1fd5a2e1SPrashanth Swaminathan
890*1fd5a2e1SPrashanth Swaminathan2012-09-14  David Edelsohn  <[email protected]>
891*1fd5a2e1SPrashanth Swaminathan
892*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
893*1fd5a2e1SPrashanth Swaminathan
894*1fd5a2e1SPrashanth Swaminathan2012-08-26  Andrew Pinski  <[email protected]>
895*1fd5a2e1SPrashanth Swaminathan
896*1fd5a2e1SPrashanth Swaminathan	PR libffi/53014
897*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
898*1fd5a2e1SPrashanth Swaminathan	soft-float.
899*1fd5a2e1SPrashanth Swaminathan
900*1fd5a2e1SPrashanth Swaminathan2012-08-08  Uros Bizjak  <[email protected]>
901*1fd5a2e1SPrashanth Swaminathan
902*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
903*1fd5a2e1SPrashanth Swaminathan	just return FFI_BAD_ABI when things are wrong.
904*1fd5a2e1SPrashanth Swaminathan
905*1fd5a2e1SPrashanth Swaminathan2012-07-18  H.J. Lu  <[email protected]>
906*1fd5a2e1SPrashanth Swaminathan
907*1fd5a2e1SPrashanth Swaminathan	PR libffi/53982
908*1fd5a2e1SPrashanth Swaminathan	PR libffi/53973
909*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
910*1fd5a2e1SPrashanth Swaminathan	(FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
911*1fd5a2e1SPrashanth Swaminathan
912*1fd5a2e1SPrashanth Swaminathan2012-05-16  H.J. Lu  <[email protected]>
913*1fd5a2e1SPrashanth Swaminathan
914*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
915*1fd5a2e1SPrashanth Swaminathan
916*1fd5a2e1SPrashanth Swaminathan2012-05-05  Nicolas Lelong
917*1fd5a2e1SPrashanth Swaminathan
918*1fd5a2e1SPrashanth Swaminathan	* libffi.xcodeproj/project.pbxproj: Fixes.
919*1fd5a2e1SPrashanth Swaminathan	* README: Update for iOS builds.
920*1fd5a2e1SPrashanth Swaminathan
921*1fd5a2e1SPrashanth Swaminathan2012-04-23  Alexandre Keunecke I. de Mendonca <[email protected]>
922*1fd5a2e1SPrashanth Swaminathan
923*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add Blackfin/sysv support
924*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add Blackfin/sysv support
925*1fd5a2e1SPrashanth Swaminathan	* src/bfin/ffi.c:  Add Blackfin/sysv support
926*1fd5a2e1SPrashanth Swaminathan	* src/bfin/ffitarget.h: Add Blackfin/sysv support
927*1fd5a2e1SPrashanth Swaminathan
928*1fd5a2e1SPrashanth Swaminathan2012-04-11  Anthony Green  <[email protected]>
929*1fd5a2e1SPrashanth Swaminathan
930*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add new script.
931*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
932*1fd5a2e1SPrashanth Swaminathan
933*1fd5a2e1SPrashanth Swaminathan2012-04-11  Zachary Waldowski  <[email protected]>
934*1fd5a2e1SPrashanth Swaminathan
935*1fd5a2e1SPrashanth Swaminathan	* generate-ios-source-and-headers.py,
936*1fd5a2e1SPrashanth Swaminathan	libffi.xcodeproj/project.pbxproj: Support a Mac static library via
937*1fd5a2e1SPrashanth Swaminathan	Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
938*1fd5a2e1SPrashanth Swaminathan	generation into an Xcode "run script" phase.  Include both as
939*1fd5a2e1SPrashanth Swaminathan	Xcode build scripts. Don't always regenerate config files.
940*1fd5a2e1SPrashanth Swaminathan
941*1fd5a2e1SPrashanth Swaminathan2012-04-10  Anthony Green  <[email protected]>
942*1fd5a2e1SPrashanth Swaminathan
943*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
944*1fd5a2e1SPrashanth Swaminathan
945*1fd5a2e1SPrashanth Swaminathan2012-04-06  Anthony Green  <[email protected]>
946*1fd5a2e1SPrashanth Swaminathan
947*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
948*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
949*1fd5a2e1SPrashanth Swaminathan
950*1fd5a2e1SPrashanth Swaminathan2012-04-06  Mike Lewis  <[email protected]>
951*1fd5a2e1SPrashanth Swaminathan
952*1fd5a2e1SPrashanth Swaminathan	* generate-ios-source-and-headers.py: New file.
953*1fd5a2e1SPrashanth Swaminathan	* libffi.xcodeproj/project.pbxproj: New file.
954*1fd5a2e1SPrashanth Swaminathan	* README: Update instructions on building iOS binary.
955*1fd5a2e1SPrashanth Swaminathan	* build-ios.sh: Delete.
956*1fd5a2e1SPrashanth Swaminathan
957*1fd5a2e1SPrashanth Swaminathan2012-04-06  Anthony Green  <[email protected]>
958*1fd5a2e1SPrashanth Swaminathan
959*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
960*1fd5a2e1SPrashanth Swaminathan	compilers, then use it.
961*1fd5a2e1SPrashanth Swaminathan
962*1fd5a2e1SPrashanth Swaminathan2012-04-06  H.J. Lu  <[email protected]>
963*1fd5a2e1SPrashanth Swaminathan
964*1fd5a2e1SPrashanth Swaminathan	* m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
965*1fd5a2e1SPrashanth Swaminathan
966*1fd5a2e1SPrashanth Swaminathan2012-04-06  Anthony Green  <[email protected]>
967*1fd5a2e1SPrashanth Swaminathan
968*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
969*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Rebuilt.
970*1fd5a2e1SPrashanth Swaminathan
971*1fd5a2e1SPrashanth Swaminathan2012-04-05  Zachary Waldowski  <[email protected]>
972*1fd5a2e1SPrashanth Swaminathan
973*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add missing trampoline table fields.
974*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
975*1fd5a2e1SPrashanth Swaminathan	in CNAME.
976*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Wrap Windows specific code in ifdefs.
977*1fd5a2e1SPrashanth Swaminathan
978*1fd5a2e1SPrashanth Swaminathan2012-04-02  Peter Bergner  <[email protected]>
979*1fd5a2e1SPrashanth Swaminathan
980*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
981*1fd5a2e1SPrashanth Swaminathan	Silence casting pointer to integer of different size warning.
982*1fd5a2e1SPrashanth Swaminathan	Delete goto to previously deleted label.
983*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Silence possibly undefined warning.
984*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Declare variable type.
985*1fd5a2e1SPrashanth Swaminathan
986*1fd5a2e1SPrashanth Swaminathan2012-04-02  Peter Rosin  <[email protected]>
987*1fd5a2e1SPrashanth Swaminathan
988*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
989*1fd5a2e1SPrashanth Swaminathan	value in the Intel version as is already done for the AT&T version.
990*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_SYSV): Likewise.
991*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_raw_SYSV): Likewise.
992*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_STDCALL): Likewise.
993*1fd5a2e1SPrashanth Swaminathan
994*1fd5a2e1SPrashanth Swaminathan2012-03-29  Peter Rosin  <[email protected]>
995*1fd5a2e1SPrashanth Swaminathan
996*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
997*1fd5a2e1SPrashanth Swaminathan	generation, fix the ENDP label and remove the surplus third arg
998*1fd5a2e1SPrashanth Swaminathan	from the 'lea' insn.
999*1fd5a2e1SPrashanth Swaminathan
1000*1fd5a2e1SPrashanth Swaminathan2012-03-29  Peter Rosin  <[email protected]>
1001*1fd5a2e1SPrashanth Swaminathan
1002*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
1003*1fd5a2e1SPrashanth Swaminathan	visible outside the PROC, so that ffi_closure_raw_THISCALL can see
1004*1fd5a2e1SPrashanth Swaminathan	it.  Also instruct the assembler to add a frame to the function.
1005*1fd5a2e1SPrashanth Swaminathan
1006*1fd5a2e1SPrashanth Swaminathan2012-03-23  Peter Rosin  <[email protected]>
1007*1fd5a2e1SPrashanth Swaminathan
1008*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
1009*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
1010*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
1011*1fd5a2e1SPrashanth Swaminathan	to all data exports, when compiling libffi clients using MSVC.
1012*1fd5a2e1SPrashanth Swaminathan
1013*1fd5a2e1SPrashanth Swaminathan2012-03-29  Peter Rosin  <[email protected]>
1014*1fd5a2e1SPrashanth Swaminathan
1015*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
1016*1fd5a2e1SPrashanth Swaminathan	make it the default for MSVC.
1017*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_MS_STRUCT): New structure return convention.
1018*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
1019*1fd5a2e1SPrashanth Swaminathan	return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
1020*1fd5a2e1SPrashanth Swaminathan	instead of an ordinary FFI_TYPE_STRUCT.
1021*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
1022*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Likewise.
1023*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_incoming_args_SYSV): Likewise.
1024*1fd5a2e1SPrashanth Swaminathan	(ffi_raw_call): Likewise.
1025*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
1026*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
1027*1fd5a2e1SPrashanth Swaminathan	return a pointer to the result structure in eax and don't pop
1028*1fd5a2e1SPrashanth Swaminathan	that pointer from the stack, the caller takes care of it.
1029*1fd5a2e1SPrashanth Swaminathan	(ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
1030*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_raw_SYSV): Likewise.
1031*1fd5a2e1SPrashanth Swaminathan
1032*1fd5a2e1SPrashanth Swaminathan2012-03-22  Peter Rosin  <[email protected]>
1033*1fd5a2e1SPrashanth Swaminathan
1034*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
1035*1fd5a2e1SPrashanth Swaminathan	assembly version with Intel syntax.
1036*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
1037*1fd5a2e1SPrashanth Swaminathan
1038*1fd5a2e1SPrashanth Swaminathan2012-03-23  Peter Rosin  <[email protected]>
1039*1fd5a2e1SPrashanth Swaminathan
1040*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Provide abstration of
1041*1fd5a2e1SPrashanth Swaminathan	__attribute__((fastcall)) in the form of a __FASTCALL__
1042*1fd5a2e1SPrashanth Swaminathan	define.  Define it to __fastcall for MSVC.
1043*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis1_win32.c: Use the above.
1044*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis2_win32.c: Likewise.
1045*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis3_win32.c: Likewise.
1046*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen2_win32.c: Likewise.
1047*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1_win32.c: Likewise.
1048*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2_win32.c: Likewise.
1049*1fd5a2e1SPrashanth Swaminathan
1050*1fd5a2e1SPrashanth Swaminathan2012-03-22  Peter Rosin  <[email protected]>
1051*1fd5a2e1SPrashanth Swaminathan
1052*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
1053*1fd5a2e1SPrashanth Swaminathan	frame on function entry, MASM adds one automatically.
1054*1fd5a2e1SPrashanth Swaminathan
1055*1fd5a2e1SPrashanth Swaminathan2012-03-22  Peter Rosin  <[email protected]>
1056*1fd5a2e1SPrashanth Swaminathan
1057*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
1058*1fd5a2e1SPrashanth Swaminathan	bits in the MSVC headers.
1059*1fd5a2e1SPrashanth Swaminathan
1060*1fd5a2e1SPrashanth Swaminathan2012-03-22  Peter Rosin  <[email protected]>
1061*1fd5a2e1SPrashanth Swaminathan
1062*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
1063*1fd5a2e1SPrashanth Swaminathan	with no declarations after statements.
1064*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
1065*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c: Likewise.
1066*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c: Likewise.
1067*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
1068*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
1069*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c: Likewise.
1070*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
1071*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
1072*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
1073*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
1074*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
1075*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
1076*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
1077*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5_1_byte.c: Likewise.
1078*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
1079*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c: Likewise.
1080*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
1081*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
1082*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
1083*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
1084*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
1085*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c: Likewise.
1086*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c: Likewise.
1087*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_double.c: Likewise.
1088*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_float.c: Likewise.
1089*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
1090*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
1091*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1092*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
1093*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
1094*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
1095*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
1096*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
1097*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
1098*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
1099*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_dbls_struct.c: Likewise.
1100*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_pointer_stack.c: Likewise.
1101*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_typedef.c: Likewise.
1102*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c: Likewise.
1103*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c: Likewise.
1104*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c: Likewise.
1105*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct10.c: Likewise.
1106*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c: Likewise.
1107*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct3.c: Likewise.
1108*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct4.c: Likewise.
1109*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct5.c: Likewise.
1110*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c: Likewise.
1111*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct7.c: Likewise.
1112*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct8.c: Likewise.
1113*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct9.c: Likewise.
1114*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large.c: Likewise.
1115*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large2.c: Likewise.
1116*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium.c: Likewise.
1117*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium2.c: Likewise.
1118*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1.c: Likewise.
1119*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1_win32.c: Likewise.
1120*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2.c: Likewise.
1121*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2_win32.c: Likewise.
1122*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct3.c: Likewise.
1123*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct4.c: Likewise.
1124*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct5.c: Likewise.
1125*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct6.c: Likewise.
1126*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct7.c: Likewise.
1127*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct8.c: Likewise.
1128*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct9.c: Likewise.
1129*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/testclosure.c: Likewise.
1130*1fd5a2e1SPrashanth Swaminathan
1131*1fd5a2e1SPrashanth Swaminathan2012-03-21  Peter Rosin	 <[email protected]>
1132*1fd5a2e1SPrashanth Swaminathan
1133*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
1134*1fd5a2e1SPrashanth Swaminathan	printing doubles (%lf is for long doubles).
1135*1fd5a2e1SPrashanth Swaminathan	(main): Likewise.
1136*1fd5a2e1SPrashanth Swaminathan
1137*1fd5a2e1SPrashanth Swaminathan2012-03-21  Peter Rosin  <[email protected]>
1138*1fd5a2e1SPrashanth Swaminathan
1139*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
1140*1fd5a2e1SPrashanth Swaminathan	(set_ld_library_path_env_vars): Add the library search dir to PATH
1141*1fd5a2e1SPrashanth Swaminathan	(and save PATH for later).
1142*1fd5a2e1SPrashanth Swaminathan	(restore_ld_library_path_env_vars): Restore PATH.
1143*1fd5a2e1SPrashanth Swaminathan
1144*1fd5a2e1SPrashanth Swaminathan2012-03-21  Peter Rosin  <[email protected]>
1145*1fd5a2e1SPrashanth Swaminathan
1146*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
1147*1fd5a2e1SPrashanth Swaminathan	(set_ld_library_path_env_vars): Add the library search dir to PATH
1148*1fd5a2e1SPrashanth Swaminathan	(and save PATH for later).
1149*1fd5a2e1SPrashanth Swaminathan	(restore_ld_library_path_env_vars): Restore PATH.
1150*1fd5a2e1SPrashanth Swaminathan
1151*1fd5a2e1SPrashanth Swaminathan2012-03-20  Peter Rosin  <[email protected]>
1152*1fd5a2e1SPrashanth Swaminathan
1153*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
1154*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
1155*1fd5a2e1SPrashanth Swaminathan	visible outside the PROC, so that ffi_closure_THISCALL can see it.
1156*1fd5a2e1SPrashanth Swaminathan
1157*1fd5a2e1SPrashanth Swaminathan2012-03-20  Peter Rosin  <[email protected]>
1158*1fd5a2e1SPrashanth Swaminathan
1159*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
1160*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
1161*1fd5a2e1SPrashanth Swaminathan	visible outside the PROC, so that ffi_closure_THISCALL can see it.
1162*1fd5a2e1SPrashanth Swaminathan
1163*1fd5a2e1SPrashanth Swaminathan2012-03-19  Alan Hourihane  <[email protected]>
1164*1fd5a2e1SPrashanth Swaminathan
1165*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffi.c: Add MINT support.
1166*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S: Ditto.
1167*1fd5a2e1SPrashanth Swaminathan
1168*1fd5a2e1SPrashanth Swaminathan2012-03-06  Chung-Lin Tang  <[email protected]>
1169*1fd5a2e1SPrashanth Swaminathan
1170*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
1171*1fd5a2e1SPrashanth Swaminathan	ffi_call_VFP().
1172*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
1173*1fd5a2e1SPrashanth Swaminathan	ffi_closure_VFP.
1174*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
1175*1fd5a2e1SPrashanth Swaminathan
1176*1fd5a2e1SPrashanth Swaminathan2012-03-19  chennam  <[email protected]>
1177*1fd5a2e1SPrashanth Swaminathan
1178*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
1179*1fd5a2e1SPrashanth Swaminathan	support.
1180*1fd5a2e1SPrashanth Swaminathan
1181*1fd5a2e1SPrashanth Swaminathan2012-03-13  Kaz Kojima  <[email protected]>
1182*1fd5a2e1SPrashanth Swaminathan
1183*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1184*1fd5a2e1SPrashanth Swaminathan	just return FFI_BAD_ABI when things are wrong.
1185*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
1186*1fd5a2e1SPrashanth Swaminathan
1187*1fd5a2e1SPrashanth Swaminathan2012-03-09  David Edelsohn  <[email protected]>
1188*1fd5a2e1SPrashanth Swaminathan
1189*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
1190*1fd5a2e1SPrashanth Swaminathan	change to return value of ffi_closure_helper_DARWIN and load type
1191*1fd5a2e1SPrashanth Swaminathan	from return type.
1192*1fd5a2e1SPrashanth Swaminathan
1193*1fd5a2e1SPrashanth Swaminathan2012-03-03  H.J. Lu  <[email protected]>
1194*1fd5a2e1SPrashanth Swaminathan
1195*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
1196*1fd5a2e1SPrashanth Swaminathan	long.
1197*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Cast to 64bit address in trampoline.
1198*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_unix64_inner): Cast return pointer to unsigned long
1199*1fd5a2e1SPrashanth Swaminathan	first.
1200*1fd5a2e1SPrashanth Swaminathan
1201*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
1202*1fd5a2e1SPrashanth Swaminathan	(ffi_arg): Set to unsigned long long for x32.
1203*1fd5a2e1SPrashanth Swaminathan	(ffi_sarg): Set to long long for x32.
1204*1fd5a2e1SPrashanth Swaminathan
1205*1fd5a2e1SPrashanth Swaminathan2012-03-03  H.J. Lu  <[email protected]>
1206*1fd5a2e1SPrashanth Swaminathan
1207*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
1208*1fd5a2e1SPrashanth Swaminathan
1209*1fd5a2e1SPrashanth Swaminathan2012-03-03  Andoni Morales Alastruey  <[email protected]>
1210*1fd5a2e1SPrashanth Swaminathan
1211*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add -no-undefined for both 32- and 64-bit x86
1212*1fd5a2e1SPrashanth Swaminathan	windows-like hosts.
1213*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1214*1fd5a2e1SPrashanth Swaminathan
1215*1fd5a2e1SPrashanth Swaminathan2012-02-27  Mikael Pettersson  <[email protected]>
1216*1fd5a2e1SPrashanth Swaminathan
1217*1fd5a2e1SPrashanth Swaminathan	PR libffi/52223
1218*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (FLAGS_TO_PASS): Define.
1219*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
1220*1fd5a2e1SPrashanth Swaminathan
1221*1fd5a2e1SPrashanth Swaminathan2012-02-23  Anthony Green  <[email protected]>
1222*1fd5a2e1SPrashanth Swaminathan
1223*1fd5a2e1SPrashanth Swaminathan	* src/*/ffitarget.h: Ensure that users never include ffitarget.h
1224*1fd5a2e1SPrashanth Swaminathan	directly.
1225*1fd5a2e1SPrashanth Swaminathan
1226*1fd5a2e1SPrashanth Swaminathan2012-02-23  Kai Tietz  <[email protected]>
1227*1fd5a2e1SPrashanth Swaminathan
1228*1fd5a2e1SPrashanth Swaminathan	PR libffi/52221
1229*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
1230*1fd5a2e1SPrashanth Swaminathan	prototype.
1231*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
1232*1fd5a2e1SPrashanth Swaminathan	thiscall-convention.
1233*1fd5a2e1SPrashanth Swaminathan	(ffi_raw_call): Use ffi_prep_args_raw.
1234*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
1235*1fd5a2e1SPrashanth Swaminathan	implementation for stub.
1236*1fd5a2e1SPrashanth Swaminathan
1237*1fd5a2e1SPrashanth Swaminathan2012-02-10  Kai Tietz  <[email protected]>
1238*1fd5a2e1SPrashanth Swaminathan
1239*1fd5a2e1SPrashanth Swaminathan	* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
1240*1fd5a2e1SPrashanth Swaminathan	windows target.
1241*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
1242*1fd5a2e1SPrashanth Swaminathan
1243*1fd5a2e1SPrashanth Swaminathan2012-02-08  Kai Tietz  <[email protected]>
1244*1fd5a2e1SPrashanth Swaminathan
1245*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
1246*1fd5a2e1SPrashanth Swaminathan	also FFI_THISCALL.
1247*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
1248*1fd5a2e1SPrashanth Swaminathan	(FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
1249*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Add FFI_THISCALL support.
1250*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
1251*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_THISCALL): New closure code
1252*1fd5a2e1SPrashanth Swaminathan	for thiscall-calling convention.
1253*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_thiscall.c: New test.
1254*1fd5a2e1SPrashanth Swaminathan
1255*1fd5a2e1SPrashanth Swaminathan2012-01-28  Kai Tietz  <[email protected]>
1256*1fd5a2e1SPrashanth Swaminathan
1257*1fd5a2e1SPrashanth Swaminathan	* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
1258*1fd5a2e1SPrashanth Swaminathan	argument to prototype for specify calling-convention.
1259*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Add support for stdcall/thiscall convention.
1260*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Likewise.
1261*1fd5a2e1SPrashanth Swaminathan	(ffi_raw_call): Likewise.
1262*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
1263*1fd5a2e1SPrashanth Swaminathan	FFI_FASTCALL.
1264*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (_ffi_call_win32): Add support for
1265*1fd5a2e1SPrashanth Swaminathan	fastcall/thiscall calling-convention calls.
1266*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis1_win32.c: New test.
1267*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis2_win32.c: New test.
1268*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/fastthis3_win32.c: New test.
1269*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen2_win32.c: New test.
1270*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many2_win32.c: New test.
1271*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1_win32.c: New test.
1272*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2_win32.c: New test.
1273*1fd5a2e1SPrashanth Swaminathan
1274*1fd5a2e1SPrashanth Swaminathan2012-01-23  Uros Bizjak  <[email protected]>
1275*1fd5a2e1SPrashanth Swaminathan
1276*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
1277*1fd5a2e1SPrashanth Swaminathan
1278*1fd5a2e1SPrashanth Swaminathan2012-01-23  Anthony Green  <[email protected]>
1279*1fd5a2e1SPrashanth Swaminathan	    Chris Young  <[email protected]>
1280*1fd5a2e1SPrashanth Swaminathan
1281*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add Amiga support.
1282*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1283*1fd5a2e1SPrashanth Swaminathan
1284*1fd5a2e1SPrashanth Swaminathan2012-01-23  Dmitry Nadezhin  <[email protected]>
1285*1fd5a2e1SPrashanth Swaminathan
1286*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
1287*1fd5a2e1SPrashanth Swaminathan
1288*1fd5a2e1SPrashanth Swaminathan2012-01-23  Andreas Schwab  <[email protected]>
1289*1fd5a2e1SPrashanth Swaminathan
1290*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
1291*1fd5a2e1SPrashanth Swaminathan	mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
1292*1fd5a2e1SPrashanth Swaminathan
1293*1fd5a2e1SPrashanth Swaminathan2012-01-19  Jakub Jelinek  <[email protected]>
1294*1fd5a2e1SPrashanth Swaminathan
1295*1fd5a2e1SPrashanth Swaminathan	PR rtl-optimization/48496
1296*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
1297*1fd5a2e1SPrashanth Swaminathan
1298*1fd5a2e1SPrashanth Swaminathan2012-01-09  Rainer Orth  <[email protected]>
1299*1fd5a2e1SPrashanth Swaminathan
1300*1fd5a2e1SPrashanth Swaminathan	* configure.ac (i?86-*-*): Set TARGET to X86_64.
1301*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1302*1fd5a2e1SPrashanth Swaminathan
1303*1fd5a2e1SPrashanth Swaminathan2011-12-07  Andrew Pinski  <[email protected]>
1304*1fd5a2e1SPrashanth Swaminathan
1305*1fd5a2e1SPrashanth Swaminathan	PR libffi/50051
1306*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Add ".set mips4".
1307*1fd5a2e1SPrashanth Swaminathan
1308*1fd5a2e1SPrashanth Swaminathan2011-11-21  Andreas Tobler  <[email protected]>
1309*1fd5a2e1SPrashanth Swaminathan
1310*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1311*1fd5a2e1SPrashanth Swaminathan
1312*1fd5a2e1SPrashanth Swaminathan2011-11-12  David Gilbert <[email protected]>
1313*1fd5a2e1SPrashanth Swaminathan
1314*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
1315*1fd5a2e1SPrashanth Swaminathan	man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
1316*1fd5a2e1SPrashanth Swaminathan	man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
1317*1fd5a2e1SPrashanth Swaminathan	src/cris/ffi.c, src/prep_cif.c,
1318*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_double_va.c,
1319*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble_va.c,
1320*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/float_va.c: Many changes to support variadic
1321*1fd5a2e1SPrashanth Swaminathan	function calls.
1322*1fd5a2e1SPrashanth Swaminathan
1323*1fd5a2e1SPrashanth Swaminathan2011-11-12  Kyle Moffett <[email protected]>
1324*1fd5a2e1SPrashanth Swaminathan
1325*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c, src/powerpc/ffitarget.h,
1326*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
1327*1fd5a2e1SPrashanth Swaminathan	softfloat powerpc variants.
1328*1fd5a2e1SPrashanth Swaminathan
1329*1fd5a2e1SPrashanth Swaminathan2011-11-12  Petr Salinger <[email protected]>
1330*1fd5a2e1SPrashanth Swaminathan
1331*1fd5a2e1SPrashanth Swaminathan	* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
1332*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1333*1fd5a2e1SPrashanth Swaminathan
1334*1fd5a2e1SPrashanth Swaminathan2011-11-12  Timothy Wall  <[email protected]>
1335*1fd5a2e1SPrashanth Swaminathan
1336*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
1337*1fd5a2e1SPrashanth Swaminathan	alignment of 4 for wince on ARM.
1338*1fd5a2e1SPrashanth Swaminathan
1339*1fd5a2e1SPrashanth Swaminathan2011-11-12  Kyle Moffett <[email protected]>
1340*1fd5a2e1SPrashanth Swaminathan	    Anthony Green <[email protected]>
1341*1fd5a2e1SPrashanth Swaminathan
1342*1fd5a2e1SPrashanth Swaminathan	* src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
1343*1fd5a2e1SPrashanth Swaminathan	instructions (not available on some cores, like the PPC440).
1344*1fd5a2e1SPrashanth Swaminathan
1345*1fd5a2e1SPrashanth Swaminathan2011-11-12  Kimura Wataru  <[email protected]>
1346*1fd5a2e1SPrashanth Swaminathan
1347*1fd5a2e1SPrashanth Swaminathan	* m4/ax_enable_builddir: Change from string comparison to numeric
1348*1fd5a2e1SPrashanth Swaminathan	comparison for wc output.
1349*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
1350*1fd5a2e1SPrashanth Swaminathan	X 10.7.
1351*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1352*1fd5a2e1SPrashanth Swaminathan
1353*1fd5a2e1SPrashanth Swaminathan2011-11-12  Anthony Green  <[email protected]>
1354*1fd5a2e1SPrashanth Swaminathan
1355*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
1356*1fd5a2e1SPrashanth Swaminathan	files with debug info.
1357*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
1358*1fd5a2e1SPrashanth Swaminathan
1359*1fd5a2e1SPrashanth Swaminathan2011-11-12  Jasper Lievisse Adriaanse <[email protected]>
1360*1fd5a2e1SPrashanth Swaminathan
1361*1fd5a2e1SPrashanth Swaminathan	* README: Update list of supported OpenBSD systems.
1362*1fd5a2e1SPrashanth Swaminathan
1363*1fd5a2e1SPrashanth Swaminathan2011-11-12  Anthony Green  <[email protected]>
1364*1fd5a2e1SPrashanth Swaminathan
1365*1fd5a2e1SPrashanth Swaminathan	* libtool-version: Update.
1366*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
1367*1fd5a2e1SPrashanth Swaminathan	FFI_DEBUG.
1368*1fd5a2e1SPrashanth Swaminathan	(libffi_la_SOURCES): Remove src/debug.c
1369*1fd5a2e1SPrashanth Swaminathan	(EXTRA_DIST): Add src/debug.c
1370*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
1371*1fd5a2e1SPrashanth Swaminathan	* README: Update for 3.0.11.
1372*1fd5a2e1SPrashanth Swaminathan
1373*1fd5a2e1SPrashanth Swaminathan2011-11-10  Richard Henderson  <[email protected]>
1374*1fd5a2e1SPrashanth Swaminathan
1375*1fd5a2e1SPrashanth Swaminathan	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
1376*1fd5a2e1SPrashanth Swaminathan	* configure, aclocal.m4: Rebuild.
1377*1fd5a2e1SPrashanth Swaminathan
1378*1fd5a2e1SPrashanth Swaminathan2011-09-04  Iain Sandoe  <[email protected]>
1379*1fd5a2e1SPrashanth Swaminathan
1380*1fd5a2e1SPrashanth Swaminathan	PR libffi/49594
1381*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S (stubs): Make the stub binding
1382*1fd5a2e1SPrashanth Swaminathan	helper reference track the architecture pointer size.
1383*1fd5a2e1SPrashanth Swaminathan
1384*1fd5a2e1SPrashanth Swaminathan2011-08-25  Andrew Haley  <[email protected]>
1385*1fd5a2e1SPrashanth Swaminathan
1386*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
1387*1fd5a2e1SPrashanth Swaminathan	instructions.
1388*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
1389*1fd5a2e1SPrashanth Swaminathan
1390*1fd5a2e1SPrashanth Swaminathan2011-07-11  Andrew Haley  <[email protected]>
1391*1fd5a2e1SPrashanth Swaminathan
1392*1fd5a2e1SPrashanth Swaminathan        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
1393*1fd5a2e1SPrashanth Swaminathan
1394*1fd5a2e1SPrashanth Swaminathan2011-06-29  Rainer Orth  <[email protected]>
1395*1fd5a2e1SPrashanth Swaminathan
1396*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
1397*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
1398*1fd5a2e1SPrashanth Swaminathan
1399*1fd5a2e1SPrashanth Swaminathan2011-06-29  Rainer Orth  <[email protected]>
1400*1fd5a2e1SPrashanth Swaminathan
1401*1fd5a2e1SPrashanth Swaminathan	PR libffi/46660
1402*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c: xfail dg-output on
1403*1fd5a2e1SPrashanth Swaminathan	mips-sgi-irix6*.
1404*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
1405*1fd5a2e1SPrashanth Swaminathan
1406*1fd5a2e1SPrashanth Swaminathan2011-06-14  Rainer Orth  <[email protected]>
1407*1fd5a2e1SPrashanth Swaminathan
1408*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
1409*1fd5a2e1SPrashanth Swaminathan	PRId8 instead of %hhu, %hhd.
1410*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
1411*1fd5a2e1SPrashanth Swaminathan	PRIu8): Define.
1412*1fd5a2e1SPrashanth Swaminathan	[__sgi__] (PRId8, PRIu8): Define.
1413*1fd5a2e1SPrashanth Swaminathan
1414*1fd5a2e1SPrashanth Swaminathan2011-04-29  Rainer Orth  <[email protected]>
1415*1fd5a2e1SPrashanth Swaminathan
1416*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
1417*1fd5a2e1SPrashanth Swaminathan	Define.
1418*1fd5a2e1SPrashanth Swaminathan	Use them to handle ELF vs. ECOFF differences.
1419*1fd5a2e1SPrashanth Swaminathan	[__osf__] (_GLOBAL__F_ffi_call_osf): Define.
1420*1fd5a2e1SPrashanth Swaminathan
1421*1fd5a2e1SPrashanth Swaminathan2011-03-30  Timothy Wall  <[email protected]>
1422*1fd5a2e1SPrashanth Swaminathan
1423*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Fix unknown FDE encoding.
1424*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: ditto.
1425*1fd5a2e1SPrashanth Swaminathan
1426*1fd5a2e1SPrashanth Swaminathan2011-02-25  Anthony Green  <[email protected]>
1427*1fd5a2e1SPrashanth Swaminathan
1428*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
1429*1fd5a2e1SPrashanth Swaminathan	32-bit ABIs.
1430*1fd5a2e1SPrashanth Swaminathan
1431*1fd5a2e1SPrashanth Swaminathan2011-02-15  Anthony Green  <[email protected]>
1432*1fd5a2e1SPrashanth Swaminathan
1433*1fd5a2e1SPrashanth Swaminathan	* m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
1434*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1435*1fd5a2e1SPrashanth Swaminathan
1436*1fd5a2e1SPrashanth Swaminathan2011-02-13  Ralf Wildenhues  <[email protected]>
1437*1fd5a2e1SPrashanth Swaminathan
1438*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1439*1fd5a2e1SPrashanth Swaminathan
1440*1fd5a2e1SPrashanth Swaminathan2011-02-13  Anthony Green  <[email protected]>
1441*1fd5a2e1SPrashanth Swaminathan
1442*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h (UNLIKELY, LIKELY): Define.
1443*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
1444*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
1445*1fd5a2e1SPrashanth Swaminathan
1446*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (initialize_aggregate): Convert assertion into
1447*1fd5a2e1SPrashanth Swaminathan	FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
1448*1fd5a2e1SPrashanth Swaminathan
1449*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1450*1fd5a2e1SPrashanth Swaminathan	just return FFI_BAD_ABI when things are wrong.
1451*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
1452*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
1453*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
1454*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
1455*1fd5a2e1SPrashanth Swaminathan	* src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
1456*1fd5a2e1SPrashanth Swaminathan
1457*1fd5a2e1SPrashanth Swaminathan2011-02-11  Anthony Green  <[email protected]>
1458*1fd5a2e1SPrashanth Swaminathan
1459*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
1460*1fd5a2e1SPrashanth Swaminathan	just return FFI_BAD_ABI when things are wrong.
1461*1fd5a2e1SPrashanth Swaminathan
1462*1fd5a2e1SPrashanth Swaminathan2012-02-11  Eric Botcazou  <[email protected]>
1463*1fd5a2e1SPrashanth Swaminathan
1464*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S (STACKFRAME): Bump to 176.
1465*1fd5a2e1SPrashanth Swaminathan
1466*1fd5a2e1SPrashanth Swaminathan2011-02-09  Stuart Shelton  <[email protected]>
1467*1fd5a2e1SPrashanth Swaminathan
1468*1fd5a2e1SPrashanth Swaminathan	http://bugs.gentoo.org/show_bug.cgi?id=286911
1469*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Clean up error messages.
1470*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
1471*1fd5a2e1SPrashanth Swaminathan	ffi_raw*.
1472*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add pragma for SGI compiler.
1473*1fd5a2e1SPrashanth Swaminathan
1474*1fd5a2e1SPrashanth Swaminathan2011-02-09  Anthony Green  <[email protected]>
1475*1fd5a2e1SPrashanth Swaminathan
1476*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add powerpc64-*-darwin* support.
1477*1fd5a2e1SPrashanth Swaminathan
1478*1fd5a2e1SPrashanth Swaminathan2011-02-09  Anthony Green <[email protected]>
1479*1fd5a2e1SPrashanth Swaminathan
1480*1fd5a2e1SPrashanth Swaminathan	* README: Mention Interix.
1481*1fd5a2e1SPrashanth Swaminathan
1482*1fd5a2e1SPrashanth Swaminathan2011-02-09  Jonathan Callen  <[email protected]>
1483*1fd5a2e1SPrashanth Swaminathan
1484*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add Interix to win32/cygwin/mingw case.
1485*1fd5a2e1SPrashanth Swaminathan	* configure: Ditto.
1486*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Treat Interix like Cygwin, instead of as a
1487*1fd5a2e1SPrashanth Swaminathan	generic win32.
1488*1fd5a2e1SPrashanth Swaminathan
1489*1fd5a2e1SPrashanth Swaminathan2011-02-09  Anthony Green <[email protected]>
1490*1fd5a2e1SPrashanth Swaminathan
1491*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
1492*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_abi.c: Remove xfail.
1493*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
1494*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Check for bad ABI.
1495*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (UNLIKELY, LIKELY): Define.
1496*1fd5a2e1SPrashanth Swaminathan	(initialize_aggregate): Check for bad types.
1497*1fd5a2e1SPrashanth Swaminathan
1498*1fd5a2e1SPrashanth Swaminathan2011-02-09  Landon Fuller <[email protected]>
1499*1fd5a2e1SPrashanth Swaminathan
1500*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
1501*1fd5a2e1SPrashanth Swaminathan	src/arm/trampoline.S.
1502*1fd5a2e1SPrashanth Swaminathan	(nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
1503*1fd5a2e1SPrashanth Swaminathan	* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
1504*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_trampoline_table)
1505*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
1506*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
1507*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
1508*1fd5a2e1SPrashanth Swaminathan	(ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
1509*1fd5a2e1SPrashanth Swaminathan	Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
1510*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
1511*1fd5a2e1SPrashanth Swaminathan	separately.
1512*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Handle Apple iOS host.
1513*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
1514*1fd5a2e1SPrashanth Swaminathan	* build-ios.sh: New file.
1515*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in, configure, Makefile.in: Rebuilt.
1516*1fd5a2e1SPrashanth Swaminathan	* README: Mention ARM iOS.
1517*1fd5a2e1SPrashanth Swaminathan
1518*1fd5a2e1SPrashanth Swaminathan2011-02-08  Oren Held  <[email protected]>
1519*1fd5a2e1SPrashanth Swaminathan
1520*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
1521*1fd5a2e1SPrashanth Swaminathan	redefinition of mallinfo on HP-UX.
1522*1fd5a2e1SPrashanth Swaminathan
1523*1fd5a2e1SPrashanth Swaminathan2011-02-08  Ginn Chen  <[email protected]>
1524*1fd5a2e1SPrashanth Swaminathan
1525*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
1526*1fd5a2e1SPrashanth Swaminathan	aggregate return ABI.  Flush cache.
1527*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Flush cache.
1528*1fd5a2e1SPrashanth Swaminathan
1529*1fd5a2e1SPrashanth Swaminathan2011-02-11  Anthony Green  <[email protected]>
1530*1fd5a2e1SPrashanth Swaminathan
1531*1fd5a2e1SPrashanth Swaminathan	From Tom Honermann <[email protected]>:
1532*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
1533*1fd5a2e1SPrashanth Swaminathan	AIX.  Declare .ffi_prep_args.  Insert nops after branch
1534*1fd5a2e1SPrashanth Swaminathan	instructions so that the AIX linker can insert TOC reload
1535*1fd5a2e1SPrashanth Swaminathan	instructions.
1536*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
1537*1fd5a2e1SPrashanth Swaminathan
1538*1fd5a2e1SPrashanth Swaminathan2011-02-08  Ed  <[email protected]>
1539*1fd5a2e1SPrashanth Swaminathan
1540*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/asm.h: Fix grammar nit in comment.
1541*1fd5a2e1SPrashanth Swaminathan
1542*1fd5a2e1SPrashanth Swaminathan2011-02-08  Uli Link  <[email protected]>
1543*1fd5a2e1SPrashanth Swaminathan
1544*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
1545*1fd5a2e1SPrashanth Swaminathan
1546*1fd5a2e1SPrashanth Swaminathan2011-02-09  Rainer Orth  <[email protected]>
1547*1fd5a2e1SPrashanth Swaminathan
1548*1fd5a2e1SPrashanth Swaminathan	PR libffi/46661
1549*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_pointer.c (main): Cast void * to
1550*1fd5a2e1SPrashanth Swaminathan	uintptr_t first.
1551*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
1552*1fd5a2e1SPrashanth Swaminathan
1553*1fd5a2e1SPrashanth Swaminathan2011-02-08  Rafael Avila de Espindola  <[email protected]>
1554*1fd5a2e1SPrashanth Swaminathan
1555*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Fix x86 test for pc related relocs.
1556*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1557*1fd5a2e1SPrashanth Swaminathan
1558*1fd5a2e1SPrashanth Swaminathan2011-02-07  Joel Sherrill <[email protected]>
1559*1fd5a2e1SPrashanth Swaminathan
1560*1fd5a2e1SPrashanth Swaminathan	* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
1561*1fd5a2e1SPrashanth Swaminathan	Handle case when CPU variant does not have long double support.
1562*1fd5a2e1SPrashanth Swaminathan	* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
1563*1fd5a2e1SPrashanth Swaminathan	and cores with soft floating point.
1564*1fd5a2e1SPrashanth Swaminathan
1565*1fd5a2e1SPrashanth Swaminathan2011-02-07  Joel Sherrill <[email protected]>
1566*1fd5a2e1SPrashanth Swaminathan
1567*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add mips*-*-rtems* support.
1568*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1569*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Ensure needed constants are available
1570*1fd5a2e1SPrashanth Swaminathan	for targets which do not have sgidefs.h.
1571*1fd5a2e1SPrashanth Swaminathan
1572*1fd5a2e1SPrashanth Swaminathan2011-01-26  Dave Korn  <[email protected]>
1573*1fd5a2e1SPrashanth Swaminathan
1574*1fd5a2e1SPrashanth Swaminathan	PR target/40125
1575*1fd5a2e1SPrashanth Swaminathan	* configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
1576*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1577*1fd5a2e1SPrashanth Swaminathan
1578*1fd5a2e1SPrashanth Swaminathan2010-12-18  Iain Sandoe  <[email protected]>
1579*1fd5a2e1SPrashanth Swaminathan
1580*1fd5a2e1SPrashanth Swaminathan	PR libffi/29152
1581*1fd5a2e1SPrashanth Swaminathan	PR libffi/42378
1582*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
1583*1fd5a2e1SPrashanth Swaminathan	update comments.
1584*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
1585*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Update for Darwin64.
1586*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Provide Darwin64 implementation,
1587*1fd5a2e1SPrashanth Swaminathan	update comments.
1588*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Likewise.
1589*1fd5a2e1SPrashanth Swaminathan
1590*1fd5a2e1SPrashanth Swaminathan2010-12-06  Rainer Orth  <[email protected]>
1591*1fd5a2e1SPrashanth Swaminathan
1592*1fd5a2e1SPrashanth Swaminathan	* configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
1593*1fd5a2e1SPrashanth Swaminathan	backslashes.
1594*1fd5a2e1SPrashanth Swaminathan	(libffi_cv_as_string_pseudo_op): Likewise.
1595*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1596*1fd5a2e1SPrashanth Swaminathan
1597*1fd5a2e1SPrashanth Swaminathan2010-12-03  Chung-Lin Tang  <[email protected]>
1598*1fd5a2e1SPrashanth Swaminathan
1599*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
1600*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_VFP): Same.
1601*1fd5a2e1SPrashanth Swaminathan	(ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
1602*1fd5a2e1SPrashanth Swaminathan	directive.
1603*1fd5a2e1SPrashanth Swaminathan
1604*1fd5a2e1SPrashanth Swaminathan2010-12-01  Rainer Orth  <[email protected]>
1605*1fd5a2e1SPrashanth Swaminathan
1606*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
1607*1fd5a2e1SPrashanth Swaminathan	(PRIuPTR): Define.
1608*1fd5a2e1SPrashanth Swaminathan
1609*1fd5a2e1SPrashanth Swaminathan2010-11-29  Richard Henderson  <[email protected]>
1610*1fd5a2e1SPrashanth Swaminathan	    Rainer Orth  <[email protected]>
1611*1fd5a2e1SPrashanth Swaminathan
1612*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
1613*1fd5a2e1SPrashanth Swaminathan	(.eh_frame): Use FDE_ENCODING.
1614*1fd5a2e1SPrashanth Swaminathan	(.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
1615*1fd5a2e1SPrashanth Swaminathan
1616*1fd5a2e1SPrashanth Swaminathan2010-11-22  Jacek Caban <[email protected]>
1617*1fd5a2e1SPrashanth Swaminathan
1618*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Check for symbol underscores on mingw-w64.
1619*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1620*1fd5a2e1SPrashanth Swaminathan	* src/x86/win64.S: Correctly access extern symbols in respect to
1621*1fd5a2e1SPrashanth Swaminathan	underscores.
1622*1fd5a2e1SPrashanth Swaminathan
1623*1fd5a2e1SPrashanth Swaminathan2010-11-15  Rainer Orth  <[email protected]>
1624*1fd5a2e1SPrashanth Swaminathan
1625*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Rename ...
1626*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi.exp: ... to this.
1627*1fd5a2e1SPrashanth Swaminathan	* libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
1628*1fd5a2e1SPrashanth Swaminathan	* libffi/testsuite/libffi.special/special.exp: Likewise.
1629*1fd5a2e1SPrashanth Swaminathan
1630*1fd5a2e1SPrashanth Swaminathan2010-10-28  Chung-Lin Tang  <[email protected]>
1631*1fd5a2e1SPrashanth Swaminathan
1632*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
1633*1fd5a2e1SPrashanth Swaminathan	code, new parameter, and return value. Update comments.
1634*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Add case for VFP struct return values. Add
1635*1fd5a2e1SPrashanth Swaminathan	call to layout_vfp_args().
1636*1fd5a2e1SPrashanth Swaminathan	(ffi_call_SYSV): Update declaration.
1637*1fd5a2e1SPrashanth Swaminathan	(ffi_call_VFP): New declaration.
1638*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
1639*1fd5a2e1SPrashanth Swaminathan	when ABI is FFI_VFP.
1640*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_VFP): New declaration.
1641*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
1642*1fd5a2e1SPrashanth Swaminathan	ffi_prep_incoming_args_SYSV().
1643*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
1644*1fd5a2e1SPrashanth Swaminathan	case handling.
1645*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
1646*1fd5a2e1SPrashanth Swaminathan	construction under VFP hard-float.
1647*1fd5a2e1SPrashanth Swaminathan	(rec_vfp_type_p): New function.
1648*1fd5a2e1SPrashanth Swaminathan	(vfp_type_p): Same.
1649*1fd5a2e1SPrashanth Swaminathan	(place_vfp_arg): Same.
1650*1fd5a2e1SPrashanth Swaminathan	(layout_vfp_args): Same.
1651*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
1652*1fd5a2e1SPrashanth Swaminathan	based on __ARM_PCS_VFP.
1653*1fd5a2e1SPrashanth Swaminathan	(FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
1654*1fd5a2e1SPrashanth Swaminathan	fields.
1655*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
1656*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
1657*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
1658*1fd5a2e1SPrashanth Swaminathan	direct call. Move function pointer load upwards.
1659*1fd5a2e1SPrashanth Swaminathan	(ffi_call_VFP): New function.
1660*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_VFP): Same.
1661*1fd5a2e1SPrashanth Swaminathan
1662*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (check-flags): New function.
1663*1fd5a2e1SPrashanth Swaminathan	(dg-skip-if): New function.
1664*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
1665*1fd5a2e1SPrashanth Swaminathan	and compiler options include -mfloat-abi=hard.
1666*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Same.
1667*1fd5a2e1SPrashanth Swaminathan
1668*1fd5a2e1SPrashanth Swaminathan2010-10-01  Jakub Jelinek  <[email protected]>
1669*1fd5a2e1SPrashanth Swaminathan
1670*1fd5a2e1SPrashanth Swaminathan	PR libffi/45677
1671*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
1672*1fd5a2e1SPrashanth Swaminathan	a multiple of 8.
1673*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many2.c: New test.
1674*1fd5a2e1SPrashanth Swaminathan
1675*1fd5a2e1SPrashanth Swaminathan2010-08-20  Mark Wielaard  <[email protected]>
1676*1fd5a2e1SPrashanth Swaminathan
1677*1fd5a2e1SPrashanth Swaminathan	* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
1678*1fd5a2e1SPrashanth Swaminathan	returns NULL.
1679*1fd5a2e1SPrashanth Swaminathan
1680*1fd5a2e1SPrashanth Swaminathan2010-08-09  Andreas Tobler  <[email protected]>
1681*1fd5a2e1SPrashanth Swaminathan
1682*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add target powerpc64-*-freebsd*.
1683*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1684*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split.c: Pass
1685*1fd5a2e1SPrashanth Swaminathan	-mlong-double-128 only to linux targets.
1686*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1687*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble.c: Likewise.
1688*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c: Likewise.
1689*1fd5a2e1SPrashanth Swaminathan
1690*1fd5a2e1SPrashanth Swaminathan2010-08-05  Dan Witte  <[email protected]>
1691*1fd5a2e1SPrashanth Swaminathan
1692*1fd5a2e1SPrashanth Swaminathan        * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
1693*1fd5a2e1SPrashanth Swaminathan        debug CRT when --enable-debug is given.
1694*1fd5a2e1SPrashanth Swaminathan        * configure.ac: Define it.
1695*1fd5a2e1SPrashanth Swaminathan        * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
1696*1fd5a2e1SPrashanth Swaminathan
1697*1fd5a2e1SPrashanth Swaminathan2010-08-04  Dan Witte  <[email protected]>
1698*1fd5a2e1SPrashanth Swaminathan
1699*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
1700*1fd5a2e1SPrashanth Swaminathan	platforms.
1701*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Remove redundant ifdef checks.
1702*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c: Push stack space computation into src/x86/ffi.c
1703*1fd5a2e1SPrashanth Swaminathan	for X86_ANY so return value space doesn't get added twice.
1704*1fd5a2e1SPrashanth Swaminathan
1705*1fd5a2e1SPrashanth Swaminathan2010-08-03  Neil Rashbrooke <[email protected]>
1706*1fd5a2e1SPrashanth Swaminathan
1707*1fd5a2e1SPrashanth Swaminathan	* msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
1708*1fd5a2e1SPrashanth Swaminathan
1709*1fd5a2e1SPrashanth Swaminathan2010-07-22  Dan Witte  <[email protected]>
1710*1fd5a2e1SPrashanth Swaminathan
1711*1fd5a2e1SPrashanth Swaminathan	* src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
1712*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c: Fix ABI assertion.
1713*1fd5a2e1SPrashanth Swaminathan        * src/cris/ffi.c: Ditto.
1714*1fd5a2e1SPrashanth Swaminathan
1715*1fd5a2e1SPrashanth Swaminathan2010-07-10  Evan Phoenix  <[email protected]>
1716*1fd5a2e1SPrashanth Swaminathan
1717*1fd5a2e1SPrashanth Swaminathan	* src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
1718*1fd5a2e1SPrashanth Swaminathan
1719*1fd5a2e1SPrashanth Swaminathan2010-07-07  Dan Horák <[email protected]>
1720*1fd5a2e1SPrashanth Swaminathan
1721*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Protect #define with #ifndef.
1722*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h: Ditto.
1723*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffitarget.h: Ditto.
1724*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffitarget.h: Ditto.
1725*1fd5a2e1SPrashanth Swaminathan
1726*1fd5a2e1SPrashanth Swaminathan2010-07-07   Neil Roberts <[email protected]>
1727*1fd5a2e1SPrashanth Swaminathan
1728*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
1729*1fd5a2e1SPrashanth Swaminathan	16-bytes.
1730*1fd5a2e1SPrashanth Swaminathan
1731*1fd5a2e1SPrashanth Swaminathan2010-07-02  Jakub Jelinek  <[email protected]>
1732*1fd5a2e1SPrashanth Swaminathan
1733*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
1734*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
1735*1fd5a2e1SPrashanth Swaminathan
1736*1fd5a2e1SPrashanth Swaminathan2010-05-19  Rainer Orth  <[email protected]>
1737*1fd5a2e1SPrashanth Swaminathan
1738*1fd5a2e1SPrashanth Swaminathan	* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
1739*1fd5a2e1SPrashanth Swaminathan	output, too.
1740*1fd5a2e1SPrashanth Swaminathan	(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
1741*1fd5a2e1SPrashanth Swaminathan	(libffi_cv_as_string_pseudo_op): Check for .string.
1742*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1743*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
1744*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
1745*1fd5a2e1SPrashanth Swaminathan
1746*1fd5a2e1SPrashanth Swaminathan2010-05-11  Dan Witte  <[email protected]>
1747*1fd5a2e1SPrashanth Swaminathan
1748*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.tex: Document previous change.
1749*1fd5a2e1SPrashanth Swaminathan
1750*1fd5a2e1SPrashanth Swaminathan2010-05-11  Makoto Kato <[email protected]>
1751*1fd5a2e1SPrashanth Swaminathan
1752*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
1753*1fd5a2e1SPrashanth Swaminathan
1754*1fd5a2e1SPrashanth Swaminathan2010-05-05  Michael Kohler <[email protected]>
1755*1fd5a2e1SPrashanth Swaminathan
1756*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c (dlfree): Fix spelling.
1757*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
1758*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Ditto.
1759*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1760*1fd5a2e1SPrashanth Swaminathan
1761*1fd5a2e1SPrashanth Swaminathan2010-04-13  Dan Witte  <[email protected]>
1762*1fd5a2e1SPrashanth Swaminathan
1763*1fd5a2e1SPrashanth Swaminathan	* msvcc.sh: Build with -W3 instead of -Wall.
1764*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Remove build warnings.
1765*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Ditto.
1766*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Ditto.
1767*1fd5a2e1SPrashanth Swaminathan
1768*1fd5a2e1SPrashanth Swaminathan2010-04-12  Dan Witte  <[email protected]>
1769*1fd5a2e1SPrashanth Swaminathan	    Walter Meinl <[email protected]>
1770*1fd5a2e1SPrashanth Swaminathan
1771*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add OS/2 support.
1772*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1773*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Ditto.
1774*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c: Ditto.
1775*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Ditto.
1776*1fd5a2e1SPrashanth Swaminathan
1777*1fd5a2e1SPrashanth Swaminathan2010-04-07  Jakub Jelinek  <[email protected]>
1778*1fd5a2e1SPrashanth Swaminathan
1779*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
1780*1fd5a2e1SPrashanth Swaminathan
1781*1fd5a2e1SPrashanth Swaminathan2010-04-02  Ralf Wildenhues  <[email protected]>
1782*1fd5a2e1SPrashanth Swaminathan
1783*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
1784*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
1785*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
1786*1fd5a2e1SPrashanth Swaminathan	* man/Makefile.in: Regenerate.
1787*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
1788*1fd5a2e1SPrashanth Swaminathan
1789*1fd5a2e1SPrashanth Swaminathan2010-03-30  Dan Witte  <[email protected]>
1790*1fd5a2e1SPrashanth Swaminathan
1791*1fd5a2e1SPrashanth Swaminathan	* msvcc.sh: Disable build warnings.
1792*1fd5a2e1SPrashanth Swaminathan	* README (tested): Clarify windows build procedure.
1793*1fd5a2e1SPrashanth Swaminathan
1794*1fd5a2e1SPrashanth Swaminathan2010-03-15  Rainer Orth  <[email protected]>
1795*1fd5a2e1SPrashanth Swaminathan
1796*1fd5a2e1SPrashanth Swaminathan	* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
1797*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1798*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
1799*1fd5a2e1SPrashanth Swaminathan	* libffi/src/x86/unix64.S (.eh_frame)
1800*1fd5a2e1SPrashanth Swaminathan	[HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
1801*1fd5a2e1SPrashanth Swaminathan
1802*1fd5a2e1SPrashanth Swaminathan2010-03-14  Matthias Klose  <[email protected]>
1803*1fd5a2e1SPrashanth Swaminathan
1804*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: Fix typo in comment.
1805*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Use /* ... */ comment style.
1806*1fd5a2e1SPrashanth Swaminathan
1807*1fd5a2e1SPrashanth Swaminathan2010-02-24  Rainer Orth  <[email protected]>
1808*1fd5a2e1SPrashanth Swaminathan
1809*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi (The Closure API): Fix typo.
1810*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.info: Remove.
1811*1fd5a2e1SPrashanth Swaminathan
1812*1fd5a2e1SPrashanth Swaminathan2010-02-15  Matthias Klose  <[email protected]>
1813*1fd5a2e1SPrashanth Swaminathan
1814*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (__ARM_ARCH__): Define for processor
1815*1fd5a2e1SPrashanth Swaminathan	__ARM_ARCH_7EM__.
1816*1fd5a2e1SPrashanth Swaminathan
1817*1fd5a2e1SPrashanth Swaminathan2010-01-15  Anthony Green  <[email protected]>
1818*1fd5a2e1SPrashanth Swaminathan
1819*1fd5a2e1SPrashanth Swaminathan	* README: Add notes on building with Microsoft Visual C++.
1820*1fd5a2e1SPrashanth Swaminathan
1821*1fd5a2e1SPrashanth Swaminathan2010-01-15  Daniel Witte  <[email protected]>
1822*1fd5a2e1SPrashanth Swaminathan
1823*1fd5a2e1SPrashanth Swaminathan	* msvcc.sh: New file.
1824*1fd5a2e1SPrashanth Swaminathan
1825*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
1826*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Tweak function declaration and remove excess
1827*1fd5a2e1SPrashanth Swaminathan	parens.
1828*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add __declspec(align(8)) to typedef struct
1829*1fd5a2e1SPrashanth Swaminathan	ffi_closure.
1830*1fd5a2e1SPrashanth Swaminathan
1831*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
1832*1fd5a2e1SPrashanth Swaminathan	function ffi_call_win32 on X86_WIN32.
1833*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
1834*1fd5a2e1SPrashanth Swaminathan	(ffi_call_STDCALL): Remove.
1835*1fd5a2e1SPrashanth Swaminathan
1836*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
1837*1fd5a2e1SPrashanth Swaminathan	to ffi_prep_cif_machdep for x86.
1838*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): To here.
1839*1fd5a2e1SPrashanth Swaminathan
1840*1fd5a2e1SPrashanth Swaminathan2010-01-15  Oliver Kiddle  <[email protected]>
1841*1fd5a2e1SPrashanth Swaminathan
1842*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
1843*1fd5a2e1SPrashanth Swaminathan	Sun Studio compiler compatibility.
1844*1fd5a2e1SPrashanth Swaminathan
1845*1fd5a2e1SPrashanth Swaminathan2010-01-12  Conrad Irwin <[email protected]>
1846*1fd5a2e1SPrashanth Swaminathan
1847*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi: Add closure example.
1848*1fd5a2e1SPrashanth Swaminathan
1849*1fd5a2e1SPrashanth Swaminathan2010-01-07  Rainer Orth  <[email protected]>
1850*1fd5a2e1SPrashanth Swaminathan
1851*1fd5a2e1SPrashanth Swaminathan	PR libffi/40701
1852*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
1853*1fd5a2e1SPrashanth Swaminathan	PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
1854*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
1855*1fd5a2e1SPrashanth Swaminathan	alpha*-dec-osf*.
1856*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
1857*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
1858*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ll1.c: Likewise.
1859*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium2.c: Likewise.
1860*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
1861*1fd5a2e1SPrashanth Swaminathan	MAP_FAILED to char *.
1862*1fd5a2e1SPrashanth Swaminathan
1863*1fd5a2e1SPrashanth Swaminathan2010-01-06  Rainer Orth  <[email protected]>
1864*1fd5a2e1SPrashanth Swaminathan
1865*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
1866*1fd5a2e1SPrashanth Swaminathan
1867*1fd5a2e1SPrashanth Swaminathan2009-12-31  Anthony Green  <[email protected]>
1868*1fd5a2e1SPrashanth Swaminathan
1869*1fd5a2e1SPrashanth Swaminathan	* README: Update for libffi 3.0.9.
1870*1fd5a2e1SPrashanth Swaminathan
1871*1fd5a2e1SPrashanth Swaminathan2009-12-27  Matthias Klose  <[email protected]>
1872*1fd5a2e1SPrashanth Swaminathan
1873*1fd5a2e1SPrashanth Swaminathan	* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
1874*1fd5a2e1SPrashanth Swaminathan	appropriate.
1875*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1876*1fd5a2e1SPrashanth Swaminathan
1877*1fd5a2e1SPrashanth Swaminathan2009-12-26  Anthony Green  <[email protected]>
1878*1fd5a2e1SPrashanth Swaminathan
1879*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
1880*1fd5a2e1SPrashanth Swaminathan	avr32*-*-*.
1881*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c: Ditto.
1882*1fd5a2e1SPrashanth Swaminathan
1883*1fd5a2e1SPrashanth Swaminathan2009-12-26  Andreas Tobler  <[email protected]>
1884*1fd5a2e1SPrashanth Swaminathan
1885*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
1886*1fd5a2e1SPrashanth Swaminathan	and inttypes.h.
1887*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Ditto.
1888*1fd5a2e1SPrashanth Swaminathan
1889*1fd5a2e1SPrashanth Swaminathan2009-12-26  Andreas Tobler  <[email protected]>
1890*1fd5a2e1SPrashanth Swaminathan
1891*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add amd64-*-openbsd*.
1892*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1893*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
1894*1fd5a2e1SPrashanth Swaminathan	openbsd programs with -lpthread.
1895*1fd5a2e1SPrashanth Swaminathan
1896*1fd5a2e1SPrashanth Swaminathan2009-12-26  Anthony Green  <[email protected]>
1897*1fd5a2e1SPrashanth Swaminathan
1898*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double_va.c,
1899*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble.c,
1900*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble_va.c,
1901*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer.c,
1902*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
1903*1fd5a2e1SPrashanth Swaminathan	mips*-*-* and arm*-*-*.
1904*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split.c,
1905*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble_split2.c,
1906*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_medium2.c,
1907*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_medium.c,
1908*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_large.c,
1909*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
1910*1fd5a2e1SPrashanth Swaminathan
1911*1fd5a2e1SPrashanth Swaminathan2009-12-31  Kay Tietz  <[email protected]>
1912*1fd5a2e1SPrashanth Swaminathan
1913*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h,
1914*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
1915*1fd5a2e1SPrashanth Swaminathan	definitions.
1916*1fd5a2e1SPrashanth Swaminathan
1917*1fd5a2e1SPrashanth Swaminathan2009-12-31  Carlo Bramini  <[email protected]>
1918*1fd5a2e1SPrashanth Swaminathan
1919*1fd5a2e1SPrashanth Swaminathan	* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
1920*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
1921*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
1922*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
1923*1fd5a2e1SPrashanth Swaminathan
1924*1fd5a2e1SPrashanth Swaminathan2009-12-31  Anthony Green  <[email protected]>
1925*1fd5a2e1SPrashanth Swaminathan	    Blake Chaffin.
1926*1fd5a2e1SPrashanth Swaminathan
1927*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/huge_struct.c: New test case from Blake
1928*1fd5a2e1SPrashanth Swaminathan	Chaffin @ Apple.
1929*1fd5a2e1SPrashanth Swaminathan
1930*1fd5a2e1SPrashanth Swaminathan2009-12-28  David Edelsohn  <[email protected]>
1931*1fd5a2e1SPrashanth Swaminathan
1932*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1933*1fd5a2e1SPrashanth Swaminathan	local variables.
1934*1fd5a2e1SPrashanth Swaminathan	(aix_adjust_aggregate_sizes): New function.
1935*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Call it.
1936*1fd5a2e1SPrashanth Swaminathan
1937*1fd5a2e1SPrashanth Swaminathan2009-12-26  Andreas Tobler  <[email protected]>
1938*1fd5a2e1SPrashanth Swaminathan
1939*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1940*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1941*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Likewise.
1942*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1943*1fd5a2e1SPrashanth Swaminathan	Solaris/x86.
1944*1fd5a2e1SPrashanth Swaminathan
1945*1fd5a2e1SPrashanth Swaminathan2009-12-26  Andreas Schwab  <[email protected]>
1946*1fd5a2e1SPrashanth Swaminathan
1947*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1948*1fd5a2e1SPrashanth Swaminathan	when a float arguments is passed in memory.
1949*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Mark general registers as used up when
1950*1fd5a2e1SPrashanth Swaminathan	a 64bit or soft-float long double argument is passed in memory.
1951*1fd5a2e1SPrashanth Swaminathan
1952*1fd5a2e1SPrashanth Swaminathan2009-12-25  Matthias Klose  <[email protected]>
1953*1fd5a2e1SPrashanth Swaminathan
1954*1fd5a2e1SPrashanth Swaminathan	* man/ffi_call.3: Fix #include in examples.
1955*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi: Add dircategory.
1956*1fd5a2e1SPrashanth Swaminathan
1957*1fd5a2e1SPrashanth Swaminathan2009-12-25  Frank Everdij <[email protected]>
1958*1fd5a2e1SPrashanth Swaminathan
1959*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Placed '__GNUC__' ifdef around
1960*1fd5a2e1SPrashanth Swaminathan	'__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1961*1fd5a2e1SPrashanth Swaminathan	IRIX MIPSPro c99.
1962*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h: Added '__sgi' define to non
1963*1fd5a2e1SPrashanth Swaminathan	'__attribute__((__mode__()))' integer typedefs.
1964*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
1965*1fd5a2e1SPrashanth Swaminathan	ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1966*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1967*1fd5a2e1SPrashanth Swaminathan	FFI_LONGDOUBLE support and alignment(N32 only).
1968*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1969*1fd5a2e1SPrashanth Swaminathan	fixed non '__attribute__((__mode__()))' integer typedefs.
1970*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1971*1fd5a2e1SPrashanth Swaminathan	since they are Linux/GNU Assembler specific.
1972*1fd5a2e1SPrashanth Swaminathan
1973*1fd5a2e1SPrashanth Swaminathan2009-12-25  Bradley Smith  <[email protected]>
1974*1fd5a2e1SPrashanth Swaminathan
1975*1fd5a2e1SPrashanth Swaminathan	* configure.ac, Makefile.am, src/avr32/ffi.c,
1976*1fd5a2e1SPrashanth Swaminathan	src/avr32/ffitarget.h,
1977*1fd5a2e1SPrashanth Swaminathan	src/avr32/sysv.S: Add AVR32 port.
1978*1fd5a2e1SPrashanth Swaminathan	* configure, Makefile.in: Rebuilt.
1979*1fd5a2e1SPrashanth Swaminathan
1980*1fd5a2e1SPrashanth Swaminathan2009-12-21  Andreas Tobler  <[email protected]>
1981*1fd5a2e1SPrashanth Swaminathan
1982*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1983*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
1984*1fd5a2e1SPrashanth Swaminathan
1985*1fd5a2e1SPrashanth Swaminathan2009-12-15  John David Anglin  <[email protected]>
1986*1fd5a2e1SPrashanth Swaminathan
1987*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1988*1fd5a2e1SPrashanth Swaminathan
1989*1fd5a2e1SPrashanth Swaminathan2009-12-13  John David Anglin  <[email protected]>
1990*1fd5a2e1SPrashanth Swaminathan
1991*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1992*1fd5a2e1SPrashanth Swaminathan	type on HP-UX.
1993*1fd5a2e1SPrashanth Swaminathan
1994*1fd5a2e1SPrashanth Swaminathan2012-02-13  Kai Tietz  <[email protected]>
1995*1fd5a2e1SPrashanth Swaminathan
1996*1fd5a2e1SPrashanth Swaminathan	PR libffi/52221
1997*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1998*1fd5a2e1SPrashanth Swaminathan	support for X86_WIN32.
1999*1fd5a2e1SPrashanth Swaminathan	(FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
2000*1fd5a2e1SPrashanth Swaminathan
2001*1fd5a2e1SPrashanth Swaminathan2009-12-11  Eric Botcazou  <[email protected]>
2002*1fd5a2e1SPrashanth Swaminathan
2003*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
2004*1fd5a2e1SPrashanth Swaminathan	double' arguments.
2005*1fd5a2e1SPrashanth Swaminathan
2006*1fd5a2e1SPrashanth Swaminathan2009-12-11  Eric Botcazou  <[email protected]>
2007*1fd5a2e1SPrashanth Swaminathan
2008*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
2009*1fd5a2e1SPrashanth Swaminathan
2010*1fd5a2e1SPrashanth Swaminathan2009-12-10  Rainer Orth  <[email protected]>
2011*1fd5a2e1SPrashanth Swaminathan
2012*1fd5a2e1SPrashanth Swaminathan	PR libffi/40700
2013*1fd5a2e1SPrashanth Swaminathan	* src/closures.c [X86_64 && __sun__ && __svr4__]
2014*1fd5a2e1SPrashanth Swaminathan	(FFI_MMAP_EXEC_WRIT): Define.
2015*1fd5a2e1SPrashanth Swaminathan
2016*1fd5a2e1SPrashanth Swaminathan2009-12-08  David Daney  <[email protected]>
2017*1fd5a2e1SPrashanth Swaminathan
2018*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
2019*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
2020*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large.c: Same.
2021*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
2022*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large2.c: Same.
2023*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium2.c: Same.
2024*1fd5a2e1SPrashanth Swaminathan
2025*1fd5a2e1SPrashanth Swaminathan2009-12-07  David Edelsohn  <[email protected]>
2026*1fd5a2e1SPrashanth Swaminathan
2027*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
2028*1fd5a2e1SPrashanth Swaminathan	typo.
2029*1fd5a2e1SPrashanth Swaminathan
2030*1fd5a2e1SPrashanth Swaminathan2009-12-05  David Edelsohn  <[email protected]>
2031*1fd5a2e1SPrashanth Swaminathan
2032*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
2033*1fd5a2e1SPrashanth Swaminathan	code.
2034*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Same.
2035*1fd5a2e1SPrashanth Swaminathan
2036*1fd5a2e1SPrashanth Swaminathan2009-12-05  Ralf Wildenhues  <[email protected]>
2037*1fd5a2e1SPrashanth Swaminathan
2038*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
2039*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2040*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
2041*1fd5a2e1SPrashanth Swaminathan	* man/Makefile.in: Regenerate.
2042*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
2043*1fd5a2e1SPrashanth Swaminathan
2044*1fd5a2e1SPrashanth Swaminathan2009-12-04  David Edelsohn  <[email protected]>
2045*1fd5a2e1SPrashanth Swaminathan
2046*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Reorganize 64-bit code to match
2047*1fd5a2e1SPrashanth Swaminathan	linux64_closure.S.
2048*1fd5a2e1SPrashanth Swaminathan
2049*1fd5a2e1SPrashanth Swaminathan2009-12-04  Uros Bizjak  <[email protected]>
2050*1fd5a2e1SPrashanth Swaminathan
2051*1fd5a2e1SPrashanth Swaminathan	PR libffi/41908
2052*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (classify_argument): Update from
2053*1fd5a2e1SPrashanth Swaminathan	gcc/config/i386/i386.c.
2054*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_unix64_inner): Do not use the address of two consecutive
2055*1fd5a2e1SPrashanth Swaminathan	SSE registers directly.
2056*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
2057*1fd5a2e1SPrashanth Swaminathan	for x86_64 linux targets.
2058*1fd5a2e1SPrashanth Swaminathan
2059*1fd5a2e1SPrashanth Swaminathan2009-12-04  David Edelsohn  <[email protected]>
2060*1fd5a2e1SPrashanth Swaminathan
2061*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
2062*1fd5a2e1SPrashanth Swaminathan	pfr for long double split between fpr13 and stack.
2063*1fd5a2e1SPrashanth Swaminathan
2064*1fd5a2e1SPrashanth Swaminathan2009-12-03  David Edelsohn  <[email protected]>
2065*1fd5a2e1SPrashanth Swaminathan
2066*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
2067*1fd5a2e1SPrashanth Swaminathan	fparg_count twice for long double.
2068*1fd5a2e1SPrashanth Swaminathan
2069*1fd5a2e1SPrashanth Swaminathan2009-12-03  David Edelsohn  <[email protected]>
2070*1fd5a2e1SPrashanth Swaminathan
2071*1fd5a2e1SPrashanth Swaminathan	PR libffi/42243
2072*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
2073*1fd5a2e1SPrashanth Swaminathan
2074*1fd5a2e1SPrashanth Swaminathan2009-12-03  Uros Bizjak  <[email protected]>
2075*1fd5a2e1SPrashanth Swaminathan
2076*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
2077*1fd5a2e1SPrashanth Swaminathan	Remove xfails for x86 linux targets.
2078*1fd5a2e1SPrashanth Swaminathan
2079*1fd5a2e1SPrashanth Swaminathan2009-12-02  David Edelsohn  <[email protected]>
2080*1fd5a2e1SPrashanth Swaminathan
2081*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
2082*1fd5a2e1SPrashanth Swaminathan	case.
2083*1fd5a2e1SPrashanth Swaminathan
2084*1fd5a2e1SPrashanth Swaminathan2009-12-01  David Edelsohn  <[email protected]>
2085*1fd5a2e1SPrashanth Swaminathan
2086*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
2087*1fd5a2e1SPrashanth Swaminathan	register usage.  Call ffi_prep_args directly.  Add long double
2088*1fd5a2e1SPrashanth Swaminathan	return value support.
2089*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
2090*1fd5a2e1SPrashanth Swaminathan	applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
2091*1fd5a2e1SPrashanth Swaminathan	Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
2092*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
2093*1fd5a2e1SPrashanth Swaminathan	mode.
2094*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
2095*1fd5a2e1SPrashanth Swaminathan	into case.
2096*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
2097*1fd5a2e1SPrashanth Swaminathan	Allocate result area between params and FPRs.
2098*1fd5a2e1SPrashanth Swaminathan
2099*1fd5a2e1SPrashanth Swaminathan2009-11-30  David Edelsohn  <[email protected]>
2100*1fd5a2e1SPrashanth Swaminathan
2101*1fd5a2e1SPrashanth Swaminathan	PR target/35484
2102*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
2103*1fd5a2e1SPrashanth Swaminathan	AIX64.
2104*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S: Implement AIX64 version.
2105*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Implement AIX64 version.
2106*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_ASM): Use extsb, lha and displament addresses.
2107*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
2108*1fd5a2e1SPrashanth Swaminathan	support.
2109*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Same.
2110*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Same.
2111*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_DARWIN): Same.
2112*1fd5a2e1SPrashanth Swaminathan
2113*1fd5a2e1SPrashanth Swaminathan2009-11-02  Andreas Tobler  <[email protected]>
2114*1fd5a2e1SPrashanth Swaminathan
2115*1fd5a2e1SPrashanth Swaminathan	PR libffi/41908
2116*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/testclosure.c: New test.
2117*1fd5a2e1SPrashanth Swaminathan
2118*1fd5a2e1SPrashanth Swaminathan2009-09-28  Kai Tietz  <[email protected]>
2119*1fd5a2e1SPrashanth Swaminathan
2120*1fd5a2e1SPrashanth Swaminathan	* src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
2121*1fd5a2e1SPrashanth Swaminathan	assembly version use of ___chkstk.
2122*1fd5a2e1SPrashanth Swaminathan
2123*1fd5a2e1SPrashanth Swaminathan2009-09-23  Matthias Klose  <[email protected]>
2124*1fd5a2e1SPrashanth Swaminathan
2125*1fd5a2e1SPrashanth Swaminathan	PR libffi/40242, PR libffi/41443
2126*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (__ARM_ARCH__): Define for processors
2127*1fd5a2e1SPrashanth Swaminathan	__ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
2128*1fd5a2e1SPrashanth Swaminathan	__ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
2129*1fd5a2e1SPrashanth Swaminathan	Change the conditionals to __SOFTFP__ || __ARM_EABI__
2130*1fd5a2e1SPrashanth Swaminathan	for -mfloat-abi=softfp to work.
2131*1fd5a2e1SPrashanth Swaminathan
2132*1fd5a2e1SPrashanth Swaminathan2009-09-17  Loren J. Rittle  <[email protected]>
2133*1fd5a2e1SPrashanth Swaminathan
2134*1fd5a2e1SPrashanth Swaminathan	PR testsuite/32843 (strikes again)
2135*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
2136*1fd5a2e1SPrashanth Swaminathan	enable proper extension on char and short.
2137*1fd5a2e1SPrashanth Swaminathan
2138*1fd5a2e1SPrashanth Swaminathan2009-09-15  David Daney  <[email protected]>
2139*1fd5a2e1SPrashanth Swaminathan
2140*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
2141*1fd5a2e1SPrashanth Swaminathan	handling for FFI_TYPE_POINTER.
2142*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
2143*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
2144*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
2145*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
2146*1fd5a2e1SPrashanth Swaminathan	(FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
2147*1fd5a2e1SPrashanth Swaminathan	(enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
2148*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S (ffi_call_N32): Add handling for soft-float
2149*1fd5a2e1SPrashanth Swaminathan	structure and pointer returns.
2150*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_N32): Add handling for pointer returns.
2151*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
2152*1fd5a2e1SPrashanth Swaminathan	calc_n32_return_struct_flags): Handle soft-float.
2153*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
2154*1fd5a2e1SPrashanth Swaminathan	(ffi_call_N32): Declare proper argument types.
2155*1fd5a2e1SPrashanth Swaminathan	(ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
2156*1fd5a2e1SPrashanth Swaminathan	soft-float.
2157*1fd5a2e1SPrashanth Swaminathan
2158*1fd5a2e1SPrashanth Swaminathan2009-08-24  Ralf Wildenhues  <[email protected]>
2159*1fd5a2e1SPrashanth Swaminathan
2160*1fd5a2e1SPrashanth Swaminathan	* configure.ac (AC_PREREQ): Bump to 2.64.
2161*1fd5a2e1SPrashanth Swaminathan
2162*1fd5a2e1SPrashanth Swaminathan2009-08-22  Ralf Wildenhues  <[email protected]>
2163*1fd5a2e1SPrashanth Swaminathan
2164*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (install-html, install-pdf): Remove.
2165*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
2166*1fd5a2e1SPrashanth Swaminathan
2167*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
2168*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
2169*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2170*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
2171*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
2172*1fd5a2e1SPrashanth Swaminathan	* man/Makefile.in: Regenerate.
2173*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
2174*1fd5a2e1SPrashanth Swaminathan
2175*1fd5a2e1SPrashanth Swaminathan2011-08-22  Jasper Lievisse Adriaanse <[email protected]>
2176*1fd5a2e1SPrashanth Swaminathan
2177*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
2178*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
2179*1fd5a2e1SPrashanth Swaminathan
2180*1fd5a2e1SPrashanth Swaminathan2009-07-30  Ralf Wildenhues  <[email protected]>
2181*1fd5a2e1SPrashanth Swaminathan
2182*1fd5a2e1SPrashanth Swaminathan	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
2183*1fd5a2e1SPrashanth Swaminathan
2184*1fd5a2e1SPrashanth Swaminathan2009-07-24  Dave Korn  <[email protected]>
2185*1fd5a2e1SPrashanth Swaminathan
2186*1fd5a2e1SPrashanth Swaminathan	PR libffi/40807
2187*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
2188*1fd5a2e1SPrashanth Swaminathan	return types for X86_WIN32.
2189*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
2190*1fd5a2e1SPrashanth Swaminathan	(_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
2191*1fd5a2e1SPrashanth Swaminathan	_ffi_closure_STDCALL): Likewise.
2192*1fd5a2e1SPrashanth Swaminathan
2193*1fd5a2e1SPrashanth Swaminathan	* src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
2194*1fd5a2e1SPrashanth Swaminathan	(dlmmap, dlmunmap): Also use these functions on Cygwin.
2195*1fd5a2e1SPrashanth Swaminathan
2196*1fd5a2e1SPrashanth Swaminathan2009-07-11  Richard Sandiford  <[email protected]>
2197*1fd5a2e1SPrashanth Swaminathan
2198*1fd5a2e1SPrashanth Swaminathan	PR testsuite/40699
2199*1fd5a2e1SPrashanth Swaminathan	PR testsuite/40707
2200*1fd5a2e1SPrashanth Swaminathan	PR testsuite/40709
2201*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
2202*1fd5a2e1SPrashanth Swaminathan	2009-06-30 commits.
2203*1fd5a2e1SPrashanth Swaminathan
2204*1fd5a2e1SPrashanth Swaminathan2009-07-01  Richard Sandiford  <[email protected]>
2205*1fd5a2e1SPrashanth Swaminathan
2206*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
2207*1fd5a2e1SPrashanth Swaminathan	to "" before adding paths.  (This reinstates an assignment that
2208*1fd5a2e1SPrashanth Swaminathan	was removed by my 2009-06-30 commit, but changes the initial
2209*1fd5a2e1SPrashanth Swaminathan	value from "." to "".)
2210*1fd5a2e1SPrashanth Swaminathan
2211*1fd5a2e1SPrashanth Swaminathan2009-07-01  H.J. Lu  <[email protected]>
2212*1fd5a2e1SPrashanth Swaminathan
2213*1fd5a2e1SPrashanth Swaminathan	PR testsuite/40601
2214*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-init): Properly set
2215*1fd5a2e1SPrashanth Swaminathan	gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
2216*1fd5a2e1SPrashanth Swaminathan	empty.
2217*1fd5a2e1SPrashanth Swaminathan
2218*1fd5a2e1SPrashanth Swaminathan2009-06-30  Richard Sandiford  <[email protected]>
2219*1fd5a2e1SPrashanth Swaminathan
2220*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
2221*1fd5a2e1SPrashanth Swaminathan	to ld_library_path.  Use add_path.  Add just find_libgcc_s
2222*1fd5a2e1SPrashanth Swaminathan	to ld_library_path, not every libgcc multilib directory.
2223*1fd5a2e1SPrashanth Swaminathan
2224*1fd5a2e1SPrashanth Swaminathan2009-06-16  Wim Lewis  <[email protected]>
2225*1fd5a2e1SPrashanth Swaminathan
2226*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
2227*1fd5a2e1SPrashanth Swaminathan	supposed to be callee-saved.
2228*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
2229*1fd5a2e1SPrashanth Swaminathan	return buffer for odd-size structs.
2230*1fd5a2e1SPrashanth Swaminathan
2231*1fd5a2e1SPrashanth Swaminathan2009-06-16  Andreas Tobler  <[email protected]>
2232*1fd5a2e1SPrashanth Swaminathan
2233*1fd5a2e1SPrashanth Swaminathan	PR libffi/40444
2234*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
2235*1fd5a2e1SPrashanth Swaminathan	allow_stack_execute for Darwin.
2236*1fd5a2e1SPrashanth Swaminathan
2237*1fd5a2e1SPrashanth Swaminathan2009-06-16  Andrew Haley  <[email protected]>
2238*1fd5a2e1SPrashanth Swaminathan
2239*1fd5a2e1SPrashanth Swaminathan	* configure.ac (TARGETDIR): Add missing blank lines.
2240*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2241*1fd5a2e1SPrashanth Swaminathan
2242*1fd5a2e1SPrashanth Swaminathan2009-06-16  Andrew Haley  <[email protected]>
2243*1fd5a2e1SPrashanth Swaminathan
2244*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c,
2245*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint64.c,
2246*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble_va.c,
2247*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ulonglong.c,
2248*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/return_ll1.c,
2249*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_medium2.c: Fix printf format
2250*1fd5a2e1SPrashanth Swaminathan	specifiers.
2251*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h,
2252*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
2253*1fd5a2e1SPrashanth Swaminathan
2254*1fd5a2e1SPrashanth Swaminathan2009-06-15  Andrew Haley  <[email protected]>
2255*1fd5a2e1SPrashanth Swaminathan
2256*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
2257*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_abi.c: Likewise.
2258*1fd5a2e1SPrashanth Swaminathan
2259*1fd5a2e1SPrashanth Swaminathan2009-06-12  Andrew Haley  <[email protected]>
2260*1fd5a2e1SPrashanth Swaminathan
2261*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Remove info_TEXINFOS.
2262*1fd5a2e1SPrashanth Swaminathan
2263*1fd5a2e1SPrashanth Swaminathan2009-06-12  Andrew Haley  <[email protected]>
2264*1fd5a2e1SPrashanth Swaminathan
2265*1fd5a2e1SPrashanth Swaminathan	* ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
2266*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint64.c,
2267*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ulonglong.c,
2268*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/return_ll1.c,
2269*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/stret_medium2.c: Fix printf format
2270*1fd5a2e1SPrashanth Swaminathan	specifiers.
2271*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest.cc: include stdint.h.
2272*1fd5a2e1SPrashanth Swaminathan
2273*1fd5a2e1SPrashanth Swaminathan2009-06-11  Timothy Wall  <[email protected]>
2274*1fd5a2e1SPrashanth Swaminathan
2275*1fd5a2e1SPrashanth Swaminathan	* Makefile.am,
2276*1fd5a2e1SPrashanth Swaminathan	configure.ac,
2277*1fd5a2e1SPrashanth Swaminathan	include/ffi.h.in,
2278*1fd5a2e1SPrashanth Swaminathan	include/ffi_common.h,
2279*1fd5a2e1SPrashanth Swaminathan	src/closures.c,
2280*1fd5a2e1SPrashanth Swaminathan	src/dlmalloc.c,
2281*1fd5a2e1SPrashanth Swaminathan	src/x86/ffi.c,
2282*1fd5a2e1SPrashanth Swaminathan	src/x86/ffitarget.h,
2283*1fd5a2e1SPrashanth Swaminathan	src/x86/win64.S (new),
2284*1fd5a2e1SPrashanth Swaminathan	README: Added win64 support (mingw or MSVC)
2285*1fd5a2e1SPrashanth Swaminathan	* Makefile.in,
2286*1fd5a2e1SPrashanth Swaminathan	include/Makefile.in,
2287*1fd5a2e1SPrashanth Swaminathan	man/Makefile.in,
2288*1fd5a2e1SPrashanth Swaminathan	testsuite/Makefile.in,
2289*1fd5a2e1SPrashanth Swaminathan	configure,
2290*1fd5a2e1SPrashanth Swaminathan	aclocal.m4: Regenerated
2291*1fd5a2e1SPrashanth Swaminathan	* ltcf-c.sh: properly escape cygwin/w32 path
2292*1fd5a2e1SPrashanth Swaminathan	* man/ffi_call.3: Clarify size requirements for return value.
2293*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: Fix filename in comment.
2294*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Remove unused extern.
2295*1fd5a2e1SPrashanth Swaminathan
2296*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c,
2297*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn1.c,
2298*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn2.c,
2299*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn3.c,
2300*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn4.c,
2301*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn5.c,
2302*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn6.c,
2303*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_stdcall.c,
2304*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_12byte.c,
2305*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_16byte.c,
2306*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_18byte.c,
2307*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_19byte.c,
2308*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_1_1byte.c,
2309*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte.c,
2310*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte1.c,
2311*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_24byte.c,
2312*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_2byte.c,
2313*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3_1byte.c,
2314*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3byte1.c,
2315*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_3byte2.c,
2316*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_4_1byte.c,
2317*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_4byte.c,
2318*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_5_1_byte.c,
2319*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_5byte.c,
2320*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_64byte.c,
2321*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_6_1_byte.c,
2322*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_6byte.c,
2323*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_7_1_byte.c,
2324*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_7byte.c,
2325*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_8byte.c,
2326*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_9byte1.c,
2327*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_9byte2.c,
2328*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_double.c,
2329*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_float.c,
2330*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_longdouble.c,
2331*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_longdouble_split.c,
2332*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_longdouble_split2.c,
2333*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_pointer.c,
2334*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_sint16.c,
2335*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_sint32.c,
2336*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_sint64.c,
2337*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_uint16.c,
2338*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_uint32.c,
2339*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_align_uint64.c,
2340*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_dbls_struct.c,
2341*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_double.c,
2342*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_double_va.c,
2343*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_float.c,
2344*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_longdouble.c,
2345*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_longdouble_va.c,
2346*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_schar.c,
2347*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_sshort.c,
2348*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_sshortchar.c,
2349*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_uchar.c,
2350*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_ushort.c,
2351*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_multi_ushortchar.c,
2352*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_pointer.c,
2353*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_pointer_stack.c,
2354*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_schar.c,
2355*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_sint.c,
2356*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_sshort.c,
2357*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_uchar.c,
2358*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_uint.c,
2359*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_ulonglong.c,
2360*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/cls_ushort.c,
2361*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/err_bad_abi.c,
2362*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/err_bad_typedef.c,
2363*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/float2.c,
2364*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/huge_struct.c,
2365*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct.c,
2366*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct1.c,
2367*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct10.c,
2368*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct2.c,
2369*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct3.c,
2370*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct4.c,
2371*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct5.c,
2372*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct6.c,
2373*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct7.c,
2374*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct8.c,
2375*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/nested_struct9.c,
2376*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/problem1.c,
2377*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/return_ldl.c,
2378*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/return_ll1.c,
2379*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/stret_large.c,
2380*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/stret_large2.c,
2381*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/stret_medium.c,
2382*1fd5a2e1SPrashanth Swaminathan 	testsuite/libffi.call/stret_medium2.c,
2383*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
2384*1fd5a2e1SPrashanth Swaminathan	of checking for MMAP.  Use intptr_t instead of long casts.
2385*1fd5a2e1SPrashanth Swaminathan
2386*1fd5a2e1SPrashanth Swaminathan2009-06-11  Kaz Kojima  <[email protected]>
2387*1fd5a2e1SPrashanth Swaminathan
2388*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
2389*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
2390*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_typedef.c: Likewise.
2391*1fd5a2e1SPrashanth Swaminathan
2392*1fd5a2e1SPrashanth Swaminathan2009-06-09  Andrew Haley  <[email protected]>
2393*1fd5a2e1SPrashanth Swaminathan
2394*1fd5a2e1SPrashanth Swaminathan	* src/x86/freebsd.S: Add missing file.
2395*1fd5a2e1SPrashanth Swaminathan
2396*1fd5a2e1SPrashanth Swaminathan2009-06-08  Andrew Haley  <[email protected]>
2397*1fd5a2e1SPrashanth Swaminathan
2398*1fd5a2e1SPrashanth Swaminathan	Import from libffi 3.0.8:
2399*1fd5a2e1SPrashanth Swaminathan
2400*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.texi: New file.
2401*1fd5a2e1SPrashanth Swaminathan	* doc/libffi.info: Likewise.
2402*1fd5a2e1SPrashanth Swaminathan	* doc/stamp-vti: Likewise.
2403*1fd5a2e1SPrashanth Swaminathan	* man/Makefile.am: New file.
2404*1fd5a2e1SPrashanth Swaminathan	* man/ffi_call.3: New file.
2405*1fd5a2e1SPrashanth Swaminathan
2406*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
2407*1fd5a2e1SPrashanth Swaminathan	src/dlmalloc.c.
2408*1fd5a2e1SPrashanth Swaminathan	(nodist_libffi_la_SOURCES): Add X86_FREEBSD.
2409*1fd5a2e1SPrashanth Swaminathan
2410*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Bump version to 3.0.8.
2411*1fd5a2e1SPrashanth Swaminathan	parisc*-*-linux*: Add.
2412*1fd5a2e1SPrashanth Swaminathan	i386-*-freebsd* | i386-*-openbsd*: Add.
2413*1fd5a2e1SPrashanth Swaminathan	powerpc-*-beos*: Add.
2414*1fd5a2e1SPrashanth Swaminathan	AM_CONDITIONAL X86_FREEBSD: Add.
2415*1fd5a2e1SPrashanth Swaminathan	AC_CONFIG_FILES: Add man/Makefile.
2416*1fd5a2e1SPrashanth Swaminathan
2417*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
2418*1fd5a2e1SPrashanth Swaminathan
2419*1fd5a2e1SPrashanth Swaminathan2009-06-08  Andrew Haley  <[email protected]>
2420*1fd5a2e1SPrashanth Swaminathan
2421*1fd5a2e1SPrashanth Swaminathan	* README: Import from libffi 3.0.8.
2422*1fd5a2e1SPrashanth Swaminathan
2423*1fd5a2e1SPrashanth Swaminathan2009-06-08  Andrew Haley  <[email protected]>
2424*1fd5a2e1SPrashanth Swaminathan
2425*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_abi.c: Add xfails.
2426*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
2427*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
2428*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/err_bad_typedef.c: Add xfails.
2429*1fd5a2e1SPrashanth Swaminathan
2430*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
2431*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_medium.c: Likewise.
2432*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large2.c: Likewise.
2433*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/stret_large.c:  Likewise.
2434*1fd5a2e1SPrashanth Swaminathan
2435*1fd5a2e1SPrashanth Swaminathan2008-12-26  Timothy Wall  <[email protected]>
2436*1fd5a2e1SPrashanth Swaminathan
2437*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble.c,
2438*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble_va.c,
2439*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble.c,
2440*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble_split.c,
2441*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
2442*1fd5a2e1SPrashanth Swaminathan	failures on x86_64 cygwin/mingw.
2443*1fd5a2e1SPrashanth Swaminathan
2444*1fd5a2e1SPrashanth Swaminathan2008-12-22  Timothy Wall  <[email protected]>
2445*1fd5a2e1SPrashanth Swaminathan
2446*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c,
2447*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn1.c,
2448*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn2.c,
2449*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn3.c,
2450*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn4.c,
2451*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn5.c,
2452*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn6.c,
2453*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_loc_fn0.c,
2454*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_stdcall.c,
2455*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_pointer.c,
2456*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer.c,
2457*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
2458*1fd5a2e1SPrashanth Swaminathan	pointer to integer (intptr_t).
2459*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_longdouble.c: disable for win64.
2460*1fd5a2e1SPrashanth Swaminathan
2461*1fd5a2e1SPrashanth Swaminathan2008-07-24  Anthony Green  <[email protected]>
2462*1fd5a2e1SPrashanth Swaminathan
2463*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_dbls_struct.c,
2464*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_double_va.c,
2465*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble.c,
2466*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_longdouble_va.c,
2467*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer.c,
2468*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_pointer_stack.c,
2469*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/err_bad_abi.c: Clean up failures from
2470*1fd5a2e1SPrashanth Swaminathan	compiler warnings.
2471*1fd5a2e1SPrashanth Swaminathan
2472*1fd5a2e1SPrashanth Swaminathan2008-03-04  Anthony Green  <[email protected]>
2473*1fd5a2e1SPrashanth Swaminathan	    Blake Chaffin
2474*1fd5a2e1SPrashanth Swaminathan	    [email protected]
2475*1fd5a2e1SPrashanth Swaminathan
2476*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble_split2.c
2477*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_align_longdouble_split.c
2478*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_dbls_struct.c
2479*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_double_va.c
2480*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_longdouble.c
2481*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_longdouble_va.c
2482*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_pointer.c
2483*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/cls_pointer_stack.c
2484*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/err_bad_abi.c
2485*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/err_bad_typedef.c
2486*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/stret_large2.c
2487*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/stret_large.c
2488*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/stret_medium2.c
2489*1fd5a2e1SPrashanth Swaminathan	  testsuite/libffi.call/stret_medium.c: New tests from Apple.
2490*1fd5a2e1SPrashanth Swaminathan
2491*1fd5a2e1SPrashanth Swaminathan2009-06-05  Andrew Haley  <[email protected]>
2492*1fd5a2e1SPrashanth Swaminathan
2493*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
2494*1fd5a2e1SPrashanth Swaminathan	libffi.
2495*1fd5a2e1SPrashanth Swaminathan
2496*1fd5a2e1SPrashanth Swaminathan2009-06-04  Andrew Haley  <[email protected]>
2497*1fd5a2e1SPrashanth Swaminathan
2498*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
2499*1fd5a2e1SPrashanth Swaminathan	stdcall changes.
2500*1fd5a2e1SPrashanth Swaminathan
2501*1fd5a2e1SPrashanth Swaminathan2008-02-26  Anthony Green  <[email protected]>
2502*1fd5a2e1SPrashanth Swaminathan	    Thomas Heller  <[email protected]>
2503*1fd5a2e1SPrashanth Swaminathan
2504*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
2505*1fd5a2e1SPrashanth Swaminathan	comment.
2506*1fd5a2e1SPrashanth Swaminathan
2507*1fd5a2e1SPrashanth Swaminathan2008-02-03  Timothy Wall  <[email protected]>
2508*1fd5a2e1SPrashanth Swaminathan
2509*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
2510*1fd5a2e1SPrashanth Swaminathan	  offset based on code pointer, not data pointer.
2511*1fd5a2e1SPrashanth Swaminathan
2512*1fd5a2e1SPrashanth Swaminathan2008-01-31  Timothy Wall <[email protected]>
2513*1fd5a2e1SPrashanth Swaminathan
2514*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
2515*1fd5a2e1SPrashanth Swaminathan	closures.
2516*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Increase size of trampoline for stdcall
2517*1fd5a2e1SPrashanth Swaminathan	closures.
2518*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Add assembly for stdcall closure.
2519*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Initialize stdcall closure trampoline.
2520*1fd5a2e1SPrashanth Swaminathan
2521*1fd5a2e1SPrashanth Swaminathan2009-06-04  Andrew Haley  <[email protected]>
2522*1fd5a2e1SPrashanth Swaminathan
2523*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Change void (*)() to void (*)(void).
2524*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Likewise.
2525*1fd5a2e1SPrashanth Swaminathan
2526*1fd5a2e1SPrashanth Swaminathan2009-06-04  Andrew Haley  <[email protected]>
2527*1fd5a2e1SPrashanth Swaminathan
2528*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Insert licence header.
2529*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Likewise.
2530*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S: Likewise.
2531*1fd5a2e1SPrashanth Swaminathan
2532*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c: Change void (*)() to void (*)(void).
2533*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Likewise.
2534*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Likewise.
2535*1fd5a2e1SPrashanth Swaminathan	* src/m32r/ffi.c: Likewise.
2536*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c: Likewise.
2537*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: Likewise.
2538*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c: Likewise.
2539*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Likewise.
2540*1fd5a2e1SPrashanth Swaminathan	* src/frv/ffi.c: Likewise.
2541*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c: Likewise.
2542*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c: Likewise.
2543*1fd5a2e1SPrashanth Swaminathan	* src/pa/hpux32.S: Likewise.
2544*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S: Likewise.
2545*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Likewise.
2546*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c: Likewise.
2547*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Likewise.
2548*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c: Likewise.
2549*1fd5a2e1SPrashanth Swaminathan
2550*1fd5a2e1SPrashanth Swaminathan2008-02-15  David Daney  <[email protected]>
2551*1fd5a2e1SPrashanth Swaminathan
2552*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
2553*1fd5a2e1SPrashanth Swaminathan	Define (conditionally), and use it to include cachectl.h.
2554*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Fix cache flushing.
2555*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
2556*1fd5a2e1SPrashanth Swaminathan
2557*1fd5a2e1SPrashanth Swaminathan2009-06-04  Andrew Haley  <[email protected]>
2558*1fd5a2e1SPrashanth Swaminathan
2559*1fd5a2e1SPrashanth Swaminathan	include/ffi.h.in,
2560*1fd5a2e1SPrashanth Swaminathan	src/arm/ffitarget.h,
2561*1fd5a2e1SPrashanth Swaminathan	src/arm/ffi.c,
2562*1fd5a2e1SPrashanth Swaminathan	src/arm/sysv.S,
2563*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ffitarget.h,
2564*1fd5a2e1SPrashanth Swaminathan	src/closures.c,
2565*1fd5a2e1SPrashanth Swaminathan	src/sh64/ffitarget.h,
2566*1fd5a2e1SPrashanth Swaminathan	src/sh64/ffi.c,
2567*1fd5a2e1SPrashanth Swaminathan	src/sh64/sysv.S,
2568*1fd5a2e1SPrashanth Swaminathan	src/types.c,
2569*1fd5a2e1SPrashanth Swaminathan	src/x86/ffi64.c,
2570*1fd5a2e1SPrashanth Swaminathan	src/x86/ffitarget.h,
2571*1fd5a2e1SPrashanth Swaminathan	src/x86/win32.S,
2572*1fd5a2e1SPrashanth Swaminathan	src/x86/darwin.S,
2573*1fd5a2e1SPrashanth Swaminathan	src/x86/ffi.c,
2574*1fd5a2e1SPrashanth Swaminathan	src/x86/sysv.S,
2575*1fd5a2e1SPrashanth Swaminathan	src/x86/unix64.S,
2576*1fd5a2e1SPrashanth Swaminathan	src/alpha/ffitarget.h,
2577*1fd5a2e1SPrashanth Swaminathan	src/alpha/ffi.c,
2578*1fd5a2e1SPrashanth Swaminathan	src/alpha/osf.S,
2579*1fd5a2e1SPrashanth Swaminathan	src/m68k/ffitarget.h,
2580*1fd5a2e1SPrashanth Swaminathan	src/frv/ffitarget.h,
2581*1fd5a2e1SPrashanth Swaminathan	src/frv/ffi.c,
2582*1fd5a2e1SPrashanth Swaminathan	src/s390/ffitarget.h,
2583*1fd5a2e1SPrashanth Swaminathan	src/s390/sysv.S,
2584*1fd5a2e1SPrashanth Swaminathan	src/cris/ffitarget.h,
2585*1fd5a2e1SPrashanth Swaminathan	src/pa/linux.S,
2586*1fd5a2e1SPrashanth Swaminathan	src/pa/ffitarget.h,
2587*1fd5a2e1SPrashanth Swaminathan	src/pa/ffi.c,
2588*1fd5a2e1SPrashanth Swaminathan	src/raw_api.c,
2589*1fd5a2e1SPrashanth Swaminathan	src/ia64/ffitarget.h,
2590*1fd5a2e1SPrashanth Swaminathan	src/ia64/unix.S,
2591*1fd5a2e1SPrashanth Swaminathan	src/ia64/ffi.c,
2592*1fd5a2e1SPrashanth Swaminathan	src/ia64/ia64_flags.h,
2593*1fd5a2e1SPrashanth Swaminathan	src/java_raw_api.c,
2594*1fd5a2e1SPrashanth Swaminathan	src/debug.c,
2595*1fd5a2e1SPrashanth Swaminathan	src/sparc/v9.S,
2596*1fd5a2e1SPrashanth Swaminathan	src/sparc/ffitarget.h,
2597*1fd5a2e1SPrashanth Swaminathan	src/sparc/ffi.c,
2598*1fd5a2e1SPrashanth Swaminathan	src/sparc/v8.S,
2599*1fd5a2e1SPrashanth Swaminathan	src/mips/ffitarget.h,
2600*1fd5a2e1SPrashanth Swaminathan	src/mips/n32.S,
2601*1fd5a2e1SPrashanth Swaminathan	src/mips/o32.S,
2602*1fd5a2e1SPrashanth Swaminathan	src/mips/ffi.c,
2603*1fd5a2e1SPrashanth Swaminathan	src/prep_cif.c,
2604*1fd5a2e1SPrashanth Swaminathan	src/sh/ffitarget.h,
2605*1fd5a2e1SPrashanth Swaminathan	src/sh/ffi.c,
2606*1fd5a2e1SPrashanth Swaminathan	src/sh/sysv.S: Update license text.
2607*1fd5a2e1SPrashanth Swaminathan
2608*1fd5a2e1SPrashanth Swaminathan2009-05-22  Dave Korn  <[email protected]>
2609*1fd5a2e1SPrashanth Swaminathan
2610*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (_ffi_closure_STDCALL):  New function.
2611*1fd5a2e1SPrashanth Swaminathan	(.eh_frame):  Add FDE for it.
2612*1fd5a2e1SPrashanth Swaminathan
2613*1fd5a2e1SPrashanth Swaminathan2009-05-22  Dave Korn  <[email protected]>
2614*1fd5a2e1SPrashanth Swaminathan
2615*1fd5a2e1SPrashanth Swaminathan	* configure.ac:  Also check if assembler supports pc-relative
2616*1fd5a2e1SPrashanth Swaminathan	relocs on X86_WIN32 targets.
2617*1fd5a2e1SPrashanth Swaminathan	* configure:  Regenerate.
2618*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
2619*1fd5a2e1SPrashanth Swaminathan	(_ffi_call_SYSV):  Add missing function type symbol .def and
2620*1fd5a2e1SPrashanth Swaminathan	add EH markup labels.
2621*1fd5a2e1SPrashanth Swaminathan	(_ffi_call_STDCALL):  Likewise.
2622*1fd5a2e1SPrashanth Swaminathan	(_ffi_closure_SYSV):  Likewise.
2623*1fd5a2e1SPrashanth Swaminathan	(_ffi_closure_raw_SYSV):  Likewise.
2624*1fd5a2e1SPrashanth Swaminathan	(.eh_frame):  Add hand-crafted EH data.
2625*1fd5a2e1SPrashanth Swaminathan
2626*1fd5a2e1SPrashanth Swaminathan2009-04-09  Jakub Jelinek  <[email protected]>
2627*1fd5a2e1SPrashanth Swaminathan
2628*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Change copyright header to refer to
2629*1fd5a2e1SPrashanth Swaminathan	version 3 of the GNU General Public License and to point readers
2630*1fd5a2e1SPrashanth Swaminathan	at the COPYING3 file and the FSF's license web page.
2631*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/call.exp: Likewise.
2632*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/special.exp: Likewise.
2633*1fd5a2e1SPrashanth Swaminathan
2634*1fd5a2e1SPrashanth Swaminathan2009-03-01  Ralf Wildenhues  <[email protected]>
2635*1fd5a2e1SPrashanth Swaminathan
2636*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2637*1fd5a2e1SPrashanth Swaminathan
2638*1fd5a2e1SPrashanth Swaminathan2008-12-18  Rainer Orth  <[email protected]>
2639*1fd5a2e1SPrashanth Swaminathan
2640*1fd5a2e1SPrashanth Swaminathan	PR libffi/26048
2641*1fd5a2e1SPrashanth Swaminathan	* configure.ac (HAVE_AS_X86_PCREL): New test.
2642*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2643*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
2644*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
2645*1fd5a2e1SPrashanth Swaminathan	RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
2646*1fd5a2e1SPrashanth Swaminathan	RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
2647*1fd5a2e1SPrashanth Swaminathan	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2648*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S (.Lstore_table): Move to .text section.
2649*1fd5a2e1SPrashanth Swaminathan	(.Lload_table): Likewise.
2650*1fd5a2e1SPrashanth Swaminathan	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2651*1fd5a2e1SPrashanth Swaminathan
2652*1fd5a2e1SPrashanth Swaminathan2008-12-18  Ralf Wildenhues  <[email protected]>
2653*1fd5a2e1SPrashanth Swaminathan
2654*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2655*1fd5a2e1SPrashanth Swaminathan
2656*1fd5a2e1SPrashanth Swaminathan2008-11-21  Eric Botcazou  <[email protected]>
2657*1fd5a2e1SPrashanth Swaminathan
2658*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
2659*1fd5a2e1SPrashanth Swaminathan	signed/unsigned int8/16 return values.
2660*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_call_v8): Likewise.
2661*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_v8): Likewise.
2662*1fd5a2e1SPrashanth Swaminathan
2663*1fd5a2e1SPrashanth Swaminathan2008-09-26  Peter O'Gorman  <[email protected]>
2664*1fd5a2e1SPrashanth Swaminathan	    Steve Ellcey  <[email protected]>
2665*1fd5a2e1SPrashanth Swaminathan
2666*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate for new libtool.
2667*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Ditto.
2668*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Ditto.
2669*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Ditto.
2670*1fd5a2e1SPrashanth Swaminathan
2671*1fd5a2e1SPrashanth Swaminathan2008-08-25  Andreas Tobler  <[email protected]>
2672*1fd5a2e1SPrashanth Swaminathan
2673*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
2674*1fd5a2e1SPrashanth Swaminathan	FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
2675*1fd5a2e1SPrashanth Swaminathan	Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
2676*1fd5a2e1SPrashanth Swaminathan	Adjust copyright notice.
2677*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Add two new flags to indicate if we have one
2678*1fd5a2e1SPrashanth Swaminathan	register or two register to use for FFI_SYSV structs.
2679*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Pass the right register flag introduced above.
2680*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Fix the return type for
2681*1fd5a2e1SPrashanth Swaminathan	FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
2682*1fd5a2e1SPrashanth Swaminathan	Adjust copyright notice.
2683*1fd5a2e1SPrashanth Swaminathan
2684*1fd5a2e1SPrashanth Swaminathan2008-07-16  Kaz Kojima  <[email protected]>
2685*1fd5a2e1SPrashanth Swaminathan
2686*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
2687*1fd5a2e1SPrashanth Swaminathan	int.
2688*1fd5a2e1SPrashanth Swaminathan
2689*1fd5a2e1SPrashanth Swaminathan2008-06-17  Ralf Wildenhues  <[email protected]>
2690*1fd5a2e1SPrashanth Swaminathan
2691*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2692*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
2693*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
2694*1fd5a2e1SPrashanth Swaminathan
2695*1fd5a2e1SPrashanth Swaminathan2008-06-07  Joseph Myers  <[email protected]>
2696*1fd5a2e1SPrashanth Swaminathan
2697*1fd5a2e1SPrashanth Swaminathan	* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
2698*1fd5a2e1SPrashanth Swaminathan	powerpc-*-beos*): Remove.
2699*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2700*1fd5a2e1SPrashanth Swaminathan
2701*1fd5a2e1SPrashanth Swaminathan2008-05-09  Julian Brown  <[email protected]>
2702*1fd5a2e1SPrashanth Swaminathan
2703*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (LTLDFLAGS): New.
2704*1fd5a2e1SPrashanth Swaminathan	(libffi_la_LDFLAGS): Use above.
2705*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
2706*1fd5a2e1SPrashanth Swaminathan
2707*1fd5a2e1SPrashanth Swaminathan2008-04-18  Paolo Bonzini  <[email protected]>
2708*1fd5a2e1SPrashanth Swaminathan
2709*1fd5a2e1SPrashanth Swaminathan	PR bootstrap/35457
2710*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
2711*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2712*1fd5a2e1SPrashanth Swaminathan
2713*1fd5a2e1SPrashanth Swaminathan2008-03-26  Kaz Kojima  <[email protected]>
2714*1fd5a2e1SPrashanth Swaminathan
2715*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S: Add .note.GNU-stack on Linux.
2716*1fd5a2e1SPrashanth Swaminathan	* src/sh64/sysv.S: Likewise.
2717*1fd5a2e1SPrashanth Swaminathan
2718*1fd5a2e1SPrashanth Swaminathan2008-03-26  Daniel Jacobowitz  <[email protected]>
2719*1fd5a2e1SPrashanth Swaminathan
2720*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Fix ARM comment marker.
2721*1fd5a2e1SPrashanth Swaminathan
2722*1fd5a2e1SPrashanth Swaminathan2008-03-26  Jakub Jelinek  <[email protected]>
2723*1fd5a2e1SPrashanth Swaminathan
2724*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
2725*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S: Likewise.
2726*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Likewise.
2727*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Likewise.
2728*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: Likewise.
2729*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Likewise.
2730*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Likewise.
2731*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Likewise.
2732*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S: Likewise.
2733*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Likewise.
2734*1fd5a2e1SPrashanth Swaminathan
2735*1fd5a2e1SPrashanth Swaminathan2008-03-16  Ralf Wildenhues  <[email protected]>
2736*1fd5a2e1SPrashanth Swaminathan
2737*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
2738*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
2739*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Likewise.
2740*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Likewise.
2741*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
2742*1fd5a2e1SPrashanth Swaminathan
2743*1fd5a2e1SPrashanth Swaminathan2008-02-12  Bjoern Koenig  <[email protected]>
2744*1fd5a2e1SPrashanth Swaminathan	    Andreas Tobler  <[email protected]>
2745*1fd5a2e1SPrashanth Swaminathan
2746*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add amd64-*-freebsd* target.
2747*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2748*1fd5a2e1SPrashanth Swaminathan
2749*1fd5a2e1SPrashanth Swaminathan2008-01-30  H.J. Lu  <[email protected]>
2750*1fd5a2e1SPrashanth Swaminathan
2751*1fd5a2e1SPrashanth Swaminathan	PR libffi/34612
2752*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
2753*1fd5a2e1SPrashanth Swaminathan	returning struct.
2754*1fd5a2e1SPrashanth Swaminathan
2755*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
2756*1fd5a2e1SPrashanth Swaminathan	tests.
2757*1fd5a2e1SPrashanth Swaminathan
2758*1fd5a2e1SPrashanth Swaminathan2008-01-24  David Edelsohn  <[email protected]>
2759*1fd5a2e1SPrashanth Swaminathan
2760*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
2761*1fd5a2e1SPrashanth Swaminathan
2762*1fd5a2e1SPrashanth Swaminathan2008-01-06  Andreas Tobler  <[email protected]>
2763*1fd5a2e1SPrashanth Swaminathan
2764*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
2765*1fd5a2e1SPrashanth Swaminathan
2766*1fd5a2e1SPrashanth Swaminathan2008-01-05  Andreas Tobler  <[email protected]>
2767*1fd5a2e1SPrashanth Swaminathan
2768*1fd5a2e1SPrashanth Swaminathan	PR testsuite/32843
2769*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
2770*1fd5a2e1SPrashanth Swaminathan	signed/unsigned int8/16 for X86_DARWIN.
2771*1fd5a2e1SPrashanth Swaminathan	Updated copyright info.
2772*1fd5a2e1SPrashanth Swaminathan	Handle one and two byte structs with special cif->flags.
2773*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Add special types for one and two byte structs.
2774*1fd5a2e1SPrashanth Swaminathan	Updated copyright info.
2775*1fd5a2e1SPrashanth Swaminathan	* src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
2776*1fd5a2e1SPrashanth Swaminathan	sysv.S
2777*1fd5a2e1SPrashanth Swaminathan	Remove code to pop args from the stack after call.
2778*1fd5a2e1SPrashanth Swaminathan	Special-case signed/unsigned for int8/16, one and two byte structs.
2779*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2780*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2781*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SINT32.
2782*1fd5a2e1SPrashanth Swaminathan	Updated copyright info.
2783*1fd5a2e1SPrashanth Swaminathan
2784*1fd5a2e1SPrashanth Swaminathan2007-12-08  David Daney  <[email protected]>
2785*1fd5a2e1SPrashanth Swaminathan
2786*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with
2787*1fd5a2e1SPrashanth Swaminathan	SUBU, add with ADDU and use smaller code sequences.
2788*1fd5a2e1SPrashanth Swaminathan
2789*1fd5a2e1SPrashanth Swaminathan2007-12-07  David Daney  <[email protected]>
2790*1fd5a2e1SPrashanth Swaminathan
2791*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
2792*1fd5a2e1SPrashanth Swaminathan	type.
2793*1fd5a2e1SPrashanth Swaminathan
2794*1fd5a2e1SPrashanth Swaminathan2007-12-06  David Daney  <[email protected]>
2795*1fd5a2e1SPrashanth Swaminathan
2796*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not	already
2797*1fd5a2e1SPrashanth Swaminathan	defined.
2798*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw): New typedef.
2799*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
2800*1fd5a2e1SPrashanth Swaminathan	ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
2801*1fd5a2e1SPrashanth Swaminathan	ffi_java_raw.
2802*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_closure) : Same.
2803*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
2804*1fd5a2e1SPrashanth Swaminathan	parameter types.
2805*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
2806*1fd5a2e1SPrashanth Swaminathan	FFI_SIZEOF_JAVA_RAW.
2807*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
2808*1fd5a2e1SPrashanth Swaminathan	Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
2809*1fd5a2e1SPrashanth Swaminathan	sizeof(ffi_java_raw) for alignment calculations.
2810*1fd5a2e1SPrashanth Swaminathan	(ffi_java_ptrarray_to_raw): Same.
2811*1fd5a2e1SPrashanth Swaminathan	(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
2812*1fd5a2e1SPrashanth Swaminathan	if FFI_SIZEOF_JAVA_RAW == 4.
2813*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_to_rvalue): Same.
2814*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_call): Change type of raw to ffi_java_raw.
2815*1fd5a2e1SPrashanth Swaminathan	(ffi_java_translate_args): Same.
2816*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
2817*1fd5a2e1SPrashanth Swaminathan	parameter types.
2818*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
2819*1fd5a2e1SPrashanth Swaminathan
2820*1fd5a2e1SPrashanth Swaminathan2007-12-06  David Daney  <[email protected]>
2821*1fd5a2e1SPrashanth Swaminathan
2822*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
2823*1fd5a2e1SPrashanth Swaminathan	pointer values.
2824*1fd5a2e1SPrashanth Swaminathan
2825*1fd5a2e1SPrashanth Swaminathan2007-12-01  Andreas Tobler  <[email protected]>
2826*1fd5a2e1SPrashanth Swaminathan
2827*1fd5a2e1SPrashanth Swaminathan	PR libffi/31937
2828*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
2829*1fd5a2e1SPrashanth Swaminathan	Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
2830*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
2831*1fd5a2e1SPrashanth Swaminathan	set the NUM_FPR_ARG_REGISTERS according to.
2832*1fd5a2e1SPrashanth Swaminathan	Add support for potential soft-float support under hard-float
2833*1fd5a2e1SPrashanth Swaminathan	architecture.
2834*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
2835*1fd5a2e1SPrashanth Swaminathan	FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
2836*1fd5a2e1SPrashanth Swaminathan	to the FFI_LINUX_SOFT_FLOAT ABI.
2837*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Likewise.
2838*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
2839*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Make sure not to store float/double
2840*1fd5a2e1SPrashanth Swaminathan	on archs where __NO_FPRS__ is true.
2841*1fd5a2e1SPrashanth Swaminathan	Add FFI_TYPE_UINT128 support.
2842*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Add support for soft-float long-double-128.
2843*1fd5a2e1SPrashanth Swaminathan	Adjust copyright notice.
2844*1fd5a2e1SPrashanth Swaminathan
2845*1fd5a2e1SPrashanth Swaminathan2007-11-25  Andreas Tobler  <[email protected]>
2846*1fd5a2e1SPrashanth Swaminathan
2847*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
2848*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h: ... here.
2849*1fd5a2e1SPrashanth Swaminathan	Update copyright.
2850*1fd5a2e1SPrashanth Swaminathan
2851*1fd5a2e1SPrashanth Swaminathan2007-11-17  Andreas Tobler  <[email protected]>
2852*1fd5a2e1SPrashanth Swaminathan
2853*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Load correct cr to compare if we have long double.
2854*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Likewise.
2855*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
2856*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ldl.c: New test.
2857*1fd5a2e1SPrashanth Swaminathan
2858*1fd5a2e1SPrashanth Swaminathan2007-09-04    <[email protected]>
2859*1fd5a2e1SPrashanth Swaminathan
2860*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (UNWIND): New.
2861*1fd5a2e1SPrashanth Swaminathan	(Whole file): Conditionally compile unwinder directives.
2862*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Add unwinder directives.
2863*1fd5a2e1SPrashanth Swaminathan
2864*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
2865*1fd5a2e1SPrashanth Swaminathan	Only treat r0 as a struct address if we're actually returning a
2866*1fd5a2e1SPrashanth Swaminathan	struct by address.
2867*1fd5a2e1SPrashanth Swaminathan	Only copy the bytes that are actually within a struct.
2868*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
2869*1fd5a2e1SPrashanth Swaminathan	is returned in r0, not passed by address.
2870*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Allocate a word-sized temporary for the case where
2871*1fd5a2e1SPrashanth Swaminathan	a composite is returned in r0.
2872*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_incoming_args_SYSV): Align as necessary.
2873*1fd5a2e1SPrashanth Swaminathan
2874*1fd5a2e1SPrashanth Swaminathan2007-08-05  Steven Newbury  <[email protected]>
2875*1fd5a2e1SPrashanth Swaminathan
2876*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
2877*1fd5a2e1SPrashanth Swaminathan	directly using the sys_cacheflush syscall.
2878*1fd5a2e1SPrashanth Swaminathan
2879*1fd5a2e1SPrashanth Swaminathan2007-07-27  Andrew Haley  <[email protected]>
2880*1fd5a2e1SPrashanth Swaminathan
2881*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
2882*1fd5a2e1SPrashanth Swaminathan
2883*1fd5a2e1SPrashanth Swaminathan2007-09-03  Maciej W. Rozycki  <[email protected]>
2884*1fd5a2e1SPrashanth Swaminathan
2885*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
2886*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Likewise.
2887*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
2888*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Likewise.
2889*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
2890*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
2891*1fd5a2e1SPrashanth Swaminathan
2892*1fd5a2e1SPrashanth Swaminathan2007-08-24  David Daney  <[email protected]>
2893*1fd5a2e1SPrashanth Swaminathan
2894*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sl.c: New test.
2895*1fd5a2e1SPrashanth Swaminathan
2896*1fd5a2e1SPrashanth Swaminathan2007-08-10  David Daney  <[email protected]>
2897*1fd5a2e1SPrashanth Swaminathan
2898*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c,
2899*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint16.c,
2900*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct1.c,
2901*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct3.c,
2902*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_7_1_byte.c,
2903*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct5.c,
2904*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_double.c,
2905*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct7.c,
2906*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_sint.c,
2907*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct9.c,
2908*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte1.c,
2909*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_sshortchar.c,
2910*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint64.c,
2911*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3byte2.c,
2912*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_schar.c,
2913*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_uchar.c,
2914*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_19byte.c,
2915*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_9byte1.c,
2916*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_float.c,
2917*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn1.c,
2918*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/problem1.c,
2919*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn3.c,
2920*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_sshort.c,
2921*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn5.c,
2922*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_double.c,
2923*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct.c,
2924*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_2byte.c,
2925*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct10.c,
2926*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_4byte.c,
2927*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_6byte.c,
2928*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_8byte.c,
2929*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_sshort.c,
2930*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint16.c,
2931*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint32.c,
2932*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte.c,
2933*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_float.c,
2934*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct2.c,
2935*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_5_1_byte.c,
2936*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct4.c,
2937*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_24byte.c,
2938*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct6.c,
2939*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_64byte.c,
2940*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct8.c,
2941*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_uint.c,
2942*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_ushortchar.c,
2943*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_schar.c,
2944*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_uchar.c,
2945*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint64.c,
2946*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ulonglong.c,
2947*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble.c,
2948*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_1_1byte.c,
2949*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_12byte.c,
2950*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3_1byte.c,
2951*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3byte1.c,
2952*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_4_1byte.c,
2953*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_6_1_byte.c,
2954*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_16byte.c,
2955*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_18byte.c,
2956*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn0.c,
2957*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_9byte2.c,
2958*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn2.c,
2959*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn4.c,
2960*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ushort.c,
2961*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn6.c,
2962*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_5byte.c,
2963*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_pointer.c,
2964*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_7byte.c,
2965*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint32.c,
2966*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest_ffi_call.cc,
2967*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2968*1fd5a2e1SPrashanth Swaminathan
2969*1fd5a2e1SPrashanth Swaminathan2007-08-10  David Daney  <[email protected]>
2970*1fd5a2e1SPrashanth Swaminathan
2971*1fd5a2e1SPrashanth Swaminathan	PR libffi/28313
2972*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Don't treat mips64 as a special case.
2973*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2974*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate
2975*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Ditto.
2976*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Ditto.
2977*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2978*1fd5a2e1SPrashanth Swaminathan	(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2979*1fd5a2e1SPrashanth Swaminathan	(FFI_DEFAULT_ABI): Set for n64 case.
2980*1fd5a2e1SPrashanth Swaminathan	(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2981*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2982*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_N32): New function.
2983*1fd5a2e1SPrashanth Swaminathan	(.eh_frame): New section
2984*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S: Clean up comments.
2985*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_O32): Pass ffi_closure parameter in $12.
2986*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2987*1fd5a2e1SPrashanth Swaminathan	_MIPS_SIM == _ABIN32 throughout.
2988*1fd5a2e1SPrashanth Swaminathan	(FFI_MIPS_STOP_HERE): New, use in place of
2989*1fd5a2e1SPrashanth Swaminathan	ffi_stop_here.
2990*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
2991*1fd5a2e1SPrashanth Swaminathan	to support n32/n64 ABIs.
2992*1fd5a2e1SPrashanth Swaminathan	(calc_n32_struct_flags): Rewrite.
2993*1fd5a2e1SPrashanth Swaminathan	(calc_n32_return_struct_flags): Remove unused variable.  Reverse
2994*1fd5a2e1SPrashanth Swaminathan	position of flag bits.
2995*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Rewrite n32 portion.
2996*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Enable for n64.  Add special handling for small structure
2997*1fd5a2e1SPrashanth Swaminathan	return values.
2998*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Add n32 and n64 support.
2999*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_mips_inner_O32): Add cast to silence warning.
3000*1fd5a2e1SPrashanth Swaminathan	(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
3001*1fd5a2e1SPrashanth Swaminathan
3002*1fd5a2e1SPrashanth Swaminathan2007-08-08  David Daney  <[email protected]>
3003*1fd5a2e1SPrashanth Swaminathan
3004*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
3005*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
3006*1fd5a2e1SPrashanth Swaminathan	specifiers.
3007*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
3008*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c (main): Ditto.
3009*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct9.c (main): Ditto.
3010*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
3011*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
3012*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c (main): Ditto.
3013*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c (main): Ditto.
3014*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_dbl2.c (main): Ditto.
3015*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c (main): Ditto.
3016*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl3.c (main): Ditto.
3017*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c (main): Ditto.
3018*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c (main): Ditto.
3019*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct10.c (main): Ditto.
3020*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ll1.c (main): Ditto.
3021*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c (main): Ditto.
3022*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
3023*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
3024*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c (main): Ditto.
3025*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c (main): Ditto.
3026*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c (main): Ditto.
3027*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c (main): Ditto.
3028*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c (main): Ditto.
3029*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c (main): Ditto.
3030*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c (main): Ditto.
3031*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c (main): Ditto.
3032*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
3033*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c (main): Ditto.
3034*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_dbl1.c (main): Ditto.
3035*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c (main): Ditto.
3036*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn6.c (main): Ditto.
3037*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
3038*1fd5a2e1SPrashanth Swaminathan
3039*1fd5a2e1SPrashanth Swaminathan2007-08-07  Andrew Haley  <[email protected]>
3040*1fd5a2e1SPrashanth Swaminathan
3041*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
3042*1fd5a2e1SPrashanth Swaminathan	checkin.
3043*1fd5a2e1SPrashanth Swaminathan
3044*1fd5a2e1SPrashanth Swaminathan2007-08-06  Andrew Haley  <[email protected]>
3045*1fd5a2e1SPrashanth Swaminathan
3046*1fd5a2e1SPrashanth Swaminathan	PR testsuite/32843
3047*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
3048*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
3049*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SINT32.
3050*1fd5a2e1SPrashanth Swaminathan
3051*1fd5a2e1SPrashanth Swaminathan2007-08-02  David Daney  <[email protected]>
3052*1fd5a2e1SPrashanth Swaminathan
3053*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ul.c (main): Define return type as
3054*1fd5a2e1SPrashanth Swaminathan	ffi_arg.  Use proper printf conversion specifier.
3055*1fd5a2e1SPrashanth Swaminathan
3056*1fd5a2e1SPrashanth Swaminathan2007-07-30  Andrew Haley  <[email protected]>
3057*1fd5a2e1SPrashanth Swaminathan
3058*1fd5a2e1SPrashanth Swaminathan	PR testsuite/32843
3059*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
3060*1fd5a2e1SPrashanth Swaminathan	signed/unsigned int8/16.
3061*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
3062*1fd5a2e1SPrashanth Swaminathan	Use a jump table.
3063*1fd5a2e1SPrashanth Swaminathan	Remove code to pop args from the stack after call.
3064*1fd5a2e1SPrashanth Swaminathan	Special-case signed/unsigned int8/16.
3065*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sc.c (main): Revert.
3066*1fd5a2e1SPrashanth Swaminathan
3067*1fd5a2e1SPrashanth Swaminathan2007-07-26  Richard Guenther  <[email protected]>
3068*1fd5a2e1SPrashanth Swaminathan
3069*1fd5a2e1SPrashanth Swaminathan	PR testsuite/32843
3070*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sc.c (main): Verify call
3071*1fd5a2e1SPrashanth Swaminathan	result as signed char, not ffi_arg.
3072*1fd5a2e1SPrashanth Swaminathan
3073*1fd5a2e1SPrashanth Swaminathan2007-07-16  Rainer Orth  <[email protected]>
3074*1fd5a2e1SPrashanth Swaminathan
3075*1fd5a2e1SPrashanth Swaminathan	* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
3076*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3077*1fd5a2e1SPrashanth Swaminathan
3078*1fd5a2e1SPrashanth Swaminathan2007-07-11  David Daney  <[email protected]>
3079*1fd5a2e1SPrashanth Swaminathan
3080*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Don't include sys/cachectl.h.
3081*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
3082*1fd5a2e1SPrashanth Swaminathan	cacheflush().
3083*1fd5a2e1SPrashanth Swaminathan
3084*1fd5a2e1SPrashanth Swaminathan2007-05-18  Aurelien Jarno  <[email protected]>
3085*1fd5a2e1SPrashanth Swaminathan
3086*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
3087*1fd5a2e1SPrashanth Swaminathan	from (ffi_prep_closure): ... this.
3088*1fd5a2e1SPrashanth Swaminathan	(FFI_INIT_TRAMPOLINE): Adjust.
3089*1fd5a2e1SPrashanth Swaminathan
3090*1fd5a2e1SPrashanth Swaminathan2005-12-31  Phil Blundell  <[email protected]>
3091*1fd5a2e1SPrashanth Swaminathan
3092*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
3093*1fd5a2e1SPrashanth Swaminathan	ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
3094*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S(ffi_closure_SYSV): Likewise.
3095*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
3096*1fd5a2e1SPrashanth Swaminathan	(FFI_CLOSURES): Enable closure support.
3097*1fd5a2e1SPrashanth Swaminathan
3098*1fd5a2e1SPrashanth Swaminathan2007-07-03  Andrew Haley  <[email protected]>
3099*1fd5a2e1SPrashanth Swaminathan
3100*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c,
3101*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint16.c,
3102*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct1.c,
3103*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct3.c,
3104*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_7_1_byte.c,
3105*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_double.c,
3106*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct5.c,
3107*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct7.c,
3108*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_sint.c,
3109*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct9.c,
3110*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte1.c,
3111*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_sshortchar.c,
3112*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint64.c,
3113*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3byte2.c,
3114*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_schar.c,
3115*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_uchar.c,
3116*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_19byte.c,
3117*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_9byte1.c,
3118*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_float.c,
3119*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn1.c,
3120*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/problem1.c,
3121*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn3.c,
3122*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_sshort.c,
3123*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn5.c,
3124*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_double.c,
3125*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_2byte.c,
3126*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct.c,
3127*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct10.c,
3128*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_4byte.c,
3129*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_6byte.c,
3130*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_8byte.c,
3131*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_sshort.c,
3132*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint32.c,
3133*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint16.c,
3134*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_float.c,
3135*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_20byte.c,
3136*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_5_1_byte.c,
3137*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct2.c,
3138*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_24byte.c,
3139*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct4.c,
3140*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct6.c,
3141*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_64byte.c,
3142*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/nested_struct8.c,
3143*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_uint.c,
3144*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_multi_ushortchar.c,
3145*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_schar.c,
3146*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_uchar.c,
3147*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_uint64.c,
3148*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ulonglong.c,
3149*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_longdouble.c,
3150*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_1_1byte.c,
3151*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_12byte.c,
3152*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3_1byte.c,
3153*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_3byte1.c,
3154*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_4_1byte.c,
3155*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_6_1_byte.c,
3156*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_16byte.c,
3157*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_18byte.c,
3158*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn0.c,
3159*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_9byte2.c,
3160*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn2.c,
3161*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn4.c,
3162*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_ushort.c,
3163*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/closure_fn6.c,
3164*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_5byte.c,
3165*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_pointer.c,
3166*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_7byte.c,
3167*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.call/cls_align_sint32.c,
3168*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest_ffi_call.cc,
3169*1fd5a2e1SPrashanth Swaminathan	testsuite/libffi.special/unwindtest.cc: Enable for ARM.
3170*1fd5a2e1SPrashanth Swaminathan
3171*1fd5a2e1SPrashanth Swaminathan2007-07-05  H.J. Lu  <[email protected]>
3172*1fd5a2e1SPrashanth Swaminathan
3173*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerated.
3174*1fd5a2e1SPrashanth Swaminathan
3175*1fd5a2e1SPrashanth Swaminathan2007-06-02  Paolo Bonzini  <[email protected]>
3176*1fd5a2e1SPrashanth Swaminathan
3177*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3178*1fd5a2e1SPrashanth Swaminathan
3179*1fd5a2e1SPrashanth Swaminathan2007-05-23  Steve Ellcey  <[email protected]>
3180*1fd5a2e1SPrashanth Swaminathan
3181*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3182*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3183*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
3184*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
3185*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
3186*1fd5a2e1SPrashanth Swaminathan
3187*1fd5a2e1SPrashanth Swaminathan2007-05-10  Roman Zippel <[email protected]>
3188*1fd5a2e1SPrashanth Swaminathan
3189*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
3190*1fd5a2e1SPrashanth Swaminathan	ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
3191*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
3192*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
3193*1fd5a2e1SPrashanth Swaminathan	(FFI_CLOSURES): Enable closure support.
3194*1fd5a2e1SPrashanth Swaminathan
3195*1fd5a2e1SPrashanth Swaminathan2007-05-10  Roman Zippel <[email protected]>
3196*1fd5a2e1SPrashanth Swaminathan
3197*1fd5a2e1SPrashanth Swaminathan	* configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
3198*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3199*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
3200*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
3201*1fd5a2e1SPrashanth Swaminathan	CFI_OFFSET,CFI_DEF_CFA): New macros.
3202*1fd5a2e1SPrashanth Swaminathan	(ffi_call_SYSV): Add callframe annotation.
3203*1fd5a2e1SPrashanth Swaminathan
3204*1fd5a2e1SPrashanth Swaminathan2007-05-10  Roman Zippel <[email protected]>
3205*1fd5a2e1SPrashanth Swaminathan
3206*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
3207*1fd5a2e1SPrashanth Swaminathan	numerous test suite failures.
3208*1fd5a2e1SPrashanth Swaminathan	* src/m68k/sysv.S (ffi_call_SYSV): Likewise.
3209*1fd5a2e1SPrashanth Swaminathan
3210*1fd5a2e1SPrashanth Swaminathan2007-04-11  Paolo Bonzini  <[email protected]>
3211*1fd5a2e1SPrashanth Swaminathan
3212*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Bring up to date.
3213*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3214*1fd5a2e1SPrashanth Swaminathan	* src/frv/eabi.S: Remove RCS keyword.
3215*1fd5a2e1SPrashanth Swaminathan
3216*1fd5a2e1SPrashanth Swaminathan2007-04-06  Richard Henderson  <[email protected]>
3217*1fd5a2e1SPrashanth Swaminathan
3218*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Tidy target case.
3219*1fd5a2e1SPrashanth Swaminathan	(HAVE_LONG_DOUBLE): Allow the target to override.
3220*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3221*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Don't define ffi_type_foo if
3222*1fd5a2e1SPrashanth Swaminathan	LIBFFI_HIDE_BASIC_TYPES is defined.
3223*1fd5a2e1SPrashanth Swaminathan	(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
3224*1fd5a2e1SPrashanth Swaminathan	to ffi_type_double.
3225*1fd5a2e1SPrashanth Swaminathan	* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
3226*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPEDEF, ffi_type_void): Mark the data const.
3227*1fd5a2e1SPrashanth Swaminathan	(ffi_type_longdouble): Special case for Alpha.  Don't define
3228*1fd5a2e1SPrashanth Swaminathan	if long double == double.
3229*1fd5a2e1SPrashanth Swaminathan
3230*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
3231*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle it as the 128-bit type.
3232*1fd5a2e1SPrashanth Swaminathan	(ffi_call, ffi_closure_osf_inner): Likewise.
3233*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_osf_inner): Likewise.  Mark hidden.
3234*1fd5a2e1SPrashanth Swaminathan	(ffi_call_osf, ffi_closure_osf): Mark hidden.
3235*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
3236*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
3237*1fd5a2e1SPrashanth Swaminathan	(load_table): Handle 128-bit long double.
3238*1fd5a2e1SPrashanth Swaminathan
3239*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float4.c: Add -mieee for alpha.
3240*1fd5a2e1SPrashanth Swaminathan
3241*1fd5a2e1SPrashanth Swaminathan2007-04-06  Tom Tromey  <[email protected]>
3242*1fd5a2e1SPrashanth Swaminathan
3243*1fd5a2e1SPrashanth Swaminathan	PR libffi/31491:
3244*1fd5a2e1SPrashanth Swaminathan	* README: Fixed bug in example.
3245*1fd5a2e1SPrashanth Swaminathan
3246*1fd5a2e1SPrashanth Swaminathan2007-04-03  Jakub Jelinek  <[email protected]>
3247*1fd5a2e1SPrashanth Swaminathan
3248*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: Include sys/statfs.h.
3249*1fd5a2e1SPrashanth Swaminathan	(_GNU_SOURCE): Define on Linux.
3250*1fd5a2e1SPrashanth Swaminathan	(FFI_MMAP_EXEC_SELINUX): Define.
3251*1fd5a2e1SPrashanth Swaminathan	(selinux_enabled): New variable.
3252*1fd5a2e1SPrashanth Swaminathan	(selinux_enabled_check): New function.
3253*1fd5a2e1SPrashanth Swaminathan	(is_selinux_enabled): Define.
3254*1fd5a2e1SPrashanth Swaminathan	(dlmmap): Use it.
3255*1fd5a2e1SPrashanth Swaminathan
3256*1fd5a2e1SPrashanth Swaminathan2007-03-24  Uros Bizjak  <[email protected]>
3257*1fd5a2e1SPrashanth Swaminathan
3258*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
3259*1fd5a2e1SPrashanth Swaminathan	Use 'volatile float sum' to create sum of floats to avoid false
3260*1fd5a2e1SPrashanth Swaminathan	negative due to excess precision on ix86 targets.
3261*1fd5a2e1SPrashanth Swaminathan	(main): Ditto.
3262*1fd5a2e1SPrashanth Swaminathan
3263*1fd5a2e1SPrashanth Swaminathan2007-03-08  Alexandre Oliva  <[email protected]>
3264*1fd5a2e1SPrashanth Swaminathan
3265*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (flush_icache): Fix left-over from previous
3266*1fd5a2e1SPrashanth Swaminathan	patch.
3267*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
3268*1fd5a2e1SPrashanth Swaminathan
3269*1fd5a2e1SPrashanth Swaminathan2007-03-07  Alexandre Oliva  <[email protected]>
3270*1fd5a2e1SPrashanth Swaminathan
3271*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
3272*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure_loc): New.
3273*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure_loc): New.
3274*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_java_raw_closure_loc): New.
3275*1fd5a2e1SPrashanth Swaminathan	* src/closures.c: New file.
3276*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
3277*1fd5a2e1SPrashanth Swaminathan	Replace sflags with exec_offset.
3278*1fd5a2e1SPrashanth Swaminathan	[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
3279*1fd5a2e1SPrashanth Swaminathan	sub_segment_exec_offset): New macros.
3280*1fd5a2e1SPrashanth Swaminathan	(get_segment_flags, set_segment_flags, check_segment_merge): New
3281*1fd5a2e1SPrashanth Swaminathan	macros.
3282*1fd5a2e1SPrashanth Swaminathan	(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
3283*1fd5a2e1SPrashanth Swaminathan	(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
3284*1fd5a2e1SPrashanth Swaminathan	destroy_mspace): Use new macros.
3285*1fd5a2e1SPrashanth Swaminathan	(sys_alloc): Silence warning.
3286*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
3287*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
3288*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
3289*1fd5a2e1SPrashanth Swaminathan	terms of ffi_prep_closure_loc.
3290*1fd5a2e1SPrashanth Swaminathan	* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
3291*1fd5a2e1SPrashanth Swaminathan	from...
3292*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure): ... this.  Re-implement in terms of the
3293*1fd5a2e1SPrashanth Swaminathan	renamed version.
3294*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
3295*1fd5a2e1SPrashanth Swaminathan	adjusted from...
3296*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
3297*1fd5a2e1SPrashanth Swaminathan	the renamed version.
3298*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
3299*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): ... this.
3300*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c: Likewise.
3301*1fd5a2e1SPrashanth Swaminathan	* src/cris/ffi.c: Likewise.  Adjust.
3302*1fd5a2e1SPrashanth Swaminathan	* src/frv/ffi.c: Likewise.
3303*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Likewise.
3304*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Likewise.
3305*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Likewise.
3306*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c: Likewise.
3307*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c: Likewise.
3308*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c: Likewise.
3309*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c: Likewise.
3310*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: Likewise.
3311*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Likewise.
3312*1fd5a2e1SPrashanth Swaminathan	(FFI_INIT_TRAMPOLINE): Adjust.
3313*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure_loc): Renamed and adjusted from...
3314*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure): ... this.
3315*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
3316*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): ... this.
3317*1fd5a2e1SPrashanth Swaminathan	(flush_icache): Adjust.
3318*1fd5a2e1SPrashanth Swaminathan
3319*1fd5a2e1SPrashanth Swaminathan2007-03-07  Alexandre Oliva  <[email protected]>
3320*1fd5a2e1SPrashanth Swaminathan
3321*1fd5a2e1SPrashanth Swaminathan	* src/dlmalloc.c: New file, imported version 2.8.3 of Doug
3322*1fd5a2e1SPrashanth Swaminathan	Lea's malloc.
3323*1fd5a2e1SPrashanth Swaminathan
3324*1fd5a2e1SPrashanth Swaminathan2007-03-01  Brooks Moses  <[email protected]>
3325*1fd5a2e1SPrashanth Swaminathan
3326*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add dummy install-pdf target.
3327*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate
3328*1fd5a2e1SPrashanth Swaminathan
3329*1fd5a2e1SPrashanth Swaminathan2007-02-13  Andreas Krebbel  <[email protected]>
3330*1fd5a2e1SPrashanth Swaminathan
3331*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
3332*1fd5a2e1SPrashanth Swaminathan	ffi_closure_helper_SYSV): Add long double handling.
3333*1fd5a2e1SPrashanth Swaminathan
3334*1fd5a2e1SPrashanth Swaminathan2007-02-02  Jakub Jelinek  <[email protected]>
3335*1fd5a2e1SPrashanth Swaminathan
3336*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
3337*1fd5a2e1SPrashanth Swaminathan	immediately after bctrl instruction.
3338*1fd5a2e1SPrashanth Swaminathan
3339*1fd5a2e1SPrashanth Swaminathan2007-01-18  Alexandre Oliva  <[email protected]>
3340*1fd5a2e1SPrashanth Swaminathan
3341*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (all-recursive, install-recursive,
3342*1fd5a2e1SPrashanth Swaminathan	mostlyclean-recursive, clean-recursive, distclean-recursive,
3343*1fd5a2e1SPrashanth Swaminathan	maintainer-clean-recursive): Add missing targets.
3344*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
3345*1fd5a2e1SPrashanth Swaminathan
3346*1fd5a2e1SPrashanth Swaminathan2006-12-14  Andreas Tobler  <[email protected]>
3347*1fd5a2e1SPrashanth Swaminathan
3348*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add TARGET for x86_64-*-darwin*.
3349*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
3350*1fd5a2e1SPrashanth Swaminathan	for X86_DARWIN.
3351*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
3352*1fd5a2e1SPrashanth Swaminathan	* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
3353*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3354*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3355*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
3356*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
3357*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
3358*1fd5a2e1SPrashanth Swaminathan	ffi_call only.
3359*1fd5a2e1SPrashanth Swaminathan
3360*1fd5a2e1SPrashanth Swaminathan2006-12-13  Andreas Tobler <[email protected]>
3361*1fd5a2e1SPrashanth Swaminathan
3362*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate with aclocal -I .. as written in the
3363*1fd5a2e1SPrashanth Swaminathan	Makefile.am.
3364*1fd5a2e1SPrashanth Swaminathan
3365*1fd5a2e1SPrashanth Swaminathan2006-10-31  Geoffrey Keating  <[email protected]>
3366*1fd5a2e1SPrashanth Swaminathan
3367*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
3368*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
3369*1fd5a2e1SPrashanth Swaminathan	Darwin.
3370*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
3371*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
3372*1fd5a2e1SPrashanth Swaminathan
3373*1fd5a2e1SPrashanth Swaminathan2006-10-10  Paolo Bonzini  <[email protected]>
3374*1fd5a2e1SPrashanth Swaminathan	    Sandro Tolaini  <[email protected]>
3375*1fd5a2e1SPrashanth Swaminathan
3376*1fd5a2e1SPrashanth Swaminathan	* configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
3377*1fd5a2e1SPrashanth Swaminathan	conditional.
3378*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
3379*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
3380*1fd5a2e1SPrashanth Swaminathan	(EXTRA_DIST): Add src/x86/darwin.S.
3381*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
3382*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerated.
3383*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerated.
3384*1fd5a2e1SPrashanth Swaminathan
3385*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
3386*1fd5a2e1SPrashanth Swaminathan	X86_WIN32, and additionally align stack to 16 bytes.
3387*1fd5a2e1SPrashanth Swaminathan	* src/x86/darwin.S: New, based on sysv.S.
3388*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
3389*1fd5a2e1SPrashanth Swaminathan
3390*1fd5a2e1SPrashanth Swaminathan2006-09-12  David Daney  <[email protected]>
3391*1fd5a2e1SPrashanth Swaminathan
3392*1fd5a2e1SPrashanth Swaminathan	PR libffi/23935
3393*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.am: Install both ffi.h and ffitarget.h in
3394*1fd5a2e1SPrashanth Swaminathan	$(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
3395*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerated for automake 1.9.6.
3396*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
3397*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerated.
3398*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerated.
3399*1fd5a2e1SPrashanth Swaminathan
3400*1fd5a2e1SPrashanth Swaminathan2006-08-17  Andreas Tobler  <[email protected]>
3401*1fd5a2e1SPrashanth Swaminathan
3402*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h (struct): Revert accidental commit.
3403*1fd5a2e1SPrashanth Swaminathan
3404*1fd5a2e1SPrashanth Swaminathan2006-08-15  Andreas Tobler  <[email protected]>
3405*1fd5a2e1SPrashanth Swaminathan
3406*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h: Remove lint directives.
3407*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Likewise.
3408*1fd5a2e1SPrashanth Swaminathan
3409*1fd5a2e1SPrashanth Swaminathan2006-07-25  Torsten Schoenfeld  <[email protected]>
3410*1fd5a2e1SPrashanth Swaminathan
3411*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
3412*1fd5a2e1SPrashanth Swaminathan	for 32-bit architectures.
3413*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ul.c: New test case.
3414*1fd5a2e1SPrashanth Swaminathan
3415*1fd5a2e1SPrashanth Swaminathan2006-07-19  David Daney  <[email protected]>
3416*1fd5a2e1SPrashanth Swaminathan
3417*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
3418*1fd5a2e1SPrashanth Swaminathan	xfail remains for mips64.
3419*1fd5a2e1SPrashanth Swaminathan
3420*1fd5a2e1SPrashanth Swaminathan2006-05-23  Carlos O'Donell  <[email protected]>
3421*1fd5a2e1SPrashanth Swaminathan
3422*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add install-html target. Add install-html to .PHONY
3423*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3424*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
3425*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
3426*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
3427*1fd5a2e1SPrashanth Swaminathan
3428*1fd5a2e1SPrashanth Swaminathan2006-05-18  John David Anglin  <[email protected]>
3429*1fd5a2e1SPrashanth Swaminathan
3430*1fd5a2e1SPrashanth Swaminathan	* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
3431*1fd5a2e1SPrashanth Swaminathan	stack slot.
3432*1fd5a2e1SPrashanth Swaminathan
3433*1fd5a2e1SPrashanth Swaminathan2006-04-22  Andreas Tobler  <[email protected]>
3434*1fd5a2e1SPrashanth Swaminathan
3435*1fd5a2e1SPrashanth Swaminathan	* README: Remove notice about 'Crazy Comments'.
3436*1fd5a2e1SPrashanth Swaminathan	* src/debug.c: Remove lint directives. Cleanup white spaces.
3437*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c: Likewise.
3438*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c: Likewise.
3439*1fd5a2e1SPrashanth Swaminathan	* src/raw_api.c: Likewise.
3440*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c: Delete. No longer needed, all test cases migrated
3441*1fd5a2e1SPrashanth Swaminathan	to the testsuite.
3442*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c: Remove lint directives.
3443*1fd5a2e1SPrashanth Swaminathan	* src/m32r/ffi.c: Likewise.
3444*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c: Likewise.
3445*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Likewise.
3446*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Likewise.
3447*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c: Likewise.
3448*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c: Likewise.
3449*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Likewise.
3450*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float2.c: Likewise.
3451*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/promotion.c: Likewise.
3452*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1.c: Likewise.
3453*1fd5a2e1SPrashanth Swaminathan
3454*1fd5a2e1SPrashanth Swaminathan2006-04-13  Andreas Tobler  <[email protected]>
3455*1fd5a2e1SPrashanth Swaminathan
3456*1fd5a2e1SPrashanth Swaminathan	* src/pa/hpux32.S: Correct unwind offset calculation for
3457*1fd5a2e1SPrashanth Swaminathan	ffi_closure_pa32.
3458*1fd5a2e1SPrashanth Swaminathan	* src/pa/linux.S: Likewise.
3459*1fd5a2e1SPrashanth Swaminathan
3460*1fd5a2e1SPrashanth Swaminathan2006-04-12  James E Wilson  <[email protected]>
3461*1fd5a2e1SPrashanth Swaminathan
3462*1fd5a2e1SPrashanth Swaminathan	PR libgcj/26483
3463*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
3464*1fd5a2e1SPrashanth Swaminathan	(hfa_type_load): Call stf_spill.
3465*1fd5a2e1SPrashanth Swaminathan	(hfa_type_store): Call ldf_fill.
3466*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Adjust calls to above routines.  Add local temps for
3467*1fd5a2e1SPrashanth Swaminathan	macro result.
3468*1fd5a2e1SPrashanth Swaminathan
3469*1fd5a2e1SPrashanth Swaminathan2006-04-10  Matthias Klose  <[email protected]>
3470*1fd5a2e1SPrashanth Swaminathan
3471*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
3472*1fd5a2e1SPrashanth Swaminathan	directory names containing underscores.
3473*1fd5a2e1SPrashanth Swaminathan
3474*1fd5a2e1SPrashanth Swaminathan2006-04-07  James E Wilson  <[email protected]>
3475*1fd5a2e1SPrashanth Swaminathan
3476*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float4.c: New testcase.
3477*1fd5a2e1SPrashanth Swaminathan
3478*1fd5a2e1SPrashanth Swaminathan2006-04-05  John David Anglin  <[email protected]>
3479*1fd5a2e1SPrashanth Swaminathan	    Andreas Tobler  <[email protected]>
3480*1fd5a2e1SPrashanth Swaminathan
3481*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add PA_HPUX port.
3482*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3483*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Likewise.
3484*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
3485*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add PA_HPUX rules.
3486*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3487*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
3488*1fd5a2e1SPrashanth Swaminathan	Add PA_HPUX and PA64_HPUX.
3489*1fd5a2e1SPrashanth Swaminathan	Rename FFI_LINUX ABI to FFI_PA32 ABI.
3490*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
3491*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT2): Define.
3492*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT4): Likewise.
3493*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT8): Likewise.
3494*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT3): Redefine.
3495*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT5): Likewise.
3496*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT6): Likewise.
3497*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT7): Likewise.
3498*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c (ROUND_DOWN): Delete.
3499*1fd5a2e1SPrashanth Swaminathan	(fldw, fstw, fldd, fstd): Use '__asm__'.
3500*1fd5a2e1SPrashanth Swaminathan	(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
3501*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
3502*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
3503*1fd5a2e1SPrashanth Swaminathan	Simplify incrementing of stack slot variable. Change type of local
3504*1fd5a2e1SPrashanth Swaminathan	'n' to unsigned int.
3505*1fd5a2e1SPrashanth Swaminathan	(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
3506*1fd5a2e1SPrashanth Swaminathan	double on PA_HPUX.
3507*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Likewise.
3508*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Likewise.
3509*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
3510*1fd5a2e1SPrashanth Swaminathan	return type to ffi_status. Simplify incrementing of stack slot
3511*1fd5a2e1SPrashanth Swaminathan	variable. Only copy floating point argument registers when PA_LINUX
3512*1fd5a2e1SPrashanth Swaminathan	is true. Reformat debug statement.
3513*1fd5a2e1SPrashanth Swaminathan	Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
3514*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_SMALL_STRUCT8.
3515*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
3516*1fd5a2e1SPrashanth Swaminathan	declaration.
3517*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
3518*1fd5a2e1SPrashanth Swaminathan	Add nops to cache flush.  Add trampoline for PA_HPUX.
3519*1fd5a2e1SPrashanth Swaminathan	* src/pa/hpux32.S: New file.
3520*1fd5a2e1SPrashanth Swaminathan	* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
3521*1fd5a2e1SPrashanth Swaminathan	ffi_prep_args_LINUX to ffi_prep_args_pa32.
3522*1fd5a2e1SPrashanth Swaminathan	Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
3523*1fd5a2e1SPrashanth Swaminathan	unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
3524*1fd5a2e1SPrashanth Swaminathan	argument type checks so that common argument types appear first.
3525*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
3526*1fd5a2e1SPrashanth Swaminathan	ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
3527*1fd5a2e1SPrashanth Swaminathan
3528*1fd5a2e1SPrashanth Swaminathan2006-03-24  Alan Modra  <[email protected]>
3529*1fd5a2e1SPrashanth Swaminathan
3530*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
3531*1fd5a2e1SPrashanth Swaminathan	for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
3532*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
3533*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_LONGDOUBLE.
3534*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args64): Assert using IBM extended double.
3535*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
3536*1fd5a2e1SPrashanth Swaminathan	Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
3537*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Handle FFI_LINUX.
3538*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
3539*1fd5a2e1SPrashanth Swaminathan	gpr3 return pointer as for struct return.  Handle FFI_LINUX
3540*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
3541*1fd5a2e1SPrashanth Swaminathan	unnecessarily.
3542*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
3543*1fd5a2e1SPrashanth Swaminathan	for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
3544*1fd5a2e1SPrashanth Swaminathan	Don't use r6 as pointer to results, instead use sp offset.  Don't
3545*1fd5a2e1SPrashanth Swaminathan	make a special call to load lr with case table address, instead
3546*1fd5a2e1SPrashanth Swaminathan	use offset from previous call.
3547*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
3548*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
3549*1fd5a2e1SPrashanth Swaminathan	return.
3550*1fd5a2e1SPrashanth Swaminathan
3551*1fd5a2e1SPrashanth Swaminathan2006-03-15  Kaz Kojima  <[email protected]>
3552*1fd5a2e1SPrashanth Swaminathan
3553*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
3554*1fd5a2e1SPrashanth Swaminathan	passed with FP registers correctly.
3555*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
3556*1fd5a2e1SPrashanth Swaminathan	* src/sh64/sysv.S: Likewise.
3557*1fd5a2e1SPrashanth Swaminathan
3558*1fd5a2e1SPrashanth Swaminathan2006-03-01  Andreas Tobler  <[email protected]>
3559*1fd5a2e1SPrashanth Swaminathan
3560*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
3561*1fd5a2e1SPrashanth Swaminathan	args and userdata unused.
3562*1fd5a2e1SPrashanth Swaminathan	(closure_test_fn1): Mark cif and userdata unused.
3563*1fd5a2e1SPrashanth Swaminathan	(main): Remove unused res.
3564*1fd5a2e1SPrashanth Swaminathan
3565*1fd5a2e1SPrashanth Swaminathan2006-02-28  Andreas Tobler  <[email protected]>
3566*1fd5a2e1SPrashanth Swaminathan
3567*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
3568*1fd5a2e1SPrashanth Swaminathan	-O2, -O3, -Os and the warning flags -W -Wall.
3569*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/special.exp: Likewise.
3570*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
3571*1fd5a2e1SPrashanth Swaminathan	unused parameter unused for gcc or else do nothing.
3572*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h: Likewise.
3573*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
3574*1fd5a2e1SPrashanth Swaminathan	and userdata unused.
3575*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
3576*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
3577*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
3578*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
3579*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
3580*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
3581*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
3582*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
3583*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
3584*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
3585*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
3586*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
3587*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
3588*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
3589*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
3590*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
3591*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
3592*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
3593*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
3594*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
3595*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
3596*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
3597*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
3598*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
3599*1fd5a2e1SPrashanth Swaminathan	Likewise.
3600*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
3601*1fd5a2e1SPrashanth Swaminathan	Likewise.
3602*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
3603*1fd5a2e1SPrashanth Swaminathan	Likewise.
3604*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
3605*1fd5a2e1SPrashanth Swaminathan	void* to avoid compiler warning.
3606*1fd5a2e1SPrashanth Swaminathan	(main): Likewise.
3607*1fd5a2e1SPrashanth Swaminathan	(cls_struct_align_gn): Mark cif and userdata unused.
3608*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
3609*1fd5a2e1SPrashanth Swaminathan	Likewise.
3610*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
3611*1fd5a2e1SPrashanth Swaminathan	Likewise.
3612*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
3613*1fd5a2e1SPrashanth Swaminathan	Likewise.
3614*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
3615*1fd5a2e1SPrashanth Swaminathan	Likewise.
3616*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
3617*1fd5a2e1SPrashanth Swaminathan	Likewise.
3618*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
3619*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
3620*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
3621*1fd5a2e1SPrashanth Swaminathan	data unused.
3622*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3623*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
3624*1fd5a2e1SPrashanth Swaminathan	data unused.
3625*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3626*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
3627*1fd5a2e1SPrashanth Swaminathan	and data unused.
3628*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3629*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
3630*1fd5a2e1SPrashanth Swaminathan	data unused.
3631*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3632*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
3633*1fd5a2e1SPrashanth Swaminathan	data unused.
3634*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3635*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
3636*1fd5a2e1SPrashanth Swaminathan	and data unused.
3637*1fd5a2e1SPrashanth Swaminathan	(main): Cast res_call to silence gcc.
3638*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
3639*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3640*1fd5a2e1SPrashanth Swaminathan	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
3641*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
3642*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3643*1fd5a2e1SPrashanth Swaminathan	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
3644*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
3645*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3646*1fd5a2e1SPrashanth Swaminathan	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
3647*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
3648*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3649*1fd5a2e1SPrashanth Swaminathan	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
3650*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
3651*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3652*1fd5a2e1SPrashanth Swaminathan	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
3653*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
3654*1fd5a2e1SPrashanth Swaminathan	and userdata unused.
3655*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
3656*1fd5a2e1SPrashanth Swaminathan	userdata unused.
3657*1fd5a2e1SPrashanth Swaminathan	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
3658*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
3659*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
3660*1fd5a2e1SPrashanth Swaminathan	Cleanup white spaces.
3661*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
3662*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
3663*1fd5a2e1SPrashanth Swaminathan	cif and userdata unused.
3664*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
3665*1fd5a2e1SPrashanth Swaminathan	Likewise.
3666*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
3667*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
3668*1fd5a2e1SPrashanth Swaminathan	formatters to silence gcc.
3669*1fd5a2e1SPrashanth Swaminathan	(B_gn): Mark cif and userdata unused.
3670*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
3671*1fd5a2e1SPrashanth Swaminathan	unused.
3672*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
3673*1fd5a2e1SPrashanth Swaminathan	(B_gn): Mark cif and userdata unused.
3674*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
3675*1fd5a2e1SPrashanth Swaminathan	unused.
3676*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
3677*1fd5a2e1SPrashanth Swaminathan	(B_gn): Mark cif and userdata unused.
3678*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
3679*1fd5a2e1SPrashanth Swaminathan	unused.
3680*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
3681*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
3682*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c (stub): Likewise.
3683*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
3684*1fd5a2e1SPrashanth Swaminathan	gcc.
3685*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
3686*1fd5a2e1SPrashanth Swaminathan	in the last commit for this test case in the test case itself.
3687*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
3688*1fd5a2e1SPrashanth Swaminathan	unused.
3689*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
3690*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
3691*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
3692*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
3693*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
3694*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
3695*1fd5a2e1SPrashanth Swaminathan
3696*1fd5a2e1SPrashanth Swaminathan2006-02-22  Kaz Kojima  <[email protected]>
3697*1fd5a2e1SPrashanth Swaminathan
3698*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S: Fix register numbers in the FDE for
3699*1fd5a2e1SPrashanth Swaminathan	ffi_closure_SYSV.
3700*1fd5a2e1SPrashanth Swaminathan
3701*1fd5a2e1SPrashanth Swaminathan2006-02-20  Andreas Tobler  <[email protected]>
3702*1fd5a2e1SPrashanth Swaminathan
3703*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
3704*1fd5a2e1SPrashanth Swaminathan	declaration to avoid a false negative on ix86. See PR323.
3705*1fd5a2e1SPrashanth Swaminathan
3706*1fd5a2e1SPrashanth Swaminathan2006-02-18  Kaz Kojima  <[email protected]>
3707*1fd5a2e1SPrashanth Swaminathan
3708*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
3709*1fd5a2e1SPrashanth Swaminathan	and cast integer to void * if needed.  Update the pointer to
3710*1fd5a2e1SPrashanth Swaminathan	the FP register saved area correctly.
3711*1fd5a2e1SPrashanth Swaminathan
3712*1fd5a2e1SPrashanth Swaminathan2006-02-17  Andreas Tobler  <[email protected]>
3713*1fd5a2e1SPrashanth Swaminathan
3714*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
3715*1fd5a2e1SPrashanth Swaminathan	is fixed.
3716*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct4.c: Likewise.
3717*1fd5a2e1SPrashanth Swaminathan
3718*1fd5a2e1SPrashanth Swaminathan2006-02-16  Andreas Tobler  <[email protected]>
3719*1fd5a2e1SPrashanth Swaminathan
3720*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_dbl.c: New test case.
3721*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_dbl1.c: Likewise.
3722*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_dbl2.c: Likewise.
3723*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl.c: Likewise.
3724*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl1.c: Likewise.
3725*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl2.c: Likewise.
3726*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_fl3.c: Likewise.
3727*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn6.c: Likewise.
3728*1fd5a2e1SPrashanth Swaminathan
3729*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
3730*1fd5a2e1SPrashanth Swaminathan	definition.
3731*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
3732*1fd5a2e1SPrashanth Swaminathan	here to be used by other test cases too.
3733*1fd5a2e1SPrashanth Swaminathan
3734*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct10.c: New test case.
3735*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct9.c: Likewise.
3736*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct8.c: Likewise.
3737*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct7.c: Likewise.
3738*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct6.c: Likewise.
3739*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct5.c: Likewise.
3740*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct4.c: Likewise.
3741*1fd5a2e1SPrashanth Swaminathan
3742*1fd5a2e1SPrashanth Swaminathan2006-01-21  Andreas Tobler  <[email protected]>
3743*1fd5a2e1SPrashanth Swaminathan
3744*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Enable libffi for sparc64-*-freebsd*.
3745*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
3746*1fd5a2e1SPrashanth Swaminathan
3747*1fd5a2e1SPrashanth Swaminathan2006-01-18  Jakub Jelinek  <[email protected]>
3748*1fd5a2e1SPrashanth Swaminathan
3749*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
3750*1fd5a2e1SPrashanth Swaminathan	instead do the shifting inline.
3751*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
3752*1fd5a2e1SPrashanth Swaminathan	shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
3753*1fd5a2e1SPrashanth Swaminathan	and 8 byte structs, for the remaining struct sizes don't call
3754*1fd5a2e1SPrashanth Swaminathan	__lshrdi3, instead do the shifting inline.
3755*1fd5a2e1SPrashanth Swaminathan
3756*1fd5a2e1SPrashanth Swaminathan2005-12-07  Thiemo Seufer  <[email protected]>
3757*1fd5a2e1SPrashanth Swaminathan
3758*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
3759*1fd5a2e1SPrashanth Swaminathan	missing parentheses.
3760*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S (ffi_call_O32): Code formatting. Define
3761*1fd5a2e1SPrashanth Swaminathan	and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
3762*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
3763*1fd5a2e1SPrashanth Swaminathan	A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
3764*1fd5a2e1SPrashanth Swaminathan	V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
3765*1fd5a2e1SPrashanth Swaminathan	FA_0_0_OFF2.
3766*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
3767*1fd5a2e1SPrashanth Swaminathan	endianness bugs.
3768*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Improve trampoline instruction scheduling.
3769*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_mips_inner_O32): Fix endianness bugs.
3770*1fd5a2e1SPrashanth Swaminathan
3771*1fd5a2e1SPrashanth Swaminathan2005-12-03  Alan Modra  <[email protected]>
3772*1fd5a2e1SPrashanth Swaminathan
3773*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Formatting.
3774*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
3775*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args64): Likewise.
3776*1fd5a2e1SPrashanth Swaminathan
3777*1fd5a2e1SPrashanth Swaminathan2005-09-30  Geoffrey Keating  <[email protected]>
3778*1fd5a2e1SPrashanth Swaminathan
3779*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
3780*1fd5a2e1SPrashanth Swaminathan	darwin, use -shared-libgcc not -lgcc_s, and explain why.
3781*1fd5a2e1SPrashanth Swaminathan
3782*1fd5a2e1SPrashanth Swaminathan2005-09-26  Tom Tromey  <[email protected]>
3783*1fd5a2e1SPrashanth Swaminathan
3784*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float1.c (value_type): New typedef.
3785*1fd5a2e1SPrashanth Swaminathan	(CANARY): New define.
3786*1fd5a2e1SPrashanth Swaminathan	(main): Check for result buffer overflow.
3787*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Handle linux64 long double returns.
3788*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
3789*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle linux64 long double returns.
3790*1fd5a2e1SPrashanth Swaminathan
3791*1fd5a2e1SPrashanth Swaminathan2005-08-25  Alan Modra  <[email protected]>
3792*1fd5a2e1SPrashanth Swaminathan
3793*1fd5a2e1SPrashanth Swaminathan	PR target/23404
3794*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
3795*1fd5a2e1SPrashanth Swaminathan	homed fp args.
3796*1fd5a2e1SPrashanth Swaminathan	(ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
3797*1fd5a2e1SPrashanth Swaminathan
3798*1fd5a2e1SPrashanth Swaminathan2005-08-11  Jakub Jelinek  <[email protected]>
3799*1fd5a2e1SPrashanth Swaminathan
3800*1fd5a2e1SPrashanth Swaminathan	* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
3801*1fd5a2e1SPrashanth Swaminathan	(AH_BOTTOM): Add FFI_HIDDEN definition.
3802*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
3803*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
3804*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (hidden): Remove.
3805*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
3806*1fd5a2e1SPrashanth Swaminathan	ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
3807*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
3808*1fd5a2e1SPrashanth Swaminathan	.ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
3809*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
3810*1fd5a2e1SPrashanth Swaminathan	add FFI_HIDDEN to its prototype.
3811*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_SYSV_inner): New.
3812*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3813*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3814*1fd5a2e1SPrashanth Swaminathan
3815*1fd5a2e1SPrashanth Swaminathan2005-08-10  Alfred M. Szmidt  <[email protected]>
3816*1fd5a2e1SPrashanth Swaminathan
3817*1fd5a2e1SPrashanth Swaminathan	PR libffi/21819:
3818*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
3819*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Handle i*86-*-gnu*.
3820*1fd5a2e1SPrashanth Swaminathan
3821*1fd5a2e1SPrashanth Swaminathan2005-08-09  Jakub Jelinek  <[email protected]>
3822*1fd5a2e1SPrashanth Swaminathan
3823*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
3824*1fd5a2e1SPrashanth Swaminathan	DW_CFA_offset_extended_sf rather than
3825*1fd5a2e1SPrashanth Swaminathan	DW_CFA_GNU_negative_offset_extended.
3826*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
3827*1fd5a2e1SPrashanth Swaminathan
3828*1fd5a2e1SPrashanth Swaminathan2005-07-22  SUGIOKA Toshinobu  <[email protected]>
3829*1fd5a2e1SPrashanth Swaminathan
3830*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
3831*1fd5a2e1SPrashanth Swaminathan	on sh3.
3832*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
3833*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
3834*1fd5a2e1SPrashanth Swaminathan	partially on register.
3835*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
3836*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Don't set too many cif->flags.
3837*1fd5a2e1SPrashanth Swaminathan
3838*1fd5a2e1SPrashanth Swaminathan2005-07-20  Kaz Kojima  <[email protected]>
3839*1fd5a2e1SPrashanth Swaminathan
3840*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_call): Handle small structures correctly.
3841*1fd5a2e1SPrashanth Swaminathan	Remove empty line.
3842*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c (simple_type): Remove.
3843*1fd5a2e1SPrashanth Swaminathan	(return_type): Handle small structures correctly.
3844*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Likewise.
3845*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Likewise.
3846*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
3847*1fd5a2e1SPrashanth Swaminathan	* src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
3848*1fd5a2e1SPrashanth Swaminathan	Emit position independent code if PIC and remove wrong datalabel
3849*1fd5a2e1SPrashanth Swaminathan	prefixes from EH data.
3850*1fd5a2e1SPrashanth Swaminathan
3851*1fd5a2e1SPrashanth Swaminathan2005-07-19  Andreas Tobler  <[email protected]>
3852*1fd5a2e1SPrashanth Swaminathan
3853*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
3854*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
3855*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Likewise.
3856*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
3857*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add POWERPC_FREEBSD rules.
3858*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3859*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
3860*1fd5a2e1SPrashanth Swaminathan	(FFI_SYSV_TYPE_SMALL_STRUCT): Define.
3861*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Add flags to handle small structure returns
3862*1fd5a2e1SPrashanth Swaminathan	in ffi_call_SYSV.
3863*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
3864*1fd5a2e1SPrashanth Swaminathan	Aka FFI_SYSV.
3865*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
3866*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Add return types for small structures.
3867*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Add bits to handle small structures for
3868*1fd5a2e1SPrashanth Swaminathan	final SYSV 4 ABI.
3869*1fd5a2e1SPrashanth Swaminathan
3870*1fd5a2e1SPrashanth Swaminathan2005-07-10  Andreas Tobler  <[email protected]>
3871*1fd5a2e1SPrashanth Swaminathan
3872*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5_1_byte.c: New test file.
3873*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
3874*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
3875*1fd5a2e1SPrashanth Swaminathan
3876*1fd5a2e1SPrashanth Swaminathan2005-07-05  Randolph Chung  <[email protected]>
3877*1fd5a2e1SPrashanth Swaminathan
3878*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
3879*1fd5a2e1SPrashanth Swaminathan	as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
3880*1fd5a2e1SPrashanth Swaminathan	structures.  Kill compilation warnings.
3881*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_inner_LINUX): Print return values as hex in debug
3882*1fd5a2e1SPrashanth Swaminathan	message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
3883*1fd5a2e1SPrashanth Swaminathan	Properly handle 5-7 byte structure returns.
3884*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
3885*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT2): Remove.
3886*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
3887*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
3888*1fd5a2e1SPrashanth Swaminathan	* src/pa/linux.S: Mark source file as using PA1.1 assembly.
3889*1fd5a2e1SPrashanth Swaminathan	(checksmst1, checksmst2): Remove.
3890*1fd5a2e1SPrashanth Swaminathan	(checksmst3): Optimize handling of 3-byte struct returns.
3891*1fd5a2e1SPrashanth Swaminathan	(checksmst567): Properly handle 5-7 byte struct returns.
3892*1fd5a2e1SPrashanth Swaminathan
3893*1fd5a2e1SPrashanth Swaminathan2005-06-15  Rainer Orth  <[email protected]>
3894*1fd5a2e1SPrashanth Swaminathan
3895*1fd5a2e1SPrashanth Swaminathan	PR libgcj/21943
3896*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Enforce PIC code.
3897*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S: Likewise.
3898*1fd5a2e1SPrashanth Swaminathan
3899*1fd5a2e1SPrashanth Swaminathan2005-06-15  Rainer Orth  <[email protected]>
3900*1fd5a2e1SPrashanth Swaminathan
3901*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
3902*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3903*1fd5a2e1SPrashanth Swaminathan
3904*1fd5a2e1SPrashanth Swaminathan2005-06-01  Alan Modra  <[email protected]>
3905*1fd5a2e1SPrashanth Swaminathan
3906*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
3907*1fd5a2e1SPrashanth Swaminathan	to call ffi_closure_helper_SYSV.  Append @local instead.
3908*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
3909*1fd5a2e1SPrashanth Swaminathan
3910*1fd5a2e1SPrashanth Swaminathan2005-05-17  Kelley Cook  <[email protected]>
3911*1fd5a2e1SPrashanth Swaminathan
3912*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3913*1fd5a2e1SPrashanth Swaminathan	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3914*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
3915*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure, fficonfig.h.in, Makefile.in,
3916*1fd5a2e1SPrashanth Swaminathan	include/Makefile.in, testsuite/Makefile.in: Regenerate.
3917*1fd5a2e1SPrashanth Swaminathan
3918*1fd5a2e1SPrashanth Swaminathan2005-05-09  Mike Stump  <[email protected]>
3919*1fd5a2e1SPrashanth Swaminathan
3920*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3921*1fd5a2e1SPrashanth Swaminathan
3922*1fd5a2e1SPrashanth Swaminathan2005-05-08  Richard Henderson  <[email protected]>
3923*1fd5a2e1SPrashanth Swaminathan
3924*1fd5a2e1SPrashanth Swaminathan	PR libffi/21285
3925*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Update unwind into to match code.
3926*1fd5a2e1SPrashanth Swaminathan
3927*1fd5a2e1SPrashanth Swaminathan2005-05-04  Andreas Degert <[email protected]>
3928*1fd5a2e1SPrashanth Swaminathan	    Richard Henderson  <[email protected]>
3929*1fd5a2e1SPrashanth Swaminathan
3930*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
3931*1fd5a2e1SPrashanth Swaminathan	bit 11 of flags.
3932*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
3933*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Set carry bit if sse-used flag set.
3934*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3935*1fd5a2e1SPrashanth Swaminathan	Only load sse registers if ssecount non-zero.
3936*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_unix64): Only save sse registers if carry set on entry.
3937*1fd5a2e1SPrashanth Swaminathan
3938*1fd5a2e1SPrashanth Swaminathan2005-04-29  Ralf Corsepius  <[email protected]>
3939*1fd5a2e1SPrashanth Swaminathan
3940*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3941*1fd5a2e1SPrashanth Swaminathan	powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3942*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3943*1fd5a2e1SPrashanth Swaminathan
3944*1fd5a2e1SPrashanth Swaminathan2005-04-20  Hans-Peter Nilsson  <[email protected]>
3945*1fd5a2e1SPrashanth Swaminathan
3946*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3947*1fd5a2e1SPrashanth Swaminathan	have Tcl8.3-compatible intermediate variable.
3948*1fd5a2e1SPrashanth Swaminathan
3949*1fd5a2e1SPrashanth Swaminathan2005-04-18  Simon Posnjak <[email protected]>
3950*1fd5a2e1SPrashanth Swaminathan	    Hans-Peter Nilsson  <[email protected]>
3951*1fd5a2e1SPrashanth Swaminathan
3952*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add CRIS support.
3953*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Likewise.
3954*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, configure, testsuite/Makefile.in,
3955*1fd5a2e1SPrashanth Swaminathan	include/Makefile.in: Regenerate.
3956*1fd5a2e1SPrashanth Swaminathan	* src/cris: New directory.
3957*1fd5a2e1SPrashanth Swaminathan	* src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3958*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
3959*1fd5a2e1SPrashanth Swaminathan
3960*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3961*1fd5a2e1SPrashanth Swaminathan	\r?\n in output tests.
3962*1fd5a2e1SPrashanth Swaminathan
3963*1fd5a2e1SPrashanth Swaminathan2005-04-12  Mike Stump  <[email protected]>
3964*1fd5a2e1SPrashanth Swaminathan
3965*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
3966*1fd5a2e1SPrashanth Swaminathan
3967*1fd5a2e1SPrashanth Swaminathan2005-03-30  Hans Boehm  <[email protected]>
3968*1fd5a2e1SPrashanth Swaminathan
3969*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
3970*1fd5a2e1SPrashanth Swaminathan
3971*1fd5a2e1SPrashanth Swaminathan2005-03-30  Steve Ellcey  <[email protected]>
3972*1fd5a2e1SPrashanth Swaminathan
3973*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3974*1fd5a2e1SPrashanth Swaminathan	(ffi_sarg) Ditto.
3975*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S (ffi_closure_unix): Extend gp
3976*1fd5a2e1SPrashanth Swaminathan	to 64 bits in ILP32 mode.
3977*1fd5a2e1SPrashanth Swaminathan	Load 64 bits even for short data.
3978*1fd5a2e1SPrashanth Swaminathan
3979*1fd5a2e1SPrashanth Swaminathan2005-03-23  Mike Stump  <[email protected]>
3980*1fd5a2e1SPrashanth Swaminathan
3981*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Update for -m64 multilib.
3982*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
3983*1fd5a2e1SPrashanth Swaminathan
3984*1fd5a2e1SPrashanth Swaminathan2005-03-21  Zack Weinberg  <[email protected]>
3985*1fd5a2e1SPrashanth Swaminathan
3986*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
3987*1fd5a2e1SPrashanth Swaminathan	Do not set tool_include_dir.
3988*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3989*1fd5a2e1SPrashanth Swaminathan	Regenerate.
3990*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.am: Set gcc_version and toollibffidir.
3991*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
3992*1fd5a2e1SPrashanth Swaminathan
3993*1fd5a2e1SPrashanth Swaminathan2005-02-22  Andrew Haley  <[email protected]>
3994*1fd5a2e1SPrashanth Swaminathan
3995*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3996*1fd5a2e1SPrashanth Swaminathan	odd-numbered register pairs for 64-bit integer types.
3997*1fd5a2e1SPrashanth Swaminathan
3998*1fd5a2e1SPrashanth Swaminathan2005-02-23  Andreas Tobler  <[email protected]>
3999*1fd5a2e1SPrashanth Swaminathan
4000*1fd5a2e1SPrashanth Swaminathan	PR libffi/20104
4001*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ll1.c: New test case.
4002*1fd5a2e1SPrashanth Swaminathan
4003*1fd5a2e1SPrashanth Swaminathan2005-02-11  Janis Johnson  <[email protected]>
4004*1fd5a2e1SPrashanth Swaminathan
4005*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
4006*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float.c: Ditto.
4007*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float2.c: Ditto.
4008*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float3.c: Ditto.
4009*1fd5a2e1SPrashanth Swaminathan
4010*1fd5a2e1SPrashanth Swaminathan2005-02-08  Andreas Tobler  <[email protected]>
4011*1fd5a2e1SPrashanth Swaminathan
4012*1fd5a2e1SPrashanth Swaminathan	* src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
4013*1fd5a2e1SPrashanth Swaminathan
4014*1fd5a2e1SPrashanth Swaminathan2005-01-12  Eric Botcazou  <[email protected]>
4015*1fd5a2e1SPrashanth Swaminathan
4016*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/special.exp (cxx_options): Add
4017*1fd5a2e1SPrashanth Swaminathan	-shared-libgcc.
4018*1fd5a2e1SPrashanth Swaminathan
4019*1fd5a2e1SPrashanth Swaminathan2004-12-31  Richard Henderson  <[email protected]>
4020*1fd5a2e1SPrashanth Swaminathan
4021*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
4022*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
4023*1fd5a2e1SPrashanth Swaminathan	offset parameters with a type parameter; deduce size and structure
4024*1fd5a2e1SPrashanth Swaminathan	alignment.  Update all users.
4025*1fd5a2e1SPrashanth Swaminathan
4026*1fd5a2e1SPrashanth Swaminathan2004-12-31  Richard Henderson  <[email protected]>
4027*1fd5a2e1SPrashanth Swaminathan
4028*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_TYPE_POINTER): Define with sizeof.
4029*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_LONGDOUBLE): Fix for ia64.
4030*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
4031*1fd5a2e1SPrashanth Swaminathan	into ffi_prep_closure.
4032*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
4033*1fd5a2e1SPrashanth Swaminathan	from scratch.
4034*1fd5a2e1SPrashanth Swaminathan
4035*1fd5a2e1SPrashanth Swaminathan2004-12-27  Richard Henderson  <[email protected]>
4036*1fd5a2e1SPrashanth Swaminathan
4037*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: Fix typo in unwind info.
4038*1fd5a2e1SPrashanth Swaminathan
4039*1fd5a2e1SPrashanth Swaminathan2004-12-25  Richard Henderson  <[email protected]>
4040*1fd5a2e1SPrashanth Swaminathan
4041*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (struct register_args): Rename from stackLayout.
4042*1fd5a2e1SPrashanth Swaminathan	(enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
4043*1fd5a2e1SPrashanth Swaminathan	(merge_classes): Check for it.
4044*1fd5a2e1SPrashanth Swaminathan	(SSE_CLASS_P): New.
4045*1fd5a2e1SPrashanth Swaminathan	(classify_argument): Pass byte_offset by value; perform all updates
4046*1fd5a2e1SPrashanth Swaminathan	inside struct case.
4047*1fd5a2e1SPrashanth Swaminathan	(examine_argument): Add classes argument; handle
4048*1fd5a2e1SPrashanth Swaminathan	X86_64_COMPLEX_X87_CLASS.
4049*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Merge into ...
4050*1fd5a2e1SPrashanth Swaminathan	(ffi_call): ... here.  Share stack frame with ffi_call_unix64.
4051*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
4052*1fd5a2e1SPrashanth Swaminathan	(ffi_fill_return_value): Remove.
4053*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Remove dead assert.
4054*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
4055*1fd5a2e1SPrashanth Swaminathan	Rewrite to use struct register_args instead of va_list.  Create
4056*1fd5a2e1SPrashanth Swaminathan	flags for handling structure returns.
4057*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: Remove dead strings.
4058*1fd5a2e1SPrashanth Swaminathan	(ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
4059*1fd5a2e1SPrashanth Swaminathan	stack frame with ffi_call.  Handle structure returns properly.
4060*1fd5a2e1SPrashanth Swaminathan	(float2sse, floatfloat2sse, double2sse): Remove.
4061*1fd5a2e1SPrashanth Swaminathan	(sse2float, sse2double, sse2floatfloat): Remove.
4062*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
4063*1fd5a2e1SPrashanth Swaminathan	to handle structure returns properly.
4064*1fd5a2e1SPrashanth Swaminathan
4065*1fd5a2e1SPrashanth Swaminathan2004-12-08  David Edelsohn  <[email protected]>
4066*1fd5a2e1SPrashanth Swaminathan
4067*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
4068*1fd5a2e1SPrashanth Swaminathan	PICFLAG.
4069*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
4070*1fd5a2e1SPrashanth Swaminathan
4071*1fd5a2e1SPrashanth Swaminathan2004-12-02  Richard Sandiford  <[email protected]>
4072*1fd5a2e1SPrashanth Swaminathan
4073*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
4074*1fd5a2e1SPrashanth Swaminathan	* configure, aclocal.m4, Makefile.in: Regenerate.
4075*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in, testsuite/Makefile.in: Regenerate.
4076*1fd5a2e1SPrashanth Swaminathan
4077*1fd5a2e1SPrashanth Swaminathan2004-11-29  Kelley Cook  <[email protected]>
4078*1fd5a2e1SPrashanth Swaminathan
4079*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate for libtool change.
4080*1fd5a2e1SPrashanth Swaminathan
4081*1fd5a2e1SPrashanth Swaminathan2004-11-25  Kelley Cook  <[email protected]>
4082*1fd5a2e1SPrashanth Swaminathan
4083*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate for libtool reversion.
4084*1fd5a2e1SPrashanth Swaminathan
4085*1fd5a2e1SPrashanth Swaminathan2004-11-24  Kelley Cook  <[email protected]>
4086*1fd5a2e1SPrashanth Swaminathan
4087*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate for libtool change.
4088*1fd5a2e1SPrashanth Swaminathan
4089*1fd5a2e1SPrashanth Swaminathan2004-11-23  John David Anglin  <[email protected]>
4090*1fd5a2e1SPrashanth Swaminathan
4091*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
4092*1fd5a2e1SPrashanth Swaminathan
4093*1fd5a2e1SPrashanth Swaminathan2004-11-23  Richard Sandiford  <[email protected]>
4094*1fd5a2e1SPrashanth Swaminathan
4095*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
4096*1fd5a2e1SPrashanth Swaminathan	of jal.  Use an absolute encoding for the frame information.
4097*1fd5a2e1SPrashanth Swaminathan
4098*1fd5a2e1SPrashanth Swaminathan2004-11-23  Kelley Cook  <[email protected]>
4099*1fd5a2e1SPrashanth Swaminathan
4100*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
4101*1fd5a2e1SPrashanth Swaminathan	* acinclude.m4: Delete logic for sincludes.
4102*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, Makefile.in, configure: Regenerate.
4103*1fd5a2e1SPrashanth Swaminathan	* include/Makefile: Likewise.
4104*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile: Likewise.
4105*1fd5a2e1SPrashanth Swaminathan
4106*1fd5a2e1SPrashanth Swaminathan2004-11-22  Eric Botcazou  <[email protected]>
4107*1fd5a2e1SPrashanth Swaminathan
4108*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
4109*1fd5a2e1SPrashanth Swaminathan	on a 8-byte boundary.
4110*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
4111*1fd5a2e1SPrashanth Swaminathan
4112*1fd5a2e1SPrashanth Swaminathan2004-10-27  Richard Earnshaw  <[email protected]>
4113*1fd5a2e1SPrashanth Swaminathan
4114*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
4115*1fd5a2e1SPrashanth Swaminathan	long long values.  Round stack allocation to a multiple of 8 bytes
4116*1fd5a2e1SPrashanth Swaminathan	for ATPCS compatibility.
4117*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
4118*1fd5a2e1SPrashanth Swaminathan	names.  Handle returning long long types.  Add Thumb and interworking
4119*1fd5a2e1SPrashanth Swaminathan	support.  Improve soft-float code.
4120*1fd5a2e1SPrashanth Swaminathan
4121*1fd5a2e1SPrashanth Swaminathan2004-10-27  Richard Earnshaw  <[email protected]>
4122*1fd5a2e1SPrashanth Swaminathan
4123*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
4124*1fd5a2e1SPrashanth Swaminathan	(libffi_exit): New function.
4125*1fd5a2e1SPrashanth Swaminathan	(libffi_init): Build the testglue wrapper if needed.
4126*1fd5a2e1SPrashanth Swaminathan
4127*1fd5a2e1SPrashanth Swaminathan2004-10-25  Eric Botcazou  <[email protected]>
4128*1fd5a2e1SPrashanth Swaminathan
4129*1fd5a2e1SPrashanth Swaminathan	PR other/18138
4130*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
4131*1fd5a2e1SPrashanth Swaminathan
4132*1fd5a2e1SPrashanth Swaminathan2004-10-25  Kazuhiro Inaoka <[email protected]>
4133*1fd5a2e1SPrashanth Swaminathan
4134*1fd5a2e1SPrashanth Swaminathan	* src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
4135*1fd5a2e1SPrashanth Swaminathan
4136*1fd5a2e1SPrashanth Swaminathan2004-10-20  Kaz Kojima  <[email protected]>
4137*1fd5a2e1SPrashanth Swaminathan
4138*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
4139*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float3.c: New test case.
4140*1fd5a2e1SPrashanth Swaminathan
4141*1fd5a2e1SPrashanth Swaminathan2004-10-18  Kaz Kojima  <[email protected]>
4142*1fd5a2e1SPrashanth Swaminathan
4143*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
4144*1fd5a2e1SPrashanth Swaminathan	the function returning a structure pointed with R2.
4145*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
4146*1fd5a2e1SPrashanth Swaminathan	the structure return value if T bit set.  Emit position
4147*1fd5a2e1SPrashanth Swaminathan	independent code and EH data if PIC.
4148*1fd5a2e1SPrashanth Swaminathan
4149*1fd5a2e1SPrashanth Swaminathan2004-10-13  Kazuhiro Inaoka  <[email protected]>
4150*1fd5a2e1SPrashanth Swaminathan
4151*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add m32r support.
4152*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Likewise.
4153*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4154*1fd5a2e1SPrashanth Swaminathan	* confiugre: Regenerate.
4155*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
4156*1fd5a2e1SPrashanth Swaminathan	(uint64, sint64, double, longdouble)
4157*1fd5a2e1SPrashanth Swaminathan	* src/m32r: New directory.
4158*1fd5a2e1SPrashanth Swaminathan	* src/m32r/ffi.c: New file.
4159*1fd5a2e1SPrashanth Swaminathan	* src/m32r/sysv.S: Likewise.
4160*1fd5a2e1SPrashanth Swaminathan	* src/m32r/ffitarget.h: Likewise.
4161*1fd5a2e1SPrashanth Swaminathan
4162*1fd5a2e1SPrashanth Swaminathan2004-10-02  Kaz Kojima  <[email protected]>
4163*1fd5a2e1SPrashanth Swaminathan
4164*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/negint.c: New test case.
4165*1fd5a2e1SPrashanth Swaminathan
4166*1fd5a2e1SPrashanth Swaminathan2004-09-14  H.J. Lu  <[email protected]>
4167*1fd5a2e1SPrashanth Swaminathan
4168*1fd5a2e1SPrashanth Swaminathan	PR libgcj/17465
4169*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
4170*1fd5a2e1SPrashanth Swaminathan	Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
4171*1fd5a2e1SPrashanth Swaminathan	LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
4172*1fd5a2e1SPrashanth Swaminathan	DYLD_LIBRARY_PATH.
4173*1fd5a2e1SPrashanth Swaminathan
4174*1fd5a2e1SPrashanth Swaminathan2004-09-05  Andreas Tobler  <[email protected]>
4175*1fd5a2e1SPrashanth Swaminathan
4176*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c: Remove whitespaces.
4177*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/promotion.c: Likewise.
4178*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
4179*1fd5a2e1SPrashanth Swaminathan	whitespaces.
4180*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sc.c: Likewise.
4181*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_uc.c: Likewise.
4182*1fd5a2e1SPrashanth Swaminathan
4183*1fd5a2e1SPrashanth Swaminathan2004-09-05  Andreas Tobler  <[email protected]>
4184*1fd5a2e1SPrashanth Swaminathan
4185*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Fix comments and identation.
4186*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
4187*1fd5a2e1SPrashanth Swaminathan
4188*1fd5a2e1SPrashanth Swaminathan2004-09-02  Andreas Tobler  <[email protected]>
4189*1fd5a2e1SPrashanth Swaminathan
4190*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
4191*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Handle longdouble arguments.
4192*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
4193*1fd5a2e1SPrashanth Swaminathan	longdouble.
4194*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_DARWIN): Add closure handling for longdouble.
4195*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
4196*1fd5a2e1SPrashanth Swaminathan	values.
4197*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
4198*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Defined longdouble size and alignment for darwin.
4199*1fd5a2e1SPrashanth Swaminathan
4200*1fd5a2e1SPrashanth Swaminathan2004-09-02  Andreas Tobler  <[email protected]>
4201*1fd5a2e1SPrashanth Swaminathan
4202*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S: Remove whitespaces.
4203*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Likewise.
4204*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/asm.h: Likewise.
4205*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c: Likewise.
4206*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffitarget.h: Likewise.
4207*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Likewise.
4208*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Likewise.
4209*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Likewise.
4210*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Likewise.
4211*1fd5a2e1SPrashanth Swaminathan
4212*1fd5a2e1SPrashanth Swaminathan2004-08-30  Anthony Green  <[email protected]>
4213*1fd5a2e1SPrashanth Swaminathan
4214*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add frv support.
4215*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, testsuite/Makefile.in: Rebuilt.
4216*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Read configure.host.
4217*1fd5a2e1SPrashanth Swaminathan	* configure.in: Read configure.host.
4218*1fd5a2e1SPrashanth Swaminathan	* configure.host: New file.  frv-elf needs libgloss.
4219*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Force ffi_closure to have a nice big (8)
4220*1fd5a2e1SPrashanth Swaminathan	alignment.  This is needed to frv and shouldn't harm the others.
4221*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h (ALIGN_DOWN): New macro.
4222*1fd5a2e1SPrashanth Swaminathan	* src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
4223*1fd5a2e1SPrashanth Swaminathan
4224*1fd5a2e1SPrashanth Swaminathan2004-08-24  David Daney  <[email protected]>
4225*1fd5a2e1SPrashanth Swaminathan
4226*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
4227*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c: Likewise.
4228*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c  Likewise.
4229*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c: Likewise.
4230*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c: Likewise.
4231*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c: Likewise.
4232*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c: Likewise.
4233*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c: Likewise.
4234*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4235*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
4236*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c: Likewise.
4237*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
4238*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
4239*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4240*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
4241*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
4242*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4243*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
4244*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c: Likewise.
4245*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
4246*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
4247*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
4248*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c: Likewise.
4249*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c: Likewise.
4250*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_double.c: Likewise.
4251*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_float.c: Likewise.
4252*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4253*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
4254*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
4255*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
4256*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
4257*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
4258*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
4259*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
4260*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Likewise.
4261*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c: Likewise.
4262*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
4263*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshort.c: Likewise.
4264*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4265*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4266*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4267*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4268*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_schar.c: Likewise.
4269*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c: Likewise.
4270*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c: Likewise.
4271*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
4272*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
4273*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4274*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
4275*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c: Likewise.
4276*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c: Likewise.
4277*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c: Likewise.
4278*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct3.c: Likewise.
4279*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c: Likewise.
4280*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Likewise.
4281*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Likewise and set return value
4282*1fd5a2e1SPrashanth Swaminathan	to zero.
4283*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
4284*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
4285*1fd5a2e1SPrashanth Swaminathan
4286*1fd5a2e1SPrashanth Swaminathan2004-08-23  David Daney <[email protected]>
4287*1fd5a2e1SPrashanth Swaminathan
4288*1fd5a2e1SPrashanth Swaminathan	PR libgcj/13141
4289*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
4290*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
4291*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
4292*1fd5a2e1SPrashanth Swaminathan	parameters and return types.
4293*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
4294*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Ditto.
4295*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
4296*1fd5a2e1SPrashanth Swaminathan	alignment calculations.
4297*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S (ffi_closure_O32): Don't use floating point
4298*1fd5a2e1SPrashanth Swaminathan	instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
4299*1fd5a2e1SPrashanth Swaminathan
4300*1fd5a2e1SPrashanth Swaminathan2004-08-14  Casey Marshall <[email protected]>
4301*1fd5a2e1SPrashanth Swaminathan
4302*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
4303*1fd5a2e1SPrashanth Swaminathan	contain `FFI_TYPE_UINT64' as return type for any 64-bit
4304*1fd5a2e1SPrashanth Swaminathan	integer (O32 ABI only).
4305*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): new function.
4306*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_mips_inner_O32): new function.
4307*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Define `FFI_CLOSURES' and
4308*1fd5a2e1SPrashanth Swaminathan	`FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
4309*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
4310*1fd5a2e1SPrashanth Swaminathan	64 bit integers correctly.
4311*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_O32): new function.
4312*1fd5a2e1SPrashanth Swaminathan	Added DWARF-2 unwind info for both functions.
4313*1fd5a2e1SPrashanth Swaminathan
4314*1fd5a2e1SPrashanth Swaminathan2004-08-10  Andrew Haley  <[email protected]>
4315*1fd5a2e1SPrashanth Swaminathan
4316*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
4317*1fd5a2e1SPrashanth Swaminathan
4318*1fd5a2e1SPrashanth Swaminathan2004-08-01  Robert Millan  <[email protected]>
4319*1fd5a2e1SPrashanth Swaminathan
4320*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
4321*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4322*1fd5a2e1SPrashanth Swaminathan
4323*1fd5a2e1SPrashanth Swaminathan2004-07-30  Maciej W. Rozycki  <[email protected]>
4324*1fd5a2e1SPrashanth Swaminathan
4325*1fd5a2e1SPrashanth Swaminathan	* acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
4326*1fd5a2e1SPrashanth Swaminathan	and mmap() explicitly instead of relying on preset autoconf cache
4327*1fd5a2e1SPrashanth Swaminathan	variables.
4328*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate.
4329*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4330*1fd5a2e1SPrashanth Swaminathan
4331*1fd5a2e1SPrashanth Swaminathan2004-07-11  Ulrich Weigand  <[email protected]>
4332*1fd5a2e1SPrashanth Swaminathan
4333*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
4334*1fd5a2e1SPrashanth Swaminathan	(ffi_check_float_struct): Remove unused prototype.
4335*1fd5a2e1SPrashanth Swaminathan
4336*1fd5a2e1SPrashanth Swaminathan2004-06-30  Geoffrey Keating  <[email protected]>
4337*1fd5a2e1SPrashanth Swaminathan
4338*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
4339*1fd5a2e1SPrashanth Swaminathan	character on Darwin, use '\n\t' instead.
4340*1fd5a2e1SPrashanth Swaminathan
4341*1fd5a2e1SPrashanth Swaminathan2004-06-26  Matthias Klose  <[email protected]>
4342*1fd5a2e1SPrashanth Swaminathan
4343*1fd5a2e1SPrashanth Swaminathan	* libtool-version: Fix typo in revision/age.
4344*1fd5a2e1SPrashanth Swaminathan
4345*1fd5a2e1SPrashanth Swaminathan2004-06-17  Matthias Klose  <[email protected]>
4346*1fd5a2e1SPrashanth Swaminathan
4347*1fd5a2e1SPrashanth Swaminathan	* libtool-version: New.
4348*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
4349*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4350*1fd5a2e1SPrashanth Swaminathan
4351*1fd5a2e1SPrashanth Swaminathan2004-06-15  Paolo Bonzini  <[email protected]>
4352*1fd5a2e1SPrashanth Swaminathan
4353*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Remove useless multilib rules.
4354*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4355*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Regenerate with automake 1.8.5.
4356*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Remove useless multilib configury.
4357*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4358*1fd5a2e1SPrashanth Swaminathan
4359*1fd5a2e1SPrashanth Swaminathan2004-06-15  Paolo Bonzini  <[email protected]>
4360*1fd5a2e1SPrashanth Swaminathan
4361*1fd5a2e1SPrashanth Swaminathan	* .cvsignore: New file.
4362*1fd5a2e1SPrashanth Swaminathan
4363*1fd5a2e1SPrashanth Swaminathan2004-06-10  Jakub Jelinek  <[email protected]>
4364*1fd5a2e1SPrashanth Swaminathan
4365*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
4366*1fd5a2e1SPrashanth Swaminathan	fp_done.
4367*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
4368*1fd5a2e1SPrashanth Swaminathan	changed from 8.
4369*1fd5a2e1SPrashanth Swaminathan
4370*1fd5a2e1SPrashanth Swaminathan2004-06-06  Sean McNeil  <[email protected]>
4371*1fd5a2e1SPrashanth Swaminathan
4372*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add x86_64-*-freebsd* support.
4373*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4374*1fd5a2e1SPrashanth Swaminathan
4375*1fd5a2e1SPrashanth Swaminathan2004-04-26  Joe Buck <[email protected]>
4376*1fd5a2e1SPrashanth Swaminathan
4377*1fd5a2e1SPrashanth Swaminathan	Bug 15093
4378*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Test for existence of mmap and sys/mman.h before
4379*1fd5a2e1SPrashanth Swaminathan	checking blacklist.  Fix suggested by Jim Wilson.
4380*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4381*1fd5a2e1SPrashanth Swaminathan
4382*1fd5a2e1SPrashanth Swaminathan2004-04-26  Matt Austern  <[email protected]>
4383*1fd5a2e1SPrashanth Swaminathan
4384*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Go through a non-lazy pointer for initial
4385*1fd5a2e1SPrashanth Swaminathan	FDE location.
4386*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
4387*1fd5a2e1SPrashanth Swaminathan
4388*1fd5a2e1SPrashanth Swaminathan2004-04-24  Andreas Tobler  <[email protected]>
4389*1fd5a2e1SPrashanth Swaminathan
4390*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
4391*1fd5a2e1SPrashanth Swaminathan	error. Reported by Thomas Heller <[email protected]>.
4392*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
4393*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
4394*1fd5a2e1SPrashanth Swaminathan
4395*1fd5a2e1SPrashanth Swaminathan2004-03-20  Matthias Klose  <[email protected]>
4396*1fd5a2e1SPrashanth Swaminathan
4397*1fd5a2e1SPrashanth Swaminathan	* src/pa/linux.S: Fix typo.
4398*1fd5a2e1SPrashanth Swaminathan
4399*1fd5a2e1SPrashanth Swaminathan2004-03-19  Matthias Klose  <[email protected]>
4400*1fd5a2e1SPrashanth Swaminathan
4401*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Update.
4402*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4403*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.h.in: Remove.
4404*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffitarget.h: New file.
4405*1fd5a2e1SPrashanth Swaminathan
4406*1fd5a2e1SPrashanth Swaminathan2004-02-10  Randolph Chung  <[email protected]>
4407*1fd5a2e1SPrashanth Swaminathan
4408*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add PA support.
4409*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4410*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
4411*1fd5a2e1SPrashanth Swaminathan	* configure.ac: Add PA target.
4412*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4413*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.c: New file.
4414*1fd5a2e1SPrashanth Swaminathan	* src/pa/ffi.h.in: Add PA support.
4415*1fd5a2e1SPrashanth Swaminathan	* src/pa/linux.S: New file.
4416*1fd5a2e1SPrashanth Swaminathan	* prep_cif.c: Add PA support.
4417*1fd5a2e1SPrashanth Swaminathan
4418*1fd5a2e1SPrashanth Swaminathan2004-03-16  Hosaka Yuji  <[email protected]>
4419*1fd5a2e1SPrashanth Swaminathan
4420*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Fix alignment size of X86_WIN32 case int64 and
4421*1fd5a2e1SPrashanth Swaminathan	double.
4422*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
4423*1fd5a2e1SPrashanth Swaminathan	with ecif->cif->flags.
4424*1fd5a2e1SPrashanth Swaminathan	(ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
4425*1fd5a2e1SPrashanth Swaminathan	with cif->flags.
4426*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Add X86_WIN32 struct case.
4427*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
4428*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
4429*1fd5a2e1SPrashanth Swaminathan	sc_retstruct2b): Add for 1 or 2-bytes struct case.
4430*1fd5a2e1SPrashanth Swaminathan
4431*1fd5a2e1SPrashanth Swaminathan2004-03-15 Kelley Cook <[email protected]>
4432*1fd5a2e1SPrashanth Swaminathan
4433*1fd5a2e1SPrashanth Swaminathan	* configure.in: Rename file to ...
4434*1fd5a2e1SPrashanth Swaminathan	* configure.ac: ... this.
4435*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
4436*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
4437*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
4438*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Regenerate.
4439*1fd5a2e1SPrashanth Swaminathan
4440*1fd5a2e1SPrashanth Swaminathan2004-03-12  Matt Austern  <[email protected]>
4441*1fd5a2e1SPrashanth Swaminathan
4442*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Fix EH information so it corresponds to
4443*1fd5a2e1SPrashanth Swaminathan	changes in EH format resulting from addition of linkonce support.
4444*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
4445*1fd5a2e1SPrashanth Swaminathan
4446*1fd5a2e1SPrashanth Swaminathan2004-03-11  Andreas Tobler  <[email protected]>
4447*1fd5a2e1SPrashanth Swaminathan	    Paolo Bonzini  <[email protected]>
4448*1fd5a2e1SPrashanth Swaminathan
4449*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (AUTOMAKE_OPTIONS): Set them.
4450*1fd5a2e1SPrashanth Swaminathan	Remove VPATH. Remove rules for object files. Remove multilib support.
4451*1fd5a2e1SPrashanth Swaminathan	(AM_CCASFLAGS): Add.
4452*1fd5a2e1SPrashanth Swaminathan	* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
4453*1fd5a2e1SPrashanth Swaminathan	(AC_PREREQ): Bump version to 2.59.
4454*1fd5a2e1SPrashanth Swaminathan	(AC_INIT): Fill with version info and bug address.
4455*1fd5a2e1SPrashanth Swaminathan	(ORIGINAL_LD_FOR_MULTILIBS): Remove.
4456*1fd5a2e1SPrashanth Swaminathan	(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
4457*1fd5a2e1SPrashanth Swaminathan	De-precious CC so that the right flags are passed down to multilibs.
4458*1fd5a2e1SPrashanth Swaminathan	(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
4459*1fd5a2e1SPrashanth Swaminathan	(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
4460*1fd5a2e1SPrashanth Swaminathan	(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
4461*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
4462*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Likewise.
4463*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
4464*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Likewise.
4465*1fd5a2e1SPrashanth Swaminathan
4466*1fd5a2e1SPrashanth Swaminathan2004-03-11  Andreas Schwab  <[email protected]>
4467*1fd5a2e1SPrashanth Swaminathan
4468*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
4469*1fd5a2e1SPrashanth Swaminathan	arguments from fp registers only for the first 8 parameter slots.
4470*1fd5a2e1SPrashanth Swaminathan	Don't convert a float parameter when passed in memory.
4471*1fd5a2e1SPrashanth Swaminathan
4472*1fd5a2e1SPrashanth Swaminathan2004-03-09  Hans-Peter Nilsson  <[email protected]>
4473*1fd5a2e1SPrashanth Swaminathan
4474*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate for config/accross.m4 correction.
4475*1fd5a2e1SPrashanth Swaminathan
4476*1fd5a2e1SPrashanth Swaminathan2004-02-25  Matt Kraai  <[email protected]>
4477*1fd5a2e1SPrashanth Swaminathan
4478*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
4479*1fd5a2e1SPrashanth Swaminathan	ecif->cif->bytes to bytes.
4480*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Add braces around nested if statement.
4481*1fd5a2e1SPrashanth Swaminathan
4482*1fd5a2e1SPrashanth Swaminathan2004-02-09  Alan Modra  <[email protected]>
4483*1fd5a2e1SPrashanth Swaminathan
4484*1fd5a2e1SPrashanth Swaminathan	* src/types.c (pointer): POWERPC64 has 8 byte pointers.
4485*1fd5a2e1SPrashanth Swaminathan
4486*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
4487*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Fix typo.
4488*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
4489*1fd5a2e1SPrashanth Swaminathan	for powerpc64-*-*.
4490*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float.c: Likewise.
4491*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float2.c: Likewise.
4492*1fd5a2e1SPrashanth Swaminathan
4493*1fd5a2e1SPrashanth Swaminathan2004-02-08  Alan Modra  <[email protected]>
4494*1fd5a2e1SPrashanth Swaminathan
4495*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
4496*1fd5a2e1SPrashanth Swaminathan	long double function return and long double arg handling.
4497*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
4498*1fd5a2e1SPrashanth Swaminathan	Use "end_pfr" instead of "nf".  Correct long double handling.
4499*1fd5a2e1SPrashanth Swaminathan	Localise "temp".
4500*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
4501*1fd5a2e1SPrashanth Swaminathan	return value.
4502*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
4503*1fd5a2e1SPrashanth Swaminathan	space for long double return value.  Adjust stack frame and offsets.
4504*1fd5a2e1SPrashanth Swaminathan	Load f2 long double return.
4505*1fd5a2e1SPrashanth Swaminathan
4506*1fd5a2e1SPrashanth Swaminathan2004-02-07  Alan Modra  <[email protected]>
4507*1fd5a2e1SPrashanth Swaminathan
4508*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Use 16 byte long double for POWERPC64.
4509*1fd5a2e1SPrashanth Swaminathan
4510*1fd5a2e1SPrashanth Swaminathan2004-01-25  Eric Botcazou  <[email protected]>
4511*1fd5a2e1SPrashanth Swaminathan
4512*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
4513*1fd5a2e1SPrashanth Swaminathan	when the structure return address is passed in %o0.
4514*1fd5a2e1SPrashanth Swaminathan	(ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
4515*1fd5a2e1SPrashanth Swaminathan	(ffi_v9_layout_struct): Align the field following a nested structure
4516*1fd5a2e1SPrashanth Swaminathan	on a word boundary.  Use memmove instead of memcpy.
4517*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Update call to ffi_V9_return_struct.
4518*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Define 'ctx' only for V8.
4519*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
4520*1fd5a2e1SPrashanth Swaminathan	and ffi_closure_sparc_inner_v9.
4521*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_sparc_inner_v8): Return long doubles by reference.
4522*1fd5a2e1SPrashanth Swaminathan	Always skip the structure return address.  For structures and long
4523*1fd5a2e1SPrashanth Swaminathan	doubles, copy the argument directly.
4524*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_sparc_inner_v9): Skip the structure return address only
4525*1fd5a2e1SPrashanth Swaminathan	if required.  Shift the maximum floating-point slot accordingly.  For
4526*1fd5a2e1SPrashanth Swaminathan	big structures, copy the argument directly; otherwise, left-justify the
4527*1fd5a2e1SPrashanth Swaminathan	argument and call ffi_v9_layout_struct to lay out the structure on
4528*1fd5a2e1SPrashanth Swaminathan	the stack.
4529*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Undef STACKFRAME before defining it.
4530*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_v8): Pass the structure return address.  Update call to
4531*1fd5a2e1SPrashanth Swaminathan	ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
4532*1fd5a2e1SPrashanth Swaminathan	Skip the 'unimp' insn when returning long doubles and structures.
4533*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Undef STACKFRAME before defining it.
4534*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
4535*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_INT handling.  Load structures both in integers and
4536*1fd5a2e1SPrashanth Swaminathan	floating-point registers on return.
4537*1fd5a2e1SPrashanth Swaminathan	* README: Update status of the SPARC port.
4538*1fd5a2e1SPrashanth Swaminathan
4539*1fd5a2e1SPrashanth Swaminathan2004-01-24  Andreas Tobler  <[email protected]>
4540*1fd5a2e1SPrashanth Swaminathan
4541*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
4542*1fd5a2e1SPrashanth Swaminathan	as of type ffi_arg.
4543*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct3.c (main): Fix CHECK.
4544*1fd5a2e1SPrashanth Swaminathan
4545*1fd5a2e1SPrashanth Swaminathan2004-01-22  Ulrich Weigand  <[email protected]>
4546*1fd5a2e1SPrashanth Swaminathan
4547*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
4548*1fd5a2e1SPrashanth Swaminathan	value as of type ffi_arg, not unsigned int.
4549*1fd5a2e1SPrashanth Swaminathan
4550*1fd5a2e1SPrashanth Swaminathan2004-01-21  Michael Ritzert  <[email protected]>
4551*1fd5a2e1SPrashanth Swaminathan
4552*1fd5a2e1SPrashanth Swaminathan	* ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
4553*1fd5a2e1SPrashanth Swaminathan	of the LHS.
4554*1fd5a2e1SPrashanth Swaminathan
4555*1fd5a2e1SPrashanth Swaminathan2004-01-12  Andreas Tobler  <[email protected]>
4556*1fd5a2e1SPrashanth Swaminathan
4557*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
4558*1fd5a2e1SPrashanth Swaminathan	Solaris.
4559*1fd5a2e1SPrashanth Swaminathan
4560*1fd5a2e1SPrashanth Swaminathan2004-01-08  Rainer Orth  <[email protected]>
4561*1fd5a2e1SPrashanth Swaminathan
4562*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
4563*1fd5a2e1SPrashanth Swaminathan	to void *.
4564*1fd5a2e1SPrashanth Swaminathan
4565*1fd5a2e1SPrashanth Swaminathan2003-12-10  Richard Henderson  <[email protected]>
4566*1fd5a2e1SPrashanth Swaminathan
4567*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
4568*1fd5a2e1SPrashanth Swaminathan	size_t instead of int.
4569*1fd5a2e1SPrashanth Swaminathan
4570*1fd5a2e1SPrashanth Swaminathan2003-12-04  Hosaka Yuji  <[email protected]>
4571*1fd5a2e1SPrashanth Swaminathan
4572*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c: Include <float.h>.
4573*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c (main): Replace variable
4574*1fd5a2e1SPrashanth Swaminathan	int i with unsigned long ul.
4575*1fd5a2e1SPrashanth Swaminathan
4576*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint64.c: New test case.
4577*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
4578*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
4579*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
4580*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
4581*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
4582*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_float.c: Likewise.
4583*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_double.c: Likewise.
4584*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4585*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
4586*1fd5a2e1SPrashanth Swaminathan
4587*1fd5a2e1SPrashanth Swaminathan2003-12-02  Hosaka Yuji  <[email protected]>
4588*1fd5a2e1SPrashanth Swaminathan
4589*1fd5a2e1SPrashanth Swaminathan	PR other/13221
4590*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
4591*1fd5a2e1SPrashanth Swaminathan	Align arguments to 32 bits.
4592*1fd5a2e1SPrashanth Swaminathan
4593*1fd5a2e1SPrashanth Swaminathan2003-12-01  Andreas Tobler  <[email protected]>
4594*1fd5a2e1SPrashanth Swaminathan
4595*1fd5a2e1SPrashanth Swaminathan	PR other/13221
4596*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshort.c: New test case.
4597*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4598*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4599*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
4600*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4601*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4602*1fd5a2e1SPrashanth Swaminathan
4603*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Cosmetics.
4604*1fd5a2e1SPrashanth Swaminathan
4605*1fd5a2e1SPrashanth Swaminathan2003-11-26  Kaveh R. Ghazi  <[email protected]>
4606*1fd5a2e1SPrashanth Swaminathan
4607*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
4608*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h: Likewise.
4609*1fd5a2e1SPrashanth Swaminathan
4610*1fd5a2e1SPrashanth Swaminathan2003-11-22  Andreas Tobler  <[email protected]>
4611*1fd5a2e1SPrashanth Swaminathan
4612*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
4613*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
4614*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
4615*1fd5a2e1SPrashanth Swaminathan	the right type.
4616*1fd5a2e1SPrashanth Swaminathan
4617*1fd5a2e1SPrashanth Swaminathan2003-11-21  Andreas Jaeger  <[email protected]>
4618*1fd5a2e1SPrashanth Swaminathan	    Andreas Tobler  <[email protected]>
4619*1fd5a2e1SPrashanth Swaminathan
4620*1fd5a2e1SPrashanth Swaminathan	* acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
4621*1fd5a2e1SPrashanth Swaminathan	* configure.in: Call AC_FUNC_MMAP_BLACKLIST.
4622*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
4623*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4: Likewise.
4624*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
4625*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Likewise.
4626*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Add include dir.
4627*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Add MMAP definitions.
4628*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h: Likewise.
4629*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
4630*1fd5a2e1SPrashanth Swaminathan	for ffi_closure if available.
4631*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c: Likewise.
4632*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c: Likewise.
4633*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c: Likewise.
4634*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c: Likewise.
4635*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c: Likewise.
4636*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Likewise.
4637*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
4638*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c: Likewise.
4639*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c: Likewise.
4640*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4641*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
4642*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c: Likewise.
4643*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
4644*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
4645*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4646*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
4647*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
4648*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4649*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
4650*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
4651*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c: Likewise.
4652*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
4653*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
4654*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
4655*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c: Likewise.
4656*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c: Likewise.
4657*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Likewise.
4658*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c: Likewise.
4659*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_schar.c: Likewise.
4660*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c: Likewise.
4661*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c: Likewise.
4662*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
4663*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
4664*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4665*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
4666*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c: Likewise.
4667*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c: Likewise.
4668*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c: Likewise.
4669*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct3.c: Likewise.
4670*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c: Likewise.
4671*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Likewise.
4672*1fd5a2e1SPrashanth Swaminathan
4673*1fd5a2e1SPrashanth Swaminathan2003-11-20  Andreas Tobler  <[email protected]>
4674*1fd5a2e1SPrashanth Swaminathan
4675*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
4676*1fd5a2e1SPrashanth Swaminathan
4677*1fd5a2e1SPrashanth Swaminathan2003-11-19  Andreas Tobler  <[email protected]>
4678*1fd5a2e1SPrashanth Swaminathan
4679*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
4680*1fd5a2e1SPrashanth Swaminathan	Add -lgcc_s to additional flags.
4681*1fd5a2e1SPrashanth Swaminathan
4682*1fd5a2e1SPrashanth Swaminathan2003-11-12  Andreas Tobler  <[email protected]>
4683*1fd5a2e1SPrashanth Swaminathan
4684*1fd5a2e1SPrashanth Swaminathan	* configure.in, include/Makefile.am: PR libgcj/11147, install
4685*1fd5a2e1SPrashanth Swaminathan	the ffitarget.h header file in a gcc versioned and target
4686*1fd5a2e1SPrashanth Swaminathan	dependent place.
4687*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
4688*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, include/Makefile.in: Likewise.
4689*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
4690*1fd5a2e1SPrashanth Swaminathan
4691*1fd5a2e1SPrashanth Swaminathan2003-11-09  Andreas Tobler  <[email protected]>
4692*1fd5a2e1SPrashanth Swaminathan
4693*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c: Print result and check
4694*1fd5a2e1SPrashanth Swaminathan	with dg-output to make debugging easier.
4695*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c: Likewise.
4696*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c: Likewise.
4697*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c: Likewise.
4698*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c: Likewise.
4699*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c: Likewise.
4700*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Likewise.
4701*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
4702*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c: Likewise.
4703*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c: Likewise.
4704*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4705*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
4706*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c: Likewise.
4707*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
4708*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
4709*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4710*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
4711*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
4712*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4713*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
4714*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
4715*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c: Likewise.
4716*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
4717*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
4718*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
4719*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c: Likewise.
4720*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c: Likewise.
4721*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Likewise.
4722*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c: Likewise.
4723*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_schar.c: Likewise.
4724*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c: Likewise.
4725*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c: Likewise.
4726*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
4727*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
4728*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4729*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
4730*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c: Likewise.
4731*1fd5a2e1SPrashanth Swaminathan
4732*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Make ffi_closure
4733*1fd5a2e1SPrashanth Swaminathan	static.
4734*1fd5a2e1SPrashanth Swaminathan
4735*1fd5a2e1SPrashanth Swaminathan2003-11-08  Andreas Tobler  <[email protected]>
4736*1fd5a2e1SPrashanth Swaminathan
4737*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte2.c: New test case.
4738*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_9byte1.c: Likewise.
4739*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_64byte.c: Likewise.
4740*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte1.c: Likewise.
4741*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_19byte.c: Likewise.
4742*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_18byte.c: Likewise.
4743*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn4.c: Likewise.
4744*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn5.c: Likewise.
4745*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_schar.c: Likewise.
4746*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sint.c: Likewise.
4747*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_sshort.c: Likewise.
4748*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct2.c: Likewise.
4749*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct3.c: Likewise.
4750*1fd5a2e1SPrashanth Swaminathan
4751*1fd5a2e1SPrashanth Swaminathan2003-11-08  Andreas Tobler  <[email protected]>
4752*1fd5a2e1SPrashanth Swaminathan
4753*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Do a check on the result.
4754*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
4755*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
4756*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4757*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
4758*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
4759*1fd5a2e1SPrashanth Swaminathan
4760*1fd5a2e1SPrashanth Swaminathan2003-11-06  Andreas Tobler  <[email protected]>
4761*1fd5a2e1SPrashanth Swaminathan
4762*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Move the validity check after
4763*1fd5a2e1SPrashanth Swaminathan	the initialization.
4764*1fd5a2e1SPrashanth Swaminathan
4765*1fd5a2e1SPrashanth Swaminathan2003-10-23  Andreas Tobler  <[email protected]>
4766*1fd5a2e1SPrashanth Swaminathan
4767*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
4768*1fd5a2e1SPrashanth Swaminathan	FFI_ASSERT(FALSE) with FFI_ASSERT(0).
4769*1fd5a2e1SPrashanth Swaminathan
4770*1fd5a2e1SPrashanth Swaminathan2003-10-22  David Daney  <[email protected]>
4771*1fd5a2e1SPrashanth Swaminathan
4772*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffitarget.h: Replace undefined UINT32 and friends with
4773*1fd5a2e1SPrashanth Swaminathan	__attribute__((__mode__(__SI__))) and friends.
4774*1fd5a2e1SPrashanth Swaminathan
4775*1fd5a2e1SPrashanth Swaminathan2003-10-22  Andreas Schwab  <[email protected]>
4776*1fd5a2e1SPrashanth Swaminathan
4777*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
4778*1fd5a2e1SPrashanth Swaminathan
4779*1fd5a2e1SPrashanth Swaminathan2003-10-21  Andreas Tobler  <[email protected]>
4780*1fd5a2e1SPrashanth Swaminathan
4781*1fd5a2e1SPrashanth Swaminathan	* configure.in: AC_LINK_FILES(ffitarget.h).
4782*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4783*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Likewise.
4784*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Likewise.
4785*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Likewise.
4786*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Likewise.
4787*1fd5a2e1SPrashanth Swaminathan
4788*1fd5a2e1SPrashanth Swaminathan2003-10-21  Paolo Bonzini  <[email protected]>
4789*1fd5a2e1SPrashanth Swaminathan	    Richard Henderson  <[email protected]>
4790*1fd5a2e1SPrashanth Swaminathan
4791*1fd5a2e1SPrashanth Swaminathan	Avoid that ffi.h includes fficonfig.h.
4792*1fd5a2e1SPrashanth Swaminathan
4793*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Include ffitarget.h files
4794*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4795*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_MIPS_SGI): Removed.
4796*1fd5a2e1SPrashanth Swaminathan	(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4797*1fd5a2e1SPrashanth Swaminathan	(MIPS_SGI): Removed.
4798*1fd5a2e1SPrashanth Swaminathan	(CLEANFILES): Removed.
4799*1fd5a2e1SPrashanth Swaminathan	(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
4800*1fd5a2e1SPrashanth Swaminathan	targets.
4801*1fd5a2e1SPrashanth Swaminathan	* acconfig.h: Removed.
4802*1fd5a2e1SPrashanth Swaminathan	* configure.in: Compute sizeofs only for double and long double.
4803*1fd5a2e1SPrashanth Swaminathan	Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
4804*1fd5a2e1SPrashanth Swaminathan	into AC_DEFINE instead of using acconfig.h.  Create
4805*1fd5a2e1SPrashanth Swaminathan	include/ffitarget.h instead of include/fficonfig.h.  Rename
4806*1fd5a2e1SPrashanth Swaminathan	MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
4807*1fd5a2e1SPrashanth Swaminathan	AC_DEFINE EH_FRAME_FLAGS.
4808*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.am (DISTCLEANFILES): New automake macro.
4809*1fd5a2e1SPrashanth Swaminathan	(hack_DATA): Add ffitarget.h.
4810*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Remove all system specific definitions.
4811*1fd5a2e1SPrashanth Swaminathan	Declare raw API even if it is not installed, why bother?
4812*1fd5a2e1SPrashanth Swaminathan	Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
4813*1fd5a2e1SPrashanth Swaminathan	not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
4814*1fd5a2e1SPrashanth Swaminathan	ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
4815*1fd5a2e1SPrashanth Swaminathan	(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
4816*1fd5a2e1SPrashanth Swaminathan	* include/ffi_common.h (bool): Do not define.
4817*1fd5a2e1SPrashanth Swaminathan	(ffi_assert): Accept failed assertion.
4818*1fd5a2e1SPrashanth Swaminathan	(ffi_type_test): Return void and accept file/line.
4819*1fd5a2e1SPrashanth Swaminathan	(FFI_ASSERT): Pass stringized failed assertion.
4820*1fd5a2e1SPrashanth Swaminathan	(FFI_ASSERT_AT): New macro.
4821*1fd5a2e1SPrashanth Swaminathan	(FFI_ASSERT_VALID_TYPE): New macro.
4822*1fd5a2e1SPrashanth Swaminathan	(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
4823*1fd5a2e1SPrashanth Swaminathan	UINT64, SINT64): Define here with gcc's __attribute__ macro
4824*1fd5a2e1SPrashanth Swaminathan	instead of in ffi.h
4825*1fd5a2e1SPrashanth Swaminathan	(FLOAT32, ALIGN): Define here instead of in ffi.h
4826*1fd5a2e1SPrashanth Swaminathan	* include/ffi-mips.h: Removed.  Its content moved to
4827*1fd5a2e1SPrashanth Swaminathan	src/mips/ffitarget.h after separating assembly and C sections.
4828*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
4829*1fd5a2e1SPrashanth Swaminathan	src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
4830*1fd5a2e1SPrashanth Swaminathan	src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
4831*1fd5a2e1SPrashanth Swaminathan	src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
4832*1fd5a2e1SPrashanth Swaminathan	SIZEOF_ARG -> FFI_SIZEOF_ARG.
4833*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
4834*1fd5a2e1SPrashanth Swaminathan	* src/debug.c (ffi_assert): Accept stringized failed assertion.
4835*1fd5a2e1SPrashanth Swaminathan	(ffi_type_test): Rewritten.
4836*1fd5a2e1SPrashanth Swaminathan	* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
4837*1fd5a2e1SPrashanth Swaminathan	FFI_ASSERT_VALID_TYPE.
4838*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffitarget.h, src/arm/ffitarget.h,
4839*1fd5a2e1SPrashanth Swaminathan	src/ia64/ffitarget.h, src/m68k/ffitarget.h,
4840*1fd5a2e1SPrashanth Swaminathan	src/mips/ffitarget.h, src/powerpc/ffitarget.h,
4841*1fd5a2e1SPrashanth Swaminathan	src/s390/ffitarget.h, src/sh/ffitarget.h,
4842*1fd5a2e1SPrashanth Swaminathan	src/sh64/ffitarget.h, src/sparc/ffitarget.h,
4843*1fd5a2e1SPrashanth Swaminathan	src/x86/ffitarget.h: New files.
4844*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
4845*1fd5a2e1SPrashanth Swaminathan	src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
4846*1fd5a2e1SPrashanth Swaminathan	src/powerpc/aix.S, src/powerpc/darwin.S,
4847*1fd5a2e1SPrashanth Swaminathan	src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
4848*1fd5a2e1SPrashanth Swaminathan	src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
4849*1fd5a2e1SPrashanth Swaminathan	src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
4850*1fd5a2e1SPrashanth Swaminathan	src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
4851*1fd5a2e1SPrashanth Swaminathan	src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
4852*1fd5a2e1SPrashanth Swaminathan	include fficonfig.h
4853*1fd5a2e1SPrashanth Swaminathan
4854*1fd5a2e1SPrashanth Swaminathan2003-10-20  Rainer Orth  <[email protected]>
4855*1fd5a2e1SPrashanth Swaminathan
4856*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
4857*1fd5a2e1SPrashanth Swaminathan	_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
4858*1fd5a2e1SPrashanth Swaminathan
4859*1fd5a2e1SPrashanth Swaminathan2003-10-19  Andreas Tobler  <[email protected]>
4860*1fd5a2e1SPrashanth Swaminathan
4861*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
4862*1fd5a2e1SPrashanth Swaminathan	Used when FFI_DEBUG = 1.
4863*1fd5a2e1SPrashanth Swaminathan
4864*1fd5a2e1SPrashanth Swaminathan2003-10-14  Alan Modra  <[email protected]>
4865*1fd5a2e1SPrashanth Swaminathan
4866*1fd5a2e1SPrashanth Swaminathan	* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
4867*1fd5a2e1SPrashanth Swaminathan	and align.
4868*1fd5a2e1SPrashanth Swaminathan
4869*1fd5a2e1SPrashanth Swaminathan2003-10-06  Rainer Orth  <[email protected]>
4870*1fd5a2e1SPrashanth Swaminathan
4871*1fd5a2e1SPrashanth Swaminathan	* include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
4872*1fd5a2e1SPrashanth Swaminathan	FFI_MIPS_O32 for O32 ABI.
4873*1fd5a2e1SPrashanth Swaminathan
4874*1fd5a2e1SPrashanth Swaminathan2003-10-01  Andreas Tobler  <[email protected]>
4875*1fd5a2e1SPrashanth Swaminathan
4876*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
4877*1fd5a2e1SPrashanth Swaminathan	SPARC64. Cleanup whitespaces.
4878*1fd5a2e1SPrashanth Swaminathan
4879*1fd5a2e1SPrashanth Swaminathan2003-09-19  Andreas Tobler  <[email protected]>
4880*1fd5a2e1SPrashanth Swaminathan
4881*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
4882*1fd5a2e1SPrashanth Swaminathan	strongarm, xscale. Cleanup whitespaces.
4883*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c: Likewise.
4884*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c: Likewise.
4885*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c: Likewise.
4886*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Likewise.
4887*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
4888*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4889*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
4890*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
4891*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
4892*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4893*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
4894*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
4895*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4896*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
4897*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
4898*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
4899*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
4900*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
4901*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Likewise.
4902*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c: Likewise.
4903*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
4904*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
4905*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4906*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
4907*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c: Likewise.
4908*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c: Likewise.
4909*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c: Likewise.
4910*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Likewise.
4911*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
4912*1fd5a2e1SPrashanth Swaminathan
4913*1fd5a2e1SPrashanth Swaminathan2003-09-18  David Edelsohn  <[email protected]>
4914*1fd5a2e1SPrashanth Swaminathan
4915*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S: Cleanup whitespaces.
4916*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Likewise.
4917*1fd5a2e1SPrashanth Swaminathan
4918*1fd5a2e1SPrashanth Swaminathan2003-09-18  Andreas Tobler  <[email protected]>
4919*1fd5a2e1SPrashanth Swaminathan
4920*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
4921*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
4922*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Likewise.
4923*1fd5a2e1SPrashanth Swaminathan
4924*1fd5a2e1SPrashanth Swaminathan2003-09-18  Andreas Tobler  <[email protected]>
4925*1fd5a2e1SPrashanth Swaminathan	    David Edelsohn  <[email protected]>
4926*1fd5a2e1SPrashanth Swaminathan
4927*1fd5a2e1SPrashanth Swaminathan	* src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
4928*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: Remove the pointer to the outgoing
4929*1fd5a2e1SPrashanth Swaminathan	parameter stack.
4930*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
4931*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4932*1fd5a2e1SPrashanth Swaminathan	according to the Darwin/AIX ABI.
4933*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Likewise.
4934*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_DARWIN): Likewise.
4935*1fd5a2e1SPrashanth Swaminathan	Remove the outgoing parameter stack logic. Simplify the evaluation
4936*1fd5a2e1SPrashanth Swaminathan	of the different CASE types.
4937*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4938*1fd5a2e1SPrashanth Swaminathan	statement in the trampoline code.
4939*1fd5a2e1SPrashanth Swaminathan
4940*1fd5a2e1SPrashanth Swaminathan2003-09-18  Kaz Kojima  <[email protected]>
4941*1fd5a2e1SPrashanth Swaminathan
4942*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4943*1fd5a2e1SPrashanth Swaminathan	for the register size.
4944*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Handle the structure return value
4945*1fd5a2e1SPrashanth Swaminathan	address correctly.
4946*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Return the appropriate type when
4947*1fd5a2e1SPrashanth Swaminathan	the registers are used for the structure return value.
4948*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4949*1fd5a2e1SPrashanth Swaminathan	the 64-bit return value.  Update copyright years.
4950*1fd5a2e1SPrashanth Swaminathan
4951*1fd5a2e1SPrashanth Swaminathan2003-09-17  Rainer Orth  <[email protected]>
4952*1fd5a2e1SPrashanth Swaminathan
4953*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4954*1fd5a2e1SPrashanth Swaminathan	srcdir for ffi_mips.h.
4955*1fd5a2e1SPrashanth Swaminathan
4956*1fd5a2e1SPrashanth Swaminathan2003-09-12  Alan Modra  <[email protected]>
4957*1fd5a2e1SPrashanth Swaminathan
4958*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (initialize_aggregate): Include tail padding in
4959*1fd5a2e1SPrashanth Swaminathan	structure size.
4960*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4961*1fd5a2e1SPrashanth Swaminathan	placement of float result.
4962*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4963*1fd5a2e1SPrashanth Swaminathan	cast of "resp" for big-endian 64 bit machines.
4964*1fd5a2e1SPrashanth Swaminathan
4965*1fd5a2e1SPrashanth Swaminathan2003-09-11  Alan Modra  <[email protected]>
4966*1fd5a2e1SPrashanth Swaminathan
4967*1fd5a2e1SPrashanth Swaminathan	* src/types.c (double, longdouble): Merge identical SH and ARM
4968*1fd5a2e1SPrashanth Swaminathan	typedefs, and add POWERPC64.
4969*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4970*1fd5a2e1SPrashanth Swaminathan	struct split over gpr and rest.
4971*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Correct intarg_count for structures.
4972*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4973*1fd5a2e1SPrashanth Swaminathan
4974*1fd5a2e1SPrashanth Swaminathan2003-09-09  Andreas Tobler  <[email protected]>
4975*1fd5a2e1SPrashanth Swaminathan
4976*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4977*1fd5a2e1SPrashanth Swaminathan	passing correctly.
4978*1fd5a2e1SPrashanth Swaminathan
4979*1fd5a2e1SPrashanth Swaminathan2003-09-09  Alan Modra  <[email protected]>
4980*1fd5a2e1SPrashanth Swaminathan
4981*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
4982*1fd5a2e1SPrashanth Swaminathan
4983*1fd5a2e1SPrashanth Swaminathan2003-09-04  Andreas Tobler  <[email protected]>
4984*1fd5a2e1SPrashanth Swaminathan
4985*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Remove build rules for ffitest.
4986*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
4987*1fd5a2e1SPrashanth Swaminathan
4988*1fd5a2e1SPrashanth Swaminathan2003-09-04  Andreas Tobler  <[email protected]>
4989*1fd5a2e1SPrashanth Swaminathan
4990*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4991*1fd5a2e1SPrashanth Swaminathan	about implicit declaration of abort().
4992*1fd5a2e1SPrashanth Swaminathan
4993*1fd5a2e1SPrashanth Swaminathan2003-09-04  Andreas Tobler  <[email protected]>
4994*1fd5a2e1SPrashanth Swaminathan
4995*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4996*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
4997*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add dejagnu test framework.
4998*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
4999*1fd5a2e1SPrashanth Swaminathan
5000*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.am: New file.
5001*1fd5a2e1SPrashanth Swaminathan	* testsuite/Makefile.in: Built
5002*1fd5a2e1SPrashanth Swaminathan	* testsuite/lib/libffi-dg.exp: New file.
5003*1fd5a2e1SPrashanth Swaminathan	* testsuite/config/default.exp: Likewise.
5004*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/call.exp: Likewise.
5005*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/ffitest.h: Likewise.
5006*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn0.c: Likewise.
5007*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn1.c: Likewise.
5008*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn2.c: Likewise.
5009*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/closure_fn3.c: Likewise.
5010*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
5011*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
5012*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
5013*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_2byte.c: Likewise.
5014*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte1.c: Likewise.
5015*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_3byte2.c: Likewise.
5016*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_4byte.c: Likewise.
5017*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_5byte.c: Likewise.
5018*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_6byte.c: Likewise.
5019*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_7byte.c: Likewise.
5020*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_8byte.c: Likewise.
5021*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_12byte.c: Likewise.
5022*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_16byte.c: Likewise.
5023*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_20byte.c: Likewise.
5024*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_24byte.c: Likewise.
5025*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_double.c: Likewise.
5026*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_float.c: Likewise.
5027*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uchar.c: Likewise.
5028*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_uint.c: Likewise.
5029*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
5030*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/cls_ushort.c: Likewise.
5031*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float.c: Likewise.
5032*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float1.c: Likewise.
5033*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/float2.c: Likewise.
5034*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many.c: Likewise.
5035*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/many_win32.c: Likewise.
5036*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct.c: Likewise.
5037*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/nested_struct1.c: Likewise.
5038*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/pyobjc-tc.c: Likewise.
5039*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/problem1.c: Likewise.
5040*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/promotion.c: Likewise.
5041*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_ll.c: Likewise.
5042*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_sc.c: Likewise.
5043*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/return_uc.c: Likewise.
5044*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen.c: Likewise.
5045*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/strlen_win32.c: Likewise.
5046*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct1.c: Likewise.
5047*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct2.c: Likewise.
5048*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct3.c: Likewise.
5049*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct4.c: Likewise.
5050*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct5.c: Likewise.
5051*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct6.c: Likewise.
5052*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct7.c: Likewise.
5053*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct8.c: Likewise.
5054*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.call/struct9.c: Likewise.
5055*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/special.exp: New file.
5056*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/ffitestcxx.h: Likewise.
5057*1fd5a2e1SPrashanth Swaminathan	* testsuite/libffi.special/unwindtest.cc: Likewise.
5058*1fd5a2e1SPrashanth Swaminathan
5059*1fd5a2e1SPrashanth Swaminathan
5060*1fd5a2e1SPrashanth Swaminathan2003-08-13  Kaz Kojima  <[email protected]>
5061*1fd5a2e1SPrashanth Swaminathan
5062*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
5063*1fd5a2e1SPrashanth Swaminathan	copyright years.
5064*1fd5a2e1SPrashanth Swaminathan
5065*1fd5a2e1SPrashanth Swaminathan2003-08-02  Alan Modra  <[email protected]>
5066*1fd5a2e1SPrashanth Swaminathan
5067*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
5068*1fd5a2e1SPrashanth Swaminathan	structure passing.
5069*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): Likewise.
5070*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Remove code writing to parm save area.
5071*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
5072*1fd5a2e1SPrashanth Swaminathan	address in lr from ffi_closure_helper_LINUX64 call to calculate
5073*1fd5a2e1SPrashanth Swaminathan	table address.  Optimize function tail.
5074*1fd5a2e1SPrashanth Swaminathan
5075*1fd5a2e1SPrashanth Swaminathan2003-07-28  Andreas Tobler  <[email protected]>
5076*1fd5a2e1SPrashanth Swaminathan
5077*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c: Handle all floating point registers.
5078*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
5079*1fd5a2e1SPrashanth Swaminathan
5080*1fd5a2e1SPrashanth Swaminathan2003-07-11  Gerald Pfeifer  <[email protected]>
5081*1fd5a2e1SPrashanth Swaminathan
5082*1fd5a2e1SPrashanth Swaminathan	* README: Note that libffi is not part of GCC.  Update the project
5083*1fd5a2e1SPrashanth Swaminathan	URL and status.
5084*1fd5a2e1SPrashanth Swaminathan
5085*1fd5a2e1SPrashanth Swaminathan2003-06-19  Franz Sirl  <[email protected]>
5086*1fd5a2e1SPrashanth Swaminathan
5087*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Include ffi.h.
5088*1fd5a2e1SPrashanth Swaminathan
5089*1fd5a2e1SPrashanth Swaminathan2003-06-13  Rainer Orth  <[email protected]>
5090*1fd5a2e1SPrashanth Swaminathan
5091*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
5092*1fd5a2e1SPrashanth Swaminathan	Use C style comments.
5093*1fd5a2e1SPrashanth Swaminathan
5094*1fd5a2e1SPrashanth Swaminathan2003-06-13  Kaz Kojima  <[email protected]>
5095*1fd5a2e1SPrashanth Swaminathan
5096*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add SHmedia support.  Fix a typo of SH support.
5097*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5098*1fd5a2e1SPrashanth Swaminathan	* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
5099*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5100*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add SHmedia support.
5101*1fd5a2e1SPrashanth Swaminathan	* src/sh64/ffi.c: New file.
5102*1fd5a2e1SPrashanth Swaminathan	* src/sh64/sysv.S: New file.
5103*1fd5a2e1SPrashanth Swaminathan
5104*1fd5a2e1SPrashanth Swaminathan2003-05-16  Jakub Jelinek  <[email protected]>
5105*1fd5a2e1SPrashanth Swaminathan
5106*1fd5a2e1SPrashanth Swaminathan	* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
5107*1fd5a2e1SPrashanth Swaminathan	should be read-only.
5108*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5109*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
5110*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (EH_FRAME_FLAGS): Define.
5111*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Use EH_FRAME_FLAGS.
5112*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: Likewise.
5113*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
5114*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
5115*1fd5a2e1SPrashanth Swaminathan	if -fpic/-fPIC/-mrelocatable.
5116*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/powerpc_closure.S: Likewise.
5117*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
5118*1fd5a2e1SPrashanth Swaminathan	#write in .eh_frame flags.
5119*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Likewise.
5120*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: Use EH_FRAME_FLAGS.
5121*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
5122*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
5123*1fd5a2e1SPrashanth Swaminathan
5124*1fd5a2e1SPrashanth Swaminathan2003-05-07  Jeff Sturm  <[email protected]>
5125*1fd5a2e1SPrashanth Swaminathan
5126*1fd5a2e1SPrashanth Swaminathan	Fixes PR bootstrap/10656
5127*1fd5a2e1SPrashanth Swaminathan	* configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
5128*1fd5a2e1SPrashanth Swaminathan	support for .register pseudo-op.
5129*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Use it.
5130*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
5131*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5132*1fd5a2e1SPrashanth Swaminathan
5133*1fd5a2e1SPrashanth Swaminathan2003-04-18  Jakub Jelinek  <[email protected]>
5134*1fd5a2e1SPrashanth Swaminathan
5135*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (POWERPC64): Define if 64-bit.
5136*1fd5a2e1SPrashanth Swaminathan	(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
5137*1fd5a2e1SPrashanth Swaminathan	Make it the default on POWERPC64.
5138*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
5139*1fd5a2e1SPrashanth Swaminathan	* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
5140*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5141*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (hidden): Define.
5142*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args_SYSV): Renamed from
5143*1fd5a2e1SPrashanth Swaminathan	ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
5144*1fd5a2e1SPrashanth Swaminathan	(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
5145*1fd5a2e1SPrashanth Swaminathan	ASM_NEEDS_REGISTERS64): New.
5146*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args64): New function.
5147*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
5148*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Likewise.
5149*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Likewise.
5150*1fd5a2e1SPrashanth Swaminathan	(flush_icache): Surround by #ifndef POWERPC64.
5151*1fd5a2e1SPrashanth Swaminathan	(ffi_dblfl): New union type.
5152*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
5153*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_LINUX64): New function.
5154*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
5155*1fd5a2e1SPrashanth Swaminathan	__powerpc64__.
5156*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Likewise.
5157*1fd5a2e1SPrashanth Swaminathan	(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
5158*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64.S: New file.
5159*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/linux64_closure.S: New file.
5160*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
5161*1fd5a2e1SPrashanth Swaminathan	src/powerpc/linux64_closure.S.
5162*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_POWERPC): Likewise.
5163*1fd5a2e1SPrashanth Swaminathan
5164*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
5165*1fd5a2e1SPrashanth Swaminathan	closure_test_fn3): Fix result printing on big-endian 64-bit
5166*1fd5a2e1SPrashanth Swaminathan	machines.
5167*1fd5a2e1SPrashanth Swaminathan	(main): Print tst2_arg instead of uninitialized tst2_result.
5168*1fd5a2e1SPrashanth Swaminathan
5169*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (main): Hide what closure pointer really points to
5170*1fd5a2e1SPrashanth Swaminathan	from the compiler.
5171*1fd5a2e1SPrashanth Swaminathan
5172*1fd5a2e1SPrashanth Swaminathan2003-04-16  Richard Earnshaw  <[email protected]>
5173*1fd5a2e1SPrashanth Swaminathan
5174*1fd5a2e1SPrashanth Swaminathan	* configure.in (arm-*-netbsdelf*): Add configuration.
5175*1fd5a2e1SPrashanth Swaminathan	(configure): Regenerated.
5176*1fd5a2e1SPrashanth Swaminathan
5177*1fd5a2e1SPrashanth Swaminathan2003-04-04  Loren J. Rittle  <[email protected]>
5178*1fd5a2e1SPrashanth Swaminathan
5179*1fd5a2e1SPrashanth Swaminathan	* include/Makefile.in: Regenerate.
5180*1fd5a2e1SPrashanth Swaminathan
5181*1fd5a2e1SPrashanth Swaminathan2003-03-21  Zdenek Dvorak  <[email protected]>
5182*1fd5a2e1SPrashanth Swaminathan
5183*1fd5a2e1SPrashanth Swaminathan	* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
5184*1fd5a2e1SPrashanth Swaminathan	bit mode.
5185*1fd5a2e1SPrashanth Swaminathan	* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
5186*1fd5a2e1SPrashanth Swaminathan	Receive closure pointer through parameter, read args using
5187*1fd5a2e1SPrashanth Swaminathan	__builtin_dwarf_cfa.
5188*1fd5a2e1SPrashanth Swaminathan	(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
5189*1fd5a2e1SPrashanth Swaminathan
5190*1fd5a2e1SPrashanth Swaminathan2003-03-12  Andreas Schwab  <[email protected]>
5191*1fd5a2e1SPrashanth Swaminathan
5192*1fd5a2e1SPrashanth Swaminathan	* configure.in: Avoid trailing /. in toolexeclibdir.
5193*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5194*1fd5a2e1SPrashanth Swaminathan
5195*1fd5a2e1SPrashanth Swaminathan2003-03-03  Andreas Tobler <[email protected]>
5196*1fd5a2e1SPrashanth Swaminathan
5197*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
5198*1fd5a2e1SPrashanth Swaminathan
5199*1fd5a2e1SPrashanth Swaminathan2003-02-06  Andreas Tobler <[email protected]>
5200*1fd5a2e1SPrashanth Swaminathan
5201*1fd5a2e1SPrashanth Swaminathan	* libffi/src/powerpc/darwin_closure.S:
5202*1fd5a2e1SPrashanth Swaminathan	Fix alignement bug, allocate 8 bytes for the result.
5203*1fd5a2e1SPrashanth Swaminathan	* libffi/src/powerpc/aix_closure.S:
5204*1fd5a2e1SPrashanth Swaminathan	Likewise.
5205*1fd5a2e1SPrashanth Swaminathan	* libffi/src/powerpc/ffi_darwin.c:
5206*1fd5a2e1SPrashanth Swaminathan	Update stackframe description for aix/darwin_closure.S.
5207*1fd5a2e1SPrashanth Swaminathan
5208*1fd5a2e1SPrashanth Swaminathan2003-02-06  Jakub Jelinek  <[email protected]>
5209*1fd5a2e1SPrashanth Swaminathan
5210*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
5211*1fd5a2e1SPrashanth Swaminathan	attribute.
5212*1fd5a2e1SPrashanth Swaminathan
5213*1fd5a2e1SPrashanth Swaminathan2003-01-31  Christian Cornelssen  <[email protected]>,
5214*1fd5a2e1SPrashanth Swaminathan	    Andreas Schwab  <[email protected]>
5215*1fd5a2e1SPrashanth Swaminathan
5216*1fd5a2e1SPrashanth Swaminathan	* configure.in: Adjust command to source config-ml.in to account
5217*1fd5a2e1SPrashanth Swaminathan	for changes to the libffi_basedir definition.
5218*1fd5a2e1SPrashanth Swaminathan	(libffi_basedir): Remove ${srcdir} from value and include trailing
5219*1fd5a2e1SPrashanth Swaminathan	slash if nonempty.
5220*1fd5a2e1SPrashanth Swaminathan
5221*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5222*1fd5a2e1SPrashanth Swaminathan
5223*1fd5a2e1SPrashanth Swaminathan2003-01-29  Franz Sirl  <[email protected]>
5224*1fd5a2e1SPrashanth Swaminathan
5225*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Recode to fit shared libs.
5226*1fd5a2e1SPrashanth Swaminathan
5227*1fd5a2e1SPrashanth Swaminathan2003-01-28  Andrew Haley  <[email protected]>
5228*1fd5a2e1SPrashanth Swaminathan
5229*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
5230*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_closure): New.
5231*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_UNIX64_inner): New.
5232*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S (ffi_closure_UNIX64): New.
5233*1fd5a2e1SPrashanth Swaminathan
5234*1fd5a2e1SPrashanth Swaminathan2003-01-27  Alexandre Oliva  <[email protected]>
5235*1fd5a2e1SPrashanth Swaminathan
5236*1fd5a2e1SPrashanth Swaminathan	* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
5237*1fd5a2e1SPrashanth Swaminathan	Remove USE_LIBDIR conditional.
5238*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
5239*1fd5a2e1SPrashanth Swaminathan	* Makefile.in, configure: Rebuilt.
5240*1fd5a2e1SPrashanth Swaminathan
5241*1fd5a2e1SPrashanth Swaminathan2003-01027  David Edelsohn  <[email protected]>
5242*1fd5a2e1SPrashanth Swaminathan
5243*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
5244*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5245*1fd5a2e1SPrashanth Swaminathan
5246*1fd5a2e1SPrashanth Swaminathan2003-01-22  Andrew Haley  <[email protected]>
5247*1fd5a2e1SPrashanth Swaminathan
5248*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
5249*1fd5a2e1SPrashanth Swaminathan	unwind info.
5250*1fd5a2e1SPrashanth Swaminathan
5251*1fd5a2e1SPrashanth Swaminathan2003-01-21  Andreas Tobler  <[email protected]>
5252*1fd5a2e1SPrashanth Swaminathan
5253*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Add unwind info.
5254*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: Likewise.
5255*1fd5a2e1SPrashanth Swaminathan
5256*1fd5a2e1SPrashanth Swaminathan2003-01-14  Andrew Haley  <[email protected]>
5257*1fd5a2e1SPrashanth Swaminathan
5258*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_args): Check for void retval.
5259*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Likewise.
5260*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: Add unwind info.
5261*1fd5a2e1SPrashanth Swaminathan
5262*1fd5a2e1SPrashanth Swaminathan2003-01-14  Andreas Jaeger  <[email protected]>
5263*1fd5a2e1SPrashanth Swaminathan
5264*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (main): Only use ffi_closures if those are
5265*1fd5a2e1SPrashanth Swaminathan	supported.
5266*1fd5a2e1SPrashanth Swaminathan
5267*1fd5a2e1SPrashanth Swaminathan2003-01-13 Andreas Tobler <[email protected]>
5268*1fd5a2e1SPrashanth Swaminathan
5269*1fd5a2e1SPrashanth Swaminathan	* libffi/src/ffitest.c
5270*1fd5a2e1SPrashanth Swaminathan	 add closure testcases
5271*1fd5a2e1SPrashanth Swaminathan
5272*1fd5a2e1SPrashanth Swaminathan2003-01-13 Kevin B. Hendricks <[email protected]>
5273*1fd5a2e1SPrashanth Swaminathan
5274*1fd5a2e1SPrashanth Swaminathan	* libffi/src/powerpc/ffi.c
5275*1fd5a2e1SPrashanth Swaminathan	 fix alignment bug for float (4 byte aligned iso 8 byte)
5276*1fd5a2e1SPrashanth Swaminathan
5277*1fd5a2e1SPrashanth Swaminathan2003-01-09  Geoffrey Keating  <[email protected]>
5278*1fd5a2e1SPrashanth Swaminathan
5279*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: Remove RCS version string.
5280*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: Remove RCS version string.
5281*1fd5a2e1SPrashanth Swaminathan
5282*1fd5a2e1SPrashanth Swaminathan2003-01-03  Jeff Sturm  <[email protected]>
5283*1fd5a2e1SPrashanth Swaminathan
5284*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add closure defines for SPARC, SPARC64.
5285*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (main): Use static storage for closure.
5286*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
5287*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S (ffi_closure_v8): New.
5288*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S (ffi_closure_v9): New.
5289*1fd5a2e1SPrashanth Swaminathan
5290*1fd5a2e1SPrashanth Swaminathan2002-11-10  Ranjit Mathew <[email protected]>
5291*1fd5a2e1SPrashanth Swaminathan
5292*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Added FFI_STDCALL ffi_type
5293*1fd5a2e1SPrashanth Swaminathan	  enumeration for X86_WIN32.
5294*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: Added ffi_call_STDCALL function
5295*1fd5a2e1SPrashanth Swaminathan	  definition.
5296*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_call/ffi_raw_call): Added
5297*1fd5a2e1SPrashanth Swaminathan	  switch cases for recognising FFI_STDCALL and
5298*1fd5a2e1SPrashanth Swaminathan	  calling ffi_call_STDCALL if target is X86_WIN32.
5299*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (my_stdcall_strlen/stdcall_many):
5300*1fd5a2e1SPrashanth Swaminathan	  stdcall versions of the "my_strlen" and "many"
5301*1fd5a2e1SPrashanth Swaminathan	  test functions (for X86_WIN32).
5302*1fd5a2e1SPrashanth Swaminathan	  Added test cases to test stdcall invocation using
5303*1fd5a2e1SPrashanth Swaminathan	  these functions.
5304*1fd5a2e1SPrashanth Swaminathan
5305*1fd5a2e1SPrashanth Swaminathan2002-12-02  Kaz Kojima  <[email protected]>
5306*1fd5a2e1SPrashanth Swaminathan
5307*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S: Add DWARF2 unwind info.
5308*1fd5a2e1SPrashanth Swaminathan
5309*1fd5a2e1SPrashanth Swaminathan2002-11-27  Ulrich Weigand  <[email protected]>
5310*1fd5a2e1SPrashanth Swaminathan
5311*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S (.eh_frame section): Make section read-only.
5312*1fd5a2e1SPrashanth Swaminathan
5313*1fd5a2e1SPrashanth Swaminathan2002-11-26  Jim Wilson  <[email protected]>
5314*1fd5a2e1SPrashanth Swaminathan
5315*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
5316*1fd5a2e1SPrashanth Swaminathan
5317*1fd5a2e1SPrashanth Swaminathan2002-11-23  H.J. Lu <[email protected]>
5318*1fd5a2e1SPrashanth Swaminathan
5319*1fd5a2e1SPrashanth Swaminathan	* acinclude.m4: Add dummy AM_PROG_LIBTOOL.
5320*1fd5a2e1SPrashanth Swaminathan	Include ../config/accross.m4.
5321*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4; Rebuild.
5322*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
5323*1fd5a2e1SPrashanth Swaminathan
5324*1fd5a2e1SPrashanth Swaminathan2002-11-15  Ulrich Weigand  <[email protected]>
5325*1fd5a2e1SPrashanth Swaminathan
5326*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
5327*1fd5a2e1SPrashanth Swaminathan
5328*1fd5a2e1SPrashanth Swaminathan2002-11-11  DJ Delorie  <[email protected]>
5329*1fd5a2e1SPrashanth Swaminathan
5330*1fd5a2e1SPrashanth Swaminathan	* configure.in: Look for common files in the right place.
5331*1fd5a2e1SPrashanth Swaminathan
5332*1fd5a2e1SPrashanth Swaminathan2002-10-08  Ulrich Weigand  <[email protected]>
5333*1fd5a2e1SPrashanth Swaminathan
5334*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
5335*1fd5a2e1SPrashanth Swaminathan	raw data as _Jv_word values, not ffi_raw.
5336*1fd5a2e1SPrashanth Swaminathan	(ffi_java_ptrarray_to_raw): Likewise.
5337*1fd5a2e1SPrashanth Swaminathan	(ffi_java_rvalue_to_raw): New function.
5338*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_call): Call it.
5339*1fd5a2e1SPrashanth Swaminathan	(ffi_java_raw_to_rvalue): New function.
5340*1fd5a2e1SPrashanth Swaminathan	(ffi_java_translate_args): Call it.
5341*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (closure_test_fn): Interpret return value
5342*1fd5a2e1SPrashanth Swaminathan	as ffi_arg, not int.
5343*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
5344*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_POINTER case.
5345*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.  Also, assume return
5346*1fd5a2e1SPrashanth Swaminathan	values extended to word size.
5347*1fd5a2e1SPrashanth Swaminathan
5348*1fd5a2e1SPrashanth Swaminathan2002-10-02  Andreas Jaeger  <[email protected]>
5349*1fd5a2e1SPrashanth Swaminathan
5350*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
5351*1fd5a2e1SPrashanth Swaminathan
5352*1fd5a2e1SPrashanth Swaminathan2002-10-01  Bo Thorsen  <[email protected]>
5353*1fd5a2e1SPrashanth Swaminathan
5354*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Fix i386 win32 compilation.
5355*1fd5a2e1SPrashanth Swaminathan
5356*1fd5a2e1SPrashanth Swaminathan2002-09-30  Ulrich Weigand  <[email protected]>
5357*1fd5a2e1SPrashanth Swaminathan
5358*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add s390x-*-linux-* target.
5359*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5360*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Define S390X for s390x targets.
5361*1fd5a2e1SPrashanth Swaminathan	(FFI_CLOSURES): Define for s390/s390x.
5362*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Likewise.
5363*1fd5a2e1SPrashanth Swaminathan	(FFI_NATIVE_RAW_API): Likewise.
5364*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
5365*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
5366*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c: Major rework of existing code.  Add support for
5367*1fd5a2e1SPrashanth Swaminathan	s390x targets.  Add closure support.
5368*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S: Likewise.
5369*1fd5a2e1SPrashanth Swaminathan
5370*1fd5a2e1SPrashanth Swaminathan2002-09-29  Richard Earnshaw  <[email protected]>
5371*1fd5a2e1SPrashanth Swaminathan
5372*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Fix typo.
5373*1fd5a2e1SPrashanth Swaminathan
5374*1fd5a2e1SPrashanth Swaminathan2002-09-28  Richard Earnshaw  <[email protected]>
5375*1fd5a2e1SPrashanth Swaminathan
5376*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
5377*1fd5a2e1SPrashanth Swaminathan	has defined __USER_LABEL_PREFIX__, then use it in CNAME.
5378*1fd5a2e1SPrashanth Swaminathan	(ffi_call_SYSV): Handle soft-float.
5379*1fd5a2e1SPrashanth Swaminathan
5380*1fd5a2e1SPrashanth Swaminathan2002-09-27  Bo Thorsen  <[email protected]>
5381*1fd5a2e1SPrashanth Swaminathan
5382*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Fix multilib x86-64 support.
5383*1fd5a2e1SPrashanth Swaminathan
5384*1fd5a2e1SPrashanth Swaminathan2002-09-22  Kaveh R. Ghazi  <[email protected]>
5385*1fd5a2e1SPrashanth Swaminathan
5386*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (all-multi): Fix multilib parallel build.
5387*1fd5a2e1SPrashanth Swaminathan
5388*1fd5a2e1SPrashanth Swaminathan2002-07-19  Kaz Kojima  <[email protected]>
5389*1fd5a2e1SPrashanth Swaminathan
5390*1fd5a2e1SPrashanth Swaminathan	* configure.in (sh[34]*-*-linux*): Add brackets.
5391*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5392*1fd5a2e1SPrashanth Swaminathan
5393*1fd5a2e1SPrashanth Swaminathan2002-07-18  Kaz Kojima  <[email protected]>
5394*1fd5a2e1SPrashanth Swaminathan
5395*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add SH support.
5396*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5397*1fd5a2e1SPrashanth Swaminathan	* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
5398*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5399*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add SH support.
5400*1fd5a2e1SPrashanth Swaminathan	* src/sh/ffi.c: New file.
5401*1fd5a2e1SPrashanth Swaminathan	* src/sh/sysv.S: New file.
5402*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Add SH support.
5403*1fd5a2e1SPrashanth Swaminathan
5404*1fd5a2e1SPrashanth Swaminathan2002-07-16  Bo Thorsen  <[email protected]>
5405*1fd5a2e1SPrashanth Swaminathan
5406*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi64.c: New file that adds x86-64 support.
5407*1fd5a2e1SPrashanth Swaminathan	* src/x86/unix64.S: New file that handles argument setup for
5408*1fd5a2e1SPrashanth Swaminathan	x86-64.
5409*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Don't use this on x86-64.
5410*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Don't use this on x86-64.
5411*1fd5a2e1SPrashanth Swaminathan	Remove unused vars.
5412*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
5413*1fd5a2e1SPrashanth Swaminathan	for x86-64.
5414*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (struct6): New test that tests a special case in
5415*1fd5a2e1SPrashanth Swaminathan	the x86-64 ABI.
5416*1fd5a2e1SPrashanth Swaminathan	(struct7): Likewise.
5417*1fd5a2e1SPrashanth Swaminathan	(struct8): Likewise.
5418*1fd5a2e1SPrashanth Swaminathan	(struct9): Likewise.
5419*1fd5a2e1SPrashanth Swaminathan	(closure_test_fn): Silence warning about this when it's not used.
5420*1fd5a2e1SPrashanth Swaminathan	(main): Add the new tests.
5421*1fd5a2e1SPrashanth Swaminathan	(main): Fix a couple of wrong casts and silence some compiler warnings.
5422*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add x86-64 ABI definition.
5423*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Regenerate.
5424*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add x86-64 support.
5425*1fd5a2e1SPrashanth Swaminathan	* configure.in: Likewise.
5426*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5427*1fd5a2e1SPrashanth Swaminathan	* configure: Likewise.
5428*1fd5a2e1SPrashanth Swaminathan
5429*1fd5a2e1SPrashanth Swaminathan2002-06-24  Bo Thorsen  <[email protected]>
5430*1fd5a2e1SPrashanth Swaminathan
5431*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Merge settings for similar architectures.
5432*1fd5a2e1SPrashanth Swaminathan	Add x86-64 sizes and alignments.
5433*1fd5a2e1SPrashanth Swaminathan
5434*1fd5a2e1SPrashanth Swaminathan2002-06-23  Bo Thorsen  <[email protected]>
5435*1fd5a2e1SPrashanth Swaminathan
5436*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
5437*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
5438*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c (ffi_prep_args): Likewise.
5439*1fd5a2e1SPrashanth Swaminathan	* src/m68k/ffi.c (ffi_prep_args): Likewise.
5440*1fd5a2e1SPrashanth Swaminathan
5441*1fd5a2e1SPrashanth Swaminathan2002-07-18  H.J. Lu  ([email protected])
5442*1fd5a2e1SPrashanth Swaminathan
5443*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
5444*1fd5a2e1SPrashanth Swaminathan	(libffi_la_SOURCES): Support MIPS_LINUX.
5445*1fd5a2e1SPrashanth Swaminathan	(libffi_convenience_la_SOURCES): Likewise.
5446*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerated.
5447*1fd5a2e1SPrashanth Swaminathan
5448*1fd5a2e1SPrashanth Swaminathan	* configure.in (mips64*-*): Skip.
5449*1fd5a2e1SPrashanth Swaminathan	(mips*-*-linux*): New.
5450*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerated.
5451*1fd5a2e1SPrashanth Swaminathan
5452*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Include <sgidefs.h>.
5453*1fd5a2e1SPrashanth Swaminathan
5454*1fd5a2e1SPrashanth Swaminathan2002-06-06  Ulrich Weigand  <[email protected]>
5455*1fd5a2e1SPrashanth Swaminathan
5456*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
5457*1fd5a2e1SPrashanth Swaminathan
5458*1fd5a2e1SPrashanth Swaminathan2002-05-27  Roger Sayle  <[email protected]>
5459*1fd5a2e1SPrashanth Swaminathan
5460*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
5461*1fd5a2e1SPrashanth Swaminathan
5462*1fd5a2e1SPrashanth Swaminathan2002-05-27  Bo Thorsen  <[email protected]>
5463*1fd5a2e1SPrashanth Swaminathan
5464*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
5465*1fd5a2e1SPrashanth Swaminathan	fix formatting.
5466*1fd5a2e1SPrashanth Swaminathan
5467*1fd5a2e1SPrashanth Swaminathan2002-05-13  Andreas Tobler  <[email protected]>
5468*1fd5a2e1SPrashanth Swaminathan
5469*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
5470*1fd5a2e1SPrashanth Swaminathan	beginning of function (for older apple cc).
5471*1fd5a2e1SPrashanth Swaminathan
5472*1fd5a2e1SPrashanth Swaminathan2002-05-08  Alexandre Oliva  <[email protected]>
5473*1fd5a2e1SPrashanth Swaminathan
5474*1fd5a2e1SPrashanth Swaminathan	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
5475*1fd5a2e1SPrashanth Swaminathan	script entry, and set LD to it when configuring multilibs.
5476*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5477*1fd5a2e1SPrashanth Swaminathan
5478*1fd5a2e1SPrashanth Swaminathan2002-05-05  Jason Thorpe  <[email protected]>
5479*1fd5a2e1SPrashanth Swaminathan
5480*1fd5a2e1SPrashanth Swaminathan	* configure.in (sparc64-*-netbsd*): Add target.
5481*1fd5a2e1SPrashanth Swaminathan	(sparc-*-netbsdelf*): Likewise.
5482*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5483*1fd5a2e1SPrashanth Swaminathan
5484*1fd5a2e1SPrashanth Swaminathan2002-04-28  David S. Miller  <[email protected]>
5485*1fd5a2e1SPrashanth Swaminathan
5486*1fd5a2e1SPrashanth Swaminathan	* configure.in, configure: Fix SPARC test in previous change.
5487*1fd5a2e1SPrashanth Swaminathan
5488*1fd5a2e1SPrashanth Swaminathan2002-04-29  Gerhard Tonn  <[email protected]>
5489*1fd5a2e1SPrashanth Swaminathan
5490*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add Linux for S/390 support.
5491*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5492*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add Linux for S/390 support.
5493*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5494*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add Linux for S/390 support.
5495*1fd5a2e1SPrashanth Swaminathan	* src/s390/ffi.c: New file from libffi CVS tree.
5496*1fd5a2e1SPrashanth Swaminathan	* src/s390/sysv.S: New file from libffi CVS tree.
5497*1fd5a2e1SPrashanth Swaminathan
5498*1fd5a2e1SPrashanth Swaminathan2002-04-28  Jakub Jelinek  <[email protected]>
5499*1fd5a2e1SPrashanth Swaminathan
5500*1fd5a2e1SPrashanth Swaminathan	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
5501*1fd5a2e1SPrashanth Swaminathan	%r_disp32().
5502*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Use it.
5503*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Likewise.
5504*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
5505*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5506*1fd5a2e1SPrashanth Swaminathan
5507*1fd5a2e1SPrashanth Swaminathan2002-04-08  Hans Boehm  <[email protected]>
5508*1fd5a2e1SPrashanth Swaminathan
5509*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
5510*1fd5a2e1SPrashanth Swaminathan	correctly.
5511*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S: Add unwind information. Fix comments.
5512*1fd5a2e1SPrashanth Swaminathan	Save sp in a way that's compatible with unwind info.
5513*1fd5a2e1SPrashanth Swaminathan	(ffi_call_unix): Correctly restore sp in all cases.
5514*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Add, fix comments.
5515*1fd5a2e1SPrashanth Swaminathan
5516*1fd5a2e1SPrashanth Swaminathan2002-04-08  Jakub Jelinek  <[email protected]>
5517*1fd5a2e1SPrashanth Swaminathan
5518*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Make .eh_frame dependent on target word size.
5519*1fd5a2e1SPrashanth Swaminathan
5520*1fd5a2e1SPrashanth Swaminathan2002-04-06  Jason Thorpe  <[email protected]>
5521*1fd5a2e1SPrashanth Swaminathan
5522*1fd5a2e1SPrashanth Swaminathan	* configure.in (alpha*-*-netbsd*): Add target.
5523*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5524*1fd5a2e1SPrashanth Swaminathan
5525*1fd5a2e1SPrashanth Swaminathan2002-04-04  Jeff Sturm  <[email protected]>
5526*1fd5a2e1SPrashanth Swaminathan
5527*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Add unwind info.
5528*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Likewise.
5529*1fd5a2e1SPrashanth Swaminathan
5530*1fd5a2e1SPrashanth Swaminathan2002-03-30  Krister Walfridsson  <[email protected]>
5531*1fd5a2e1SPrashanth Swaminathan
5532*1fd5a2e1SPrashanth Swaminathan	* configure.in: Enable i*86-*-netbsdelf*.
5533*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5534*1fd5a2e1SPrashanth Swaminathan
5535*1fd5a2e1SPrashanth Swaminathan2002-03-29  David Billinghurst <[email protected]>
5536*1fd5a2e1SPrashanth Swaminathan
5537*1fd5a2e1SPrashanth Swaminathan	PR other/2620
5538*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.s: Delete
5539*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.s: Delete
5540*1fd5a2e1SPrashanth Swaminathan
5541*1fd5a2e1SPrashanth Swaminathan2002-03-21  Loren J. Rittle  <[email protected]>
5542*1fd5a2e1SPrashanth Swaminathan
5543*1fd5a2e1SPrashanth Swaminathan	* configure.in: Enable alpha*-*-freebsd*.
5544*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5545*1fd5a2e1SPrashanth Swaminathan
5546*1fd5a2e1SPrashanth Swaminathan2002-03-17  Bryce McKinlay  <[email protected]>
5547*1fd5a2e1SPrashanth Swaminathan
5548*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: libfficonvenience -> libffi_convenience.
5549*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5550*1fd5a2e1SPrashanth Swaminathan
5551*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Define ffitest_OBJECTS.
5552*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5553*1fd5a2e1SPrashanth Swaminathan
5554*1fd5a2e1SPrashanth Swaminathan2002-03-07  Andreas Tobler  <[email protected]>
5555*1fd5a2e1SPrashanth Swaminathan	    David Edelsohn  <[email protected]>
5556*1fd5a2e1SPrashanth Swaminathan
5557*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
5558*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
5559*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
5560*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5561*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add AIX and Darwin closure definitions.
5562*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
5563*1fd5a2e1SPrashanth Swaminathan	(flush_icache, flush_range): New functions.
5564*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_DARWIN): New function.
5565*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix_closure.S: New file.
5566*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin_closure.S: New file.
5567*1fd5a2e1SPrashanth Swaminathan
5568*1fd5a2e1SPrashanth Swaminathan2002-02-24  Jeff Sturm  <[email protected]>
5569*1fd5a2e1SPrashanth Swaminathan
5570*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add typedef for ffi_arg.
5571*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (main): Declare rint with ffi_arg.
5572*1fd5a2e1SPrashanth Swaminathan
5573*1fd5a2e1SPrashanth Swaminathan2002-02-21  Andreas Tobler  <[email protected]>
5574*1fd5a2e1SPrashanth Swaminathan
5575*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
5576*1fd5a2e1SPrashanth Swaminathan	number of GPRs for floating-point arguments.
5577*1fd5a2e1SPrashanth Swaminathan
5578*1fd5a2e1SPrashanth Swaminathan2002-01-31  Anthony Green  <[email protected]>
5579*1fd5a2e1SPrashanth Swaminathan
5580*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5581*1fd5a2e1SPrashanth Swaminathan	* configure.in: Replace CHECK_SIZEOF and endian tests with
5582*1fd5a2e1SPrashanth Swaminathan	cross-compiler friendly macros.
5583*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
5584*1fd5a2e1SPrashanth Swaminathan	macros.
5585*1fd5a2e1SPrashanth Swaminathan
5586*1fd5a2e1SPrashanth Swaminathan2002-01-18  David Edelsohn  <[email protected]>
5587*1fd5a2e1SPrashanth Swaminathan
5588*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S (_ffi_call_AIX): New.
5589*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S (ffi_call_DARWIN): New.
5590*1fd5a2e1SPrashanth Swaminathan
5591*1fd5a2e1SPrashanth Swaminathan2002-01-17  David Edelsohn  <[email protected]>
5592*1fd5a2e1SPrashanth Swaminathan
5593*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
5594*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_POWERPC_AIX): New.
5595*1fd5a2e1SPrashanth Swaminathan	(POWERPC_AIX): New stanza.
5596*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Regenerate.
5597*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add AIX case.
5598*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5599*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ffi_abi): Add FFI_AIX.
5600*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
5601*1fd5a2e1SPrashanth Swaminathan	size.  Fix "long double" support.
5602*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Add FFI_AIX case.
5603*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/aix.S: New.
5604*1fd5a2e1SPrashanth Swaminathan
5605*1fd5a2e1SPrashanth Swaminathan2001-10-09  John Hornkvist  <[email protected]>
5606*1fd5a2e1SPrashanth Swaminathan
5607*1fd5a2e1SPrashanth Swaminathan	Implement Darwin PowerPC ABI.
5608*1fd5a2e1SPrashanth Swaminathan	* configure.in: Handle powerpc-*-darwin*.
5609*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Set source files for POWERPC_DARWIN.
5610*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5611*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5612*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
5613*1fd5a2e1SPrashanth Swaminathan	POWERPC_DARWIN.
5614*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/darwin.S: New file.
5615*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi_darwin.c: New file.
5616*1fd5a2e1SPrashanth Swaminathan
5617*1fd5a2e1SPrashanth Swaminathan2001-10-07  Joseph S. Myers  <[email protected]>
5618*1fd5a2e1SPrashanth Swaminathan
5619*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
5620*1fd5a2e1SPrashanth Swaminathan
5621*1fd5a2e1SPrashanth Swaminathan2001-07-16  Rainer Orth  <[email protected]>
5622*1fd5a2e1SPrashanth Swaminathan
5623*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Avoid gas-only .balign directive.
5624*1fd5a2e1SPrashanth Swaminathan	Use C style comments.
5625*1fd5a2e1SPrashanth Swaminathan
5626*1fd5a2e1SPrashanth Swaminathan2001-07-16  Rainer Orth  <[email protected]>
5627*1fd5a2e1SPrashanth Swaminathan
5628*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
5629*1fd5a2e1SPrashanth Swaminathan	Fixes PR bootstrap/3563.
5630*1fd5a2e1SPrashanth Swaminathan
5631*1fd5a2e1SPrashanth Swaminathan2001-06-26  Rainer Orth  <[email protected]>
5632*1fd5a2e1SPrashanth Swaminathan
5633*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
5634*1fd5a2e1SPrashanth Swaminathan
5635*1fd5a2e1SPrashanth Swaminathan2001-06-25  Rainer Orth  <[email protected]>
5636*1fd5a2e1SPrashanth Swaminathan
5637*1fd5a2e1SPrashanth Swaminathan	* configure.in: Recognize sparc*-sun-* host.
5638*1fd5a2e1SPrashanth Swaminathan	* configure: Regenerate.
5639*1fd5a2e1SPrashanth Swaminathan
5640*1fd5a2e1SPrashanth Swaminathan2001-06-06  Andrew Haley  <[email protected]>
5641*1fd5a2e1SPrashanth Swaminathan
5642*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5643*1fd5a2e1SPrashanth Swaminathan
5644*1fd5a2e1SPrashanth Swaminathan2001-06-03  Andrew Haley  <[email protected]>
5645*1fd5a2e1SPrashanth Swaminathan
5646*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Add unwind info.
5647*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/sysv.S: Add unwind info.
5648*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: Likewise.
5649*1fd5a2e1SPrashanth Swaminathan
5650*1fd5a2e1SPrashanth Swaminathan2000-05-31  Jeff Sturm  <[email protected]>
5651*1fd5a2e1SPrashanth Swaminathan
5652*1fd5a2e1SPrashanth Swaminathan	* configure.in: Fix AC_ARG_ENABLE usage.
5653*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5654*1fd5a2e1SPrashanth Swaminathan
5655*1fd5a2e1SPrashanth Swaminathan2001-05-06  Bryce McKinlay  <[email protected]>
5656*1fd5a2e1SPrashanth Swaminathan
5657*1fd5a2e1SPrashanth Swaminathan	* configure.in: Remove warning about beta code.
5658*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5659*1fd5a2e1SPrashanth Swaminathan
5660*1fd5a2e1SPrashanth Swaminathan2001-04-25  Hans Boehm <[email protected]>
5661*1fd5a2e1SPrashanth Swaminathan
5662*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S: Restore stack pointer when returning from
5663*1fd5a2e1SPrashanth Swaminathan	ffi_closure_UNIX.
5664*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c: Fix typo in comment.
5665*1fd5a2e1SPrashanth Swaminathan
5666*1fd5a2e1SPrashanth Swaminathan2001-04-18  Jim Wilson  <[email protected]>
5667*1fd5a2e1SPrashanth Swaminathan
5668*1fd5a2e1SPrashanth Swaminathan	* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
5669*1fd5a2e1SPrashanth Swaminathan	to eliminate RAW DV.
5670*1fd5a2e1SPrashanth Swaminathan
5671*1fd5a2e1SPrashanth Swaminathan2001-04-12  Bryce McKinlay  <[email protected]>
5672*1fd5a2e1SPrashanth Swaminathan
5673*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Make a libtool convenience library.
5674*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5675*1fd5a2e1SPrashanth Swaminathan
5676*1fd5a2e1SPrashanth Swaminathan2001-03-29  Bryce McKinlay  <[email protected]>
5677*1fd5a2e1SPrashanth Swaminathan
5678*1fd5a2e1SPrashanth Swaminathan	* configure.in: Use different syntax for subdirectory creation.
5679*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5680*1fd5a2e1SPrashanth Swaminathan
5681*1fd5a2e1SPrashanth Swaminathan2001-03-27  Jon Beniston  <[email protected]>
5682*1fd5a2e1SPrashanth Swaminathan
5683*1fd5a2e1SPrashanth Swaminathan	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
5684*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5685*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Added X86_WIN32 target support.
5686*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5687*1fd5a2e1SPrashanth Swaminathan
5688*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Added X86_WIN32 target support.
5689*1fd5a2e1SPrashanth Swaminathan
5690*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
5691*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Added X86_WIN32 target support.
5692*1fd5a2e1SPrashanth Swaminathan
5693*1fd5a2e1SPrashanth Swaminathan	* src/x86/win32.S: New file. Based on sysv.S, but with EH
5694*1fd5a2e1SPrashanth Swaminathan	stuff removed and made to work with CygWin's gas.
5695*1fd5a2e1SPrashanth Swaminathan
5696*1fd5a2e1SPrashanth Swaminathan2001-03-26  Bryce McKinlay  <[email protected]>
5697*1fd5a2e1SPrashanth Swaminathan
5698*1fd5a2e1SPrashanth Swaminathan	* configure.in: Make target subdirectory in build dir.
5699*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Override suffix based rules to specify correct output
5700*1fd5a2e1SPrashanth Swaminathan	subdirectory.
5701*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5702*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5703*1fd5a2e1SPrashanth Swaminathan
5704*1fd5a2e1SPrashanth Swaminathan2001-03-23  Kevin B Hendricks  <[email protected]>
5705*1fd5a2e1SPrashanth Swaminathan
5706*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ppc_closure.S: New file.
5707*1fd5a2e1SPrashanth Swaminathan	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
5708*1fd5a2e1SPrashanth Swaminathan	involving long long and register pairs.
5709*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): New function.
5710*1fd5a2e1SPrashanth Swaminathan	(flush_icache): Likewise.
5711*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_helper_SYSV): Likewise.
5712*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
5713*1fd5a2e1SPrashanth Swaminathan	(FFI_TRAMPOLINE_SIZE): Likewise.
5714*1fd5a2e1SPrashanth Swaminathan	(FFI_NATIVE_RAW_API): Likewise.
5715*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5716*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
5717*1fd5a2e1SPrashanth Swaminathan	(TARGET_SRC_POWERPC): Likewise.
5718*1fd5a2e1SPrashanth Swaminathan
5719*1fd5a2e1SPrashanth Swaminathan2001-03-19  Tom Tromey  <[email protected]>
5720*1fd5a2e1SPrashanth Swaminathan
5721*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5722*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (ffitest_LDFLAGS): New macro.
5723*1fd5a2e1SPrashanth Swaminathan
5724*1fd5a2e1SPrashanth Swaminathan2001-03-02  Nick Clifton  <[email protected]>
5725*1fd5a2e1SPrashanth Swaminathan
5726*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Remove RCS ident string.
5727*1fd5a2e1SPrashanth Swaminathan	* include/ffi_mips.h: Remove RCS ident string.
5728*1fd5a2e1SPrashanth Swaminathan	* src/debug.c: Remove RCS ident string.
5729*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c: Remove RCS ident string.
5730*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c: Remove RCS ident string.
5731*1fd5a2e1SPrashanth Swaminathan	* src/types.c: Remove RCS ident string.
5732*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c: Remove RCS ident string.
5733*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S: Remove RCS ident string.
5734*1fd5a2e1SPrashanth Swaminathan	* src/arm/ffi.c: Remove RCS ident string.
5735*1fd5a2e1SPrashanth Swaminathan	* src/arm/sysv.S: Remove RCS ident string.
5736*1fd5a2e1SPrashanth Swaminathan	* src/mips/ffi.c: Remove RCS ident string.
5737*1fd5a2e1SPrashanth Swaminathan	* src/mips/n32.S: Remove RCS ident string.
5738*1fd5a2e1SPrashanth Swaminathan	* src/mips/o32.S: Remove RCS ident string.
5739*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c: Remove RCS ident string.
5740*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Remove RCS ident string.
5741*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: Remove RCS ident string.
5742*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c: Remove RCS ident string.
5743*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S: Remove RCS ident string.
5744*1fd5a2e1SPrashanth Swaminathan
5745*1fd5a2e1SPrashanth Swaminathan2001-02-08  Joseph S. Myers  <[email protected]>
5746*1fd5a2e1SPrashanth Swaminathan
5747*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Change sourceware.cygnus.com references to
5748*1fd5a2e1SPrashanth Swaminathan	gcc.gnu.org.
5749*1fd5a2e1SPrashanth Swaminathan
5750*1fd5a2e1SPrashanth Swaminathan2000-12-09  Richard Henderson  <[email protected]>
5751*1fd5a2e1SPrashanth Swaminathan
5752*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (ffi_call): Simplify struct return test.
5753*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_osf_inner): Index rather than increment avalue
5754*1fd5a2e1SPrashanth Swaminathan	and arg_types.  Give ffi_closure_osf the raw return value type.
5755*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (ffi_closure_osf): Handle return value type
5756*1fd5a2e1SPrashanth Swaminathan	promotion.
5757*1fd5a2e1SPrashanth Swaminathan
5758*1fd5a2e1SPrashanth Swaminathan2000-12-07  Richard Henderson  <[email protected]>
5759*1fd5a2e1SPrashanth Swaminathan
5760*1fd5a2e1SPrashanth Swaminathan	* src/raw_api.c (ffi_translate_args): Fix typo.
5761*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Likewise.
5762*1fd5a2e1SPrashanth Swaminathan
5763*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
5764*1fd5a2e1SPrashanth Swaminathan	FFI_TRAMPOLINE_SIZE.
5765*1fd5a2e1SPrashanth Swaminathan	* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
5766*1fd5a2e1SPrashanth Swaminathan	cif->bytes for new ffi_call_osf implementation.
5767*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args): Absorb into ...
5768*1fd5a2e1SPrashanth Swaminathan	(ffi_call): ... here.  Do all stack allocation here and
5769*1fd5a2e1SPrashanth Swaminathan	avoid a callback function.
5770*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure, ffi_closure_osf_inner): New.
5771*1fd5a2e1SPrashanth Swaminathan	* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
5772*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_osf): New.
5773*1fd5a2e1SPrashanth Swaminathan
5774*1fd5a2e1SPrashanth Swaminathan2000-09-10  Alexandre Oliva  <[email protected]>
5775*1fd5a2e1SPrashanth Swaminathan
5776*1fd5a2e1SPrashanth Swaminathan	* config.guess, config.sub, install-sh: Removed.
5777*1fd5a2e1SPrashanth Swaminathan	* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
5778*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5779*1fd5a2e1SPrashanth Swaminathan
5780*1fd5a2e1SPrashanth Swaminathan	* acinclude.m4: Include libtool macros from the top level.
5781*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, configure: Rebuilt.
5782*1fd5a2e1SPrashanth Swaminathan
5783*1fd5a2e1SPrashanth Swaminathan2000-08-22  Alexandre Oliva  <[email protected]>
5784*1fd5a2e1SPrashanth Swaminathan
5785*1fd5a2e1SPrashanth Swaminathan	* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
5786*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5787*1fd5a2e1SPrashanth Swaminathan
5788*1fd5a2e1SPrashanth Swaminathan2000-05-11  Scott Bambrough  <[email protected]>
5789*1fd5a2e1SPrashanth Swaminathan
5790*1fd5a2e1SPrashanth Swaminathan	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
5791*1fd5a2e1SPrashanth Swaminathan	memory correctly.  Use conditional instructions, not branches where
5792*1fd5a2e1SPrashanth Swaminathan	possible.
5793*1fd5a2e1SPrashanth Swaminathan
5794*1fd5a2e1SPrashanth Swaminathan2000-05-04  Tom Tromey  <[email protected]>
5795*1fd5a2e1SPrashanth Swaminathan
5796*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5797*1fd5a2e1SPrashanth Swaminathan	* configure.in: Match `arm*-*-linux-*'.
5798*1fd5a2e1SPrashanth Swaminathan	From Chris Dornan <[email protected]>.
5799*1fd5a2e1SPrashanth Swaminathan
5800*1fd5a2e1SPrashanth Swaminathan2000-04-28  Jakub Jelinek  <[email protected]>
5801*1fd5a2e1SPrashanth Swaminathan
5802*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (SUBDIRS): Define.
5803*1fd5a2e1SPrashanth Swaminathan	(AM_MAKEFLAGS): Likewise.
5804*1fd5a2e1SPrashanth Swaminathan	(Multilib support.): Add section.
5805*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5806*1fd5a2e1SPrashanth Swaminathan	* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
5807*1fd5a2e1SPrashanth Swaminathan	New variables. Set for gcc using -print-multi-lib. Export them
5808*1fd5a2e1SPrashanth Swaminathan	to libtool.
5809*1fd5a2e1SPrashanth Swaminathan	(sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
5810*1fd5a2e1SPrashanth Swaminathan	* ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
5811*1fd5a2e1SPrashanth Swaminathan	for -shared links.
5812*1fd5a2e1SPrashanth Swaminathan	(extra_compiler_flags_value, extra_compiler_flags): Check these
5813*1fd5a2e1SPrashanth Swaminathan	for extra compiler options which need to be passed down in
5814*1fd5a2e1SPrashanth Swaminathan	compiler_flags.
5815*1fd5a2e1SPrashanth Swaminathan
5816*1fd5a2e1SPrashanth Swaminathan2000-04-16  Anthony Green  <[email protected]>
5817*1fd5a2e1SPrashanth Swaminathan
5818*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5819*1fd5a2e1SPrashanth Swaminathan	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.
5820*1fd5a2e1SPrashanth Swaminathan
5821*1fd5a2e1SPrashanth Swaminathan2000-04-14  Jakub Jelinek  <[email protected]>
5822*1fd5a2e1SPrashanth Swaminathan
5823*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
5824*1fd5a2e1SPrashanth Swaminathan	Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
5825*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
5826*1fd5a2e1SPrashanth Swaminathan	Replace all void * sizeofs with sizeof(int).
5827*1fd5a2e1SPrashanth Swaminathan	Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
5828*1fd5a2e1SPrashanth Swaminathan	different than DOUBLE.
5829*1fd5a2e1SPrashanth Swaminathan	Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
5830*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_args_v9): New function.
5831*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
5832*1fd5a2e1SPrashanth Swaminathan	(ffi_V9_return_struct): New function.
5833*1fd5a2e1SPrashanth Swaminathan	(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
5834*1fd5a2e1SPrashanth Swaminathan	32bit code (not yet cross-arch calls).
5835*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v8.S: Add struct return delay nop.
5836*1fd5a2e1SPrashanth Swaminathan	Handle long long.
5837*1fd5a2e1SPrashanth Swaminathan	* src/sparc/v9.S: New file.
5838*1fd5a2e1SPrashanth Swaminathan	* src/prep_cif.c (ffi_prep_cif): Return structure pointer
5839*1fd5a2e1SPrashanth Swaminathan	is used on sparc64 only for structures larger than 32 bytes.
5840*1fd5a2e1SPrashanth Swaminathan	Pass by reference for structures is done for structure arguments
5841*1fd5a2e1SPrashanth Swaminathan	larger than 16 bytes.
5842*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (main): Use 64bit rint on sparc64.
5843*1fd5a2e1SPrashanth Swaminathan	Run long long tests on sparc.
5844*1fd5a2e1SPrashanth Swaminathan	* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
5845*1fd5a2e1SPrashanth Swaminathan	sparc64.
5846*1fd5a2e1SPrashanth Swaminathan	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
5847*1fd5a2e1SPrashanth Swaminathan	on sparc64.
5848*1fd5a2e1SPrashanth Swaminathan	* configure.in (sparc-*-linux*): New supported target.
5849*1fd5a2e1SPrashanth Swaminathan	(sparc64-*-linux*): Likewise.
5850*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5851*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Add v9.S to SPARC files.
5852*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Likewise.
5853*1fd5a2e1SPrashanth Swaminathan	(LINK): Surround $(CCLD) into double quotes, so that multilib
5854*1fd5a2e1SPrashanth Swaminathan	compiles work correctly.
5855*1fd5a2e1SPrashanth Swaminathan
5856*1fd5a2e1SPrashanth Swaminathan2000-04-04  Alexandre Petit-Bianco  <[email protected]>
5857*1fd5a2e1SPrashanth Swaminathan
5858*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5859*1fd5a2e1SPrashanth Swaminathan	* configure.in: (i*86-*-solaris*): New libffi target. Patch
5860*1fd5a2e1SPrashanth Swaminathan	proposed by Bryce McKinlay.
5861*1fd5a2e1SPrashanth Swaminathan
5862*1fd5a2e1SPrashanth Swaminathan2000-03-20  Tom Tromey  <[email protected]>
5863*1fd5a2e1SPrashanth Swaminathan
5864*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Hand edit for java_raw_api.lo.
5865*1fd5a2e1SPrashanth Swaminathan
5866*1fd5a2e1SPrashanth Swaminathan2000-03-08  Bryce McKinlay  <[email protected]>
5867*1fd5a2e1SPrashanth Swaminathan
5868*1fd5a2e1SPrashanth Swaminathan	* config.guess, config.sub: Update from the gcc tree.
5869*1fd5a2e1SPrashanth Swaminathan	Fix for PR libgcj/168.
5870*1fd5a2e1SPrashanth Swaminathan
5871*1fd5a2e1SPrashanth Swaminathan2000-03-03  Tom Tromey  <[email protected]>
5872*1fd5a2e1SPrashanth Swaminathan
5873*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Fixed ia64 by hand.
5874*1fd5a2e1SPrashanth Swaminathan
5875*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5876*1fd5a2e1SPrashanth Swaminathan	* configure.in (--enable-multilib): New option.
5877*1fd5a2e1SPrashanth Swaminathan	(libffi_basedir): New subst.
5878*1fd5a2e1SPrashanth Swaminathan	(AC_OUTPUT): Added multilib code.
5879*1fd5a2e1SPrashanth Swaminathan
5880*1fd5a2e1SPrashanth Swaminathan2000-03-02  Tom Tromey  <[email protected]>
5881*1fd5a2e1SPrashanth Swaminathan
5882*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5883*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
5884*1fd5a2e1SPrashanth Swaminathan	directory name.
5885*1fd5a2e1SPrashanth Swaminathan
5886*1fd5a2e1SPrashanth Swaminathan2000-02-25  Hans Boehm <[email protected]>
5887*1fd5a2e1SPrashanth Swaminathan
5888*1fd5a2e1SPrashanth Swaminathan	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
5889*1fd5a2e1SPrashanth Swaminathan	files.
5890*1fd5a2e1SPrashanth Swaminathan	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
5891*1fd5a2e1SPrashanth Swaminathan	list.
5892*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure): Use ffi_translate_args, not
5893*1fd5a2e1SPrashanth Swaminathan	ffi_closure_translate.
5894*1fd5a2e1SPrashanth Swaminathan	* src/java_raw_api.c: New file.
5895*1fd5a2e1SPrashanth Swaminathan	* src/ffitest.c (closure_test_fn): New function.
5896*1fd5a2e1SPrashanth Swaminathan	(main): Define `rint' as long long on IA64.  Added new test when
5897*1fd5a2e1SPrashanth Swaminathan	FFI_CLOSURES is defined.
5898*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
5899*1fd5a2e1SPrashanth Swaminathan	(ffi_abi): Recognize IA64.
5900*1fd5a2e1SPrashanth Swaminathan	(ffi_raw): Added `flt' field.
5901*1fd5a2e1SPrashanth Swaminathan	Added "Java raw API" code.
5902*1fd5a2e1SPrashanth Swaminathan	* configure.in: Recognize ia64.
5903*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (TARGET_SRC_IA64): New macro.
5904*1fd5a2e1SPrashanth Swaminathan	(libffi_la_common_SOURCES): Added java_raw_api.c.
5905*1fd5a2e1SPrashanth Swaminathan	(libffi_la_SOURCES): Define in IA64 case.
5906*1fd5a2e1SPrashanth Swaminathan
5907*1fd5a2e1SPrashanth Swaminathan2000-01-04  Tom Tromey  <[email protected]>
5908*1fd5a2e1SPrashanth Swaminathan
5909*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt with newer automake.
5910*1fd5a2e1SPrashanth Swaminathan
5911*1fd5a2e1SPrashanth Swaminathan1999-12-31  Tom Tromey  <[email protected]>
5912*1fd5a2e1SPrashanth Swaminathan
5913*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
5914*1fd5a2e1SPrashanth Swaminathan
5915*1fd5a2e1SPrashanth Swaminathan1999-09-01  Tom Tromey  <[email protected]>
5916*1fd5a2e1SPrashanth Swaminathan
5917*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
5918*1fd5a2e1SPrashanth Swaminathan	undefs.
5919*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
5920*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5921*1fd5a2e1SPrashanth Swaminathan	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
5922*1fd5a2e1SPrashanth Swaminathan	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
5923*1fd5a2e1SPrashanth Swaminathan	* acconfig.h: Don't #undef PACKAGE or VERSION.
5924*1fd5a2e1SPrashanth Swaminathan
5925*1fd5a2e1SPrashanth Swaminathan1999-08-09  Anthony Green  <[email protected]>
5926*1fd5a2e1SPrashanth Swaminathan
5927*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Try to work around messy header problem
5928*1fd5a2e1SPrashanth Swaminathan	with PACKAGE and VERSION.
5929*1fd5a2e1SPrashanth Swaminathan
5930*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5931*1fd5a2e1SPrashanth Swaminathan	* configure.in: Change version to 2.00-beta.
5932*1fd5a2e1SPrashanth Swaminathan
5933*1fd5a2e1SPrashanth Swaminathan	* fficonfig.h.in: Rebuilt.
5934*1fd5a2e1SPrashanth Swaminathan	* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5935*1fd5a2e1SPrashanth Swaminathan
5936*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_raw_call): Rename.
5937*1fd5a2e1SPrashanth Swaminathan
5938*1fd5a2e1SPrashanth Swaminathan1999-08-02  Kresten Krab Thorup  <[email protected]>
5939*1fd5a2e1SPrashanth Swaminathan
5940*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_closure_SYSV): New function.
5941*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_incoming_args_SYSV): Ditto.
5942*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure): Ditto.
5943*1fd5a2e1SPrashanth Swaminathan	(ffi_closure_raw_SYSV): Ditto.
5944*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_raw_closure): More ditto.
5945*1fd5a2e1SPrashanth Swaminathan	(ffi_call_raw): Final ditto.
5946*1fd5a2e1SPrashanth Swaminathan
5947*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in: Add definitions for closure and raw API.
5948*1fd5a2e1SPrashanth Swaminathan
5949*1fd5a2e1SPrashanth Swaminathan	* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
5950*1fd5a2e1SPrashanth Swaminathan	FFI_TYPE_UINT64.
5951*1fd5a2e1SPrashanth Swaminathan
5952*1fd5a2e1SPrashanth Swaminathan	* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5953*1fd5a2e1SPrashanth Swaminathan
5954*1fd5a2e1SPrashanth Swaminathan	* src/raw_api.c: New file.
5955*1fd5a2e1SPrashanth Swaminathan
5956*1fd5a2e1SPrashanth Swaminathan	* include/ffi.h.in (ffi_raw): New type.
5957*1fd5a2e1SPrashanth Swaminathan	(UINT_ARG, SINT_ARG): New defines.
5958*1fd5a2e1SPrashanth Swaminathan	(ffi_closure, ffi_raw_closure): New types.
5959*1fd5a2e1SPrashanth Swaminathan	(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
5960*1fd5a2e1SPrashanth Swaminathan
5961*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add check for endianness and sizeof void*.
5962*1fd5a2e1SPrashanth Swaminathan
5963*1fd5a2e1SPrashanth Swaminathan	* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5964*1fd5a2e1SPrashanth Swaminathan	instead of directly.
5965*1fd5a2e1SPrashanth Swaminathan
5966*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5967*1fd5a2e1SPrashanth Swaminathan
5968*1fd5a2e1SPrashanth SwaminathanThu Jul  8 14:28:42 1999  Anthony Green  <[email protected]>
5969*1fd5a2e1SPrashanth Swaminathan
5970*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add x86 and powerpc BeOS configurations.
5971*1fd5a2e1SPrashanth Swaminathan	From Makoto Kato <[email protected]>.
5972*1fd5a2e1SPrashanth Swaminathan
5973*1fd5a2e1SPrashanth Swaminathan1999-05-09  Anthony Green  <[email protected]>
5974*1fd5a2e1SPrashanth Swaminathan
5975*1fd5a2e1SPrashanth Swaminathan	* configure.in: Add warning about this being beta code.
5976*1fd5a2e1SPrashanth Swaminathan	Remove src/Makefile.am from the picture.
5977*1fd5a2e1SPrashanth Swaminathan	* configure: Rebuilt.
5978*1fd5a2e1SPrashanth Swaminathan
5979*1fd5a2e1SPrashanth Swaminathan	* Makefile.am: Move logic from src/Makefile.am.  Add changes
5980*1fd5a2e1SPrashanth Swaminathan	to support libffi as a target library.
5981*1fd5a2e1SPrashanth Swaminathan	* Makefile.in: Rebuilt.
5982*1fd5a2e1SPrashanth Swaminathan
5983*1fd5a2e1SPrashanth Swaminathan	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5984*1fd5a2e1SPrashanth Swaminathan	Upgraded to new autoconf, automake, libtool.
5985*1fd5a2e1SPrashanth Swaminathan
5986*1fd5a2e1SPrashanth Swaminathan	* README: Tweaks.
5987*1fd5a2e1SPrashanth Swaminathan
5988*1fd5a2e1SPrashanth Swaminathan	* LICENSE: Update copyright date.
5989*1fd5a2e1SPrashanth Swaminathan
5990*1fd5a2e1SPrashanth Swaminathan	* src/Makefile.am, src/Makefile.in: Removed.
5991*1fd5a2e1SPrashanth Swaminathan
5992*1fd5a2e1SPrashanth Swaminathan1998-11-29  Anthony Green  <[email protected]>
5993*1fd5a2e1SPrashanth Swaminathan
5994*1fd5a2e1SPrashanth Swaminathan	* include/ChangeLog: Removed.
5995*1fd5a2e1SPrashanth Swaminathan	* src/ChangeLog: Removed.
5996*1fd5a2e1SPrashanth Swaminathan	* src/mips/ChangeLog: Removed.
5997*1fd5a2e1SPrashanth Swaminathan	* src/sparc/ChangeLog: Remboved.
5998*1fd5a2e1SPrashanth Swaminathan	* src/x86/ChangeLog: Removed.
5999*1fd5a2e1SPrashanth Swaminathan
6000*1fd5a2e1SPrashanth Swaminathan	* ChangeLog.v1: Created.
6001