Merge pull request #268 from frida/fix/aarch64-large-aggregates
[libffi.git] / README
diff --git a/README b/README
index f3c9bb7..5984c45 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 Status
 ======
 
-libffi-3.0.14 was released on TBD.  Check the libffi web
+libffi-4?? was released on TBD.  Check the libffi web
 page for updates: <URL:http://sourceware.org/libffi/>.
 
 
@@ -43,7 +43,7 @@ Libffi has been ported to many different platforms.
 For specific configuration details and testing status, please
 refer to the wiki page here:
 
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.13
+ http://www.moxielogic.org/wiki/index.php?title=Libffi_3.2
 
 At the time of release, the following basic configurations have been
 tested:
@@ -51,6 +51,7 @@ tested:
 |-----------------+------------------+-------------------------|
 | Architecture    | Operating System | Compiler                |
 |-----------------+------------------+-------------------------|
+| AArch64 (ARM64) | iOS              | Clang                   |
 | AArch64         | Linux            | GCC                     |
 | Alpha           | Linux            | GCC                     |
 | Alpha           | Tru64            | GCC                     |
@@ -73,6 +74,7 @@ tested:
 | MIPS64          | Linux            | GCC                     |
 | Moxie           | Bare metal       | GCC                     |
 | Nios II         | Linux            | GCC                     |
+| OpenRISC        | Linux            | GCC                     |
 | PowerPC 32-bit  | AIX              | IBM XL C                |
 | PowerPC 64-bit  | AIX              | IBM XL C                |
 | PowerPC         | AMIGA            | GCC                     |
@@ -80,7 +82,8 @@ tested:
 | PowerPC         | Mac OSX          | GCC                     |
 | PowerPC         | FreeBSD          | GCC                     |
 | PowerPC 64-bit  | FreeBSD          | GCC                     |
-| PowerPC 64-bit  | Linux            | GCC                     |
+| PowerPC 64-bit  | Linux ELFv1      | GCC                     |
+| PowerPC 64-bit  | Linux ELFv2      | GCC                     |
 | S390            | Linux            | GCC                     |
 | S390X           | Linux            | GCC                     |
 | SPARC           | Linux            | GCC                     |
@@ -108,6 +111,7 @@ tested:
 | X86-64          | Linux/x32        | GCC                     |
 | X86-64          | OpenBSD          | GCC                     |
 | X86-64          | Solaris          | Oracle Solaris Studio C |
+| X86-64          | Windows/Cygwin   | GCC                     |
 | X86-64          | Windows/MingW    | GCC                     |
 | Xtensa          | Linux            | GCC                     |
 |-----------------+------------------+-------------------------|
@@ -124,6 +128,9 @@ system. Go to the directory you wish to build libffi in and run the
 "configure" program found in the root directory of the libffi source
 distribution.
 
+If you're building libffi directly from version control, configure won't
+exist yet; run ./autogen.sh first.
+
 You may want to tell configure where to install the libffi library and
 header files. To do that, use the --prefix configure switch.  Libffi
 will install under /usr/local by default. 
@@ -137,17 +144,28 @@ will add some extra code which will suppress certain warnings when you
 are using Purify with libffi. Only use this switch when using 
 Purify, as it will slow down the library.
 
+If you don't want to build documentation, use the --disable-docs
+configure switch.
+
 It's also possible to build libffi on Windows platforms with
 Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
 wrapper script during configuration like so:
 
-path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
+path/to/configure CC=path/to/msvcc.sh CXX=path/to/msvcc.sh LD=link CPP="cl -nologo -EP"
+
+For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64" and
+CXX="path/to/msvcc.sh -m64".  You may also need to specify --build
+appropriately.
+
+It is also possible to build libffi on Windows platforms with the LLVM
+project's clang-cl compiler, like below:
 
-For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-You may also need to specify --build appropriately. When building with MSVC
-under a MingW environment, you may need to remove the line in configure
-that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-present in MingW, and is not required when using MingW-style paths.)
+path/to/configure CC="path/to/msvcc.sh -clang-cl" CXX="path/to/msvcc.sh -clang-cl" LD=link CPP="clang-cl -EP"
+
+When building with MSVC under a MingW environment, you may need to
+remove the line in configure that sets 'fix_srcfile_path' to a 'cygpath'
+command.  ('cygpath' is not present in MingW, and is not required when
+using MingW-style paths.)
 
 For iOS builds, the 'libffi.xcodeproj' Xcode project is available.
 
@@ -165,12 +183,34 @@ To install the library and header files, type "make install".
 History
 =======
 
-See the ChangeLog files for details.
+See the git log for details at http://github.com/libffi/libffi.
+
+4.0 TBD
+        New API in support of GO closures.
+
+3.2.1 Nov-12-14
+        Build fix for non-iOS AArch64 targets.
+
+3.2 Nov-11-14
+        Add C99 Complex Type support (currently only supported on
+          s390).
+       Add support for PASCAL and REGISTER calling conventions on x86
+         Windows/Linux.
+       Add OpenRISC and Cygwin-64 support.
+        Bug fixes.
 
-3.0.14 TBD
+3.1 May-19-14
+        Add AArch64 (ARM64) iOS support.
         Add Nios II support.
         Add m88k and DEC VAX support.
-       Fix MIPS N32 ABI bug.
+       Add support for stdcall, thiscall, and fastcall on non-Windows
+         32-bit x86 targets such as Linux.
+       Various Android, MIPS N32, x86, FreeBSD and UltraSPARC IIi
+         fixes.
+       Make the testsuite more robust: eliminate several spurious
+         failures, and respect the $CC and $CXX environment variables.
+       Archive off the manually maintained ChangeLog in favor of git
+         log.
 
 3.0.13 Mar-17-13
        Add Meta support.
@@ -377,6 +417,7 @@ mips                Anthony Green, Casey Marshall
 mips64         David Daney
 moxie          Anthony Green
 nios ii                Sandra Loosemore
+openrisc        Sebastian Macke
 pa             Randolph Chung, Dave Anglin, Andreas Tobler
 powerpc                Geoffrey Keating, Andreas Tobler, 
                         David Edelsohn, John Hornkvist