Commit Graph

73 Commits

Author SHA1 Message Date
Tom Tromey
6dd5fd5a64 fix documentation building
An earlier patch added --disable-docs, but went too far, making it
impossible to build the docs.

It turns out that Automake seemingly has a bug preventing the
conditional build of an info file.  So, this patch works around the
bug by putting the info_TEXINFOS rule into a new doc/Makefile.am.

Tested by building with and without --disable-docs and looking for the
existence of doc/libffi.info.
2016-02-22 15:49:43 -07:00
Havard Graff
fa7a257113 Add configure-option to disable building docs 2015-05-12 10:45:13 +02:00
Richard Henderson
9f112619c1 x86: Best guess at update for Darwin 2015-01-05 10:01:37 -08:00
Richard Henderson
5d69d57a05 configure: Move target source selection into configure.host
This eliminates the AM_CONDITIONAL ugliness, which eliminates
just a bit of extra boilerplate for a new target.

At the same time, properly categorize the EXTRA_DIST files
into SOURCES and HEADERS, for the generation of ctags.
2014-11-14 13:06:12 +01:00
Richard Henderson
2b27890ba7 sparc: Rewrite everything
It's impossible to call between v8 and v9 ABIs, because of the stack bias
in the v9 ABI.  So let's not pretend it's just not implemented yet.  Split
the v9 code out to a separate file.

The register windows prevent ffi_call from setting up the entire stack
frame the assembly, but we needn't make an indirect call back to prep_args.
2014-11-12 09:35:21 +01:00
Richard Henderson
a4b785ea69 arm: Rewrite ffi_closure
Move the push of the argument registers into ffi_closure_SYSV,
reducing the size of the trampoline.
2014-11-12 09:32:13 +01:00
Richard Henderson
b21ec1ce78 x86: Rewrite closures
Move everything into sysv.S, removing win32.S and freebsd.S.
Handle all abis with a single ffi_closure_inner function.
Move complexity of the raw THISCALL trampoline into assembly
instead of the trampoline itself.
Only push the context for the REGISTER abi; let the rest
receive it in a register.
2014-11-12 09:15:54 +01:00
Richard Henderson
99db4d42ac win64: Rewrite
It's way too different from the 32-bit ABIs with which it is
currently associated. As seen from all of the existing XFAILs.
2014-11-12 09:15:35 +01:00
Sebastian Macke
0f316ab7c1 Add OpenRISC support
This patch adds support for the OpenRISC architecture.
(http://opencores.org/or1k/Main_Page)

This patch has been tested under Linux with QEMU-user emulation support.
- 32 Bit
- big endian
- delayed instructions
This is the only available configuration under Linux.

The description of the ABI can be found on the official website.

Is passes the testsuite except of the unwindtest_ffi_call.cc
testcase, which seems to be a problem of gcc and not libffi.
Some testcases of the gcc testsuite still fail.

Signed-off-by: Sebastian Macke <sebastian@macke.de>
2014-09-27 00:56:56 +00:00
Anthony Green
0c2251a42d Support versions of git older than 1.8.5 2014-05-11 10:22:30 -04:00
Josh Triplett
f0c8a31577 Compile win32.S on FreeBSD 2014-03-25 10:10:51 -07:00
Josh Triplett
b2d610e028 Compile win32.S on 32-bit Darwin as well 2014-03-24 21:45:47 -07:00
Ryan VanderMeulen
46c5d3c30f Change double quotes in Makefile.am to single quotes.
This was originally done in PR #84, except the change was made to Makefile.in instead of Makefile.am and was therefore reverted the next time the files were regenerated.
2014-03-16 21:16:08 -04:00
Anthony Green
d948d0a729 Merge pull request #98 from joshtriplett/unconfigure.host
Merge configure.host into configure.ac
2014-03-16 10:53:48 -04:00
Josh Triplett
a86bd318e2 Merge configure.host into configure.ac
configure.host only has a single entry, and shows no signs of needing
more added.
2014-03-16 07:05:28 -07:00
Josh Triplett
1c68c07217 Generate ChangeLog from git in make dist
Archive the existing ChangeLog to ChangeLog.libffi-3.1
2014-03-16 06:16:20 -07:00
Josh Triplett
e1911f78df Add support for stdcall, thiscall, and fastcall on non-Windows x86-32
Linux supports the stdcall calling convention, either via functions
explicitly declared with the stdcall attribute, or via code compiled
with -mrtd which effectively makes stdcall the default.

This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on
non-Windows x86-32 platforms, as non-default calling conventions.
2014-03-16 05:05:06 -07:00
Anthony Green
634a475eaf Update Makefile for new darwin scripts 2014-03-01 18:37:29 -05:00
Anthony Green
a04e30ba3d Add missing -DFFI_DEBUG flag 2014-02-28 17:20:59 -05:00
Anthony Green
7ea677733b Remove build-ios from Makefile
Conflicts:
	ChangeLog
2014-02-05 14:28:59 -05:00
Anthony Green
3dc3f32c35 Undo iOS ARM64 changes. 2013-12-05 16:23:25 -05:00
Anthony Green
d4b931c1b8 Remove build-ios from Makefile 2013-11-30 20:58:31 -05:00
Alan Modra
ab79d6e219 This separates the 32-bit sysv/linux/bsd code from the 64-bit linux
code, and makes it possible to link code compiled with different
options to those used to compile libffi.  For example, a
-mlong-double-128 libffi can be used with -mlong-double-64 code.

Using the return value area as a place to pass parameters wasn't such
a good idea, causing a failure of cls_ulonglong.c.  I didn't see this
when running the mainline gcc libffi testsuite because that version of
the test is inferior to the upstreamm libffi test.

Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant
that a parameter save area could be allocated before it was strictly
necessary.  Wrong but harmless.  Found when splitting apart ffi.c
into 32-bit and 64-bit support.
2013-11-21 21:24:56 -05:00
Anthony Green
c2422174b3 Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support
arc: Fix build error
2013-11-02 17:11:08 -04:00
Sandra Loosemore
16b93a211b Add nios2 port. 2013-10-15 15:33:59 -04:00
Anthony Green
d2fcbcdfbe Add m88k and VAX support. Update some configury bits. 2013-10-08 06:27:46 -04:00
Mischa Jonker
d918d47809 arc: Fix build error
One part of the patch for ARC support was missing in the upstreamed
version.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
2013-07-08 15:51:36 +02:00
Anthony Green
f88118b345 Revert "Merge pull request #36 from abergmeier/emscripten_fix"
This reverts commit 6a4d901dde, reversing
changes made to b50a13b9c0.
2013-07-02 15:51:27 -04:00
Anthony Green
6a4d901dde Merge pull request #36 from abergmeier/emscripten_fix
Fixes for building with Emscripten
2013-07-02 12:12:34 -07:00
Mischa Jonker
b082e15091 Add ARC support
This adds support for the ARC architecture to libffi. DesignWare ARC
is a family of processors from Synopsys, Inc.

This patch has been tested on a little-endian system and passes
the testsuite.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
2013-06-14 10:06:30 +02:00
Andreas Bergmeier
587002c092 Enable disabling of libtool on platforms where it does not work (e.g. LLVM).
Build libraries normally then.
2013-04-19 17:12:24 +02:00
Anthony Green
215763d012 Update configury. 2013-03-16 07:57:35 -04:00
Anthony Green
2fb527a017 Add Meta processor support 2013-03-16 07:46:38 -04:00
Anthony Green
f308faf1ea Add moxie support. Release 3.0.12. 2013-02-11 14:25:13 -05:00
Anthony Green
7aab825cf1 Add missing files to dist 2013-02-08 13:26:21 -05:00
Anthony Green
ed6ae9501b Add libtool-ldflags. Define toolexeclibdir for non-GCC builds. 2013-02-07 16:43:36 -05:00
Anthony Green
f7cd61e9e6 Fix pkgconfig install bits 2013-02-06 17:38:04 -05:00
Anthony Green
aeb8719a34 New microblaze support 2013-01-21 07:55:37 -05:00
Anthony Green
20cae32b15 Xtensa support 2013-01-21 07:07:38 -05:00
Anthony Green
ea7f8440d5 remove gcc-ism 2013-01-04 09:09:32 -05:00
Anthony Green
335f419a86 Merge pull request #23 from rurban/master
cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined
2013-01-02 06:30:03 -08:00
Anthony Green
8bad679ade New stand-alone patch 2013-01-02 08:28:35 -05:00
Anthony Green
981c32ee11 Merge with GCC. Eliminate quilt bits. 2013-01-02 07:34:03 -05:00
Anthony Green
f680b598b7 Add missing aarch64 configury bits 2012-11-06 16:00:40 -05:00
Anthony Green
9c00a3f674 TILE-Gx/TILEPro support 2012-10-12 16:46:06 -04:00
Reini Urban
6d6f711080 cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined
otherwise only static libs are created.
2012-07-07 12:52:02 -05:00
Anthony Green
213ed15c70 Add blackfin supprt from Alexandre Keunecke. 2012-04-27 01:34:15 -04:00
Anthony Green
7e0a412c4f Update files to ship 2012-04-11 22:47:44 -04:00
Anthony Green
3f5023068c mend 2012-04-06 20:34:51 -04:00
Peter Rosin
0a1ab12a8d Various MSVC-related changes. 2012-03-30 08:14:08 -04:00