I've committed this patch. Thanks,
Anthony Green On Sun, Dec 23, 2012 at 4:37 PM, Anthony Green <gr...@moxielogic.com> wrote: > The attached patch is fairly complete merge of the libffi side-stream > git repo. Highlights include aarch64 support, blackfin support, and > additional windows ABI support. I will commit this in a day or two > unless there are any objections. > > Thanks, > > Anthony Green > > > 2012-10-30 Magnus Granberg <zo...@gentoo.org> > Pavel Labushev <pavel.labus...@runbox.ru> > > * configure.ac: New options pax_emutramp > * configure, fficonfig.h.in: Regenerated > * src/closures.c: New function emutramp_enabled_check() and > checks. > > 2012-10-30 Frederick Cheung <frederick.che...@gmail.com> > > * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain > lion) and future version. > * configure: Rebuild. > > 2012-10-30 James Greenhalgh <james.greenhalgh at arm.com> > Marcus Shawcroft <marcus.shawcroft at arm.com> > > * README: Add details of aarch64 port. > * src/aarch64/ffi.c: New. > * src/aarch64/ffitarget.h: Likewise. > * src/aarch64/sysv.S: Likewise. > * Makefile.am: Support aarch64. > * configure.ac: Support aarch64. > * Makefile.in, configure: Rebuilt. > > 2012-10-30 James Greenhalgh <james.greenhalgh at arm.com> > Marcus Shawcroft <marcus.shawcroft at arm.com> > > * testsuite/lib/libffi.exp: Add support for aarch64. > * testsuite/libffi.call/cls_struct_va1.c: New. > * testsuite/libffi.call/cls_uchar_va.c: Likewise. > * testsuite/libffi.call/cls_uint_va.c: Likewise. > * testsuite/libffi.call/cls_ulong_va.c: Likewise. > * testsuite/libffi.call/cls_ushort_va.c: Likewise. > * testsuite/libffi.call/nested_struct11.c: Likewise. > * testsuite/libffi.call/uninitialized.c: Likewise. > * testsuite/libffi.call/va_1.c: Likewise. > * testsuite/libffi.call/va_struct1.c: Likewise. > * testsuite/libffi.call/va_struct2.c: Likewise. > * testsuite/libffi.call/va_struct3.c: Likewise. > > 2012-10-12 Walter Lee <w...@tilera.com> > > * Makefile.am: Add TILE-Gx/TILEPro support. > * configure.ac: Likewise. > * Makefile.in: Regenerate. > * configure: Likewise. > * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro. > * src/tile: New directory. > * src/tile/ffi.c: New file. > * src/tile/ffitarget.h: Ditto. > * src/tile/tile.S: Ditto. > > 2012-10-12 Matthias Klose <d...@ubuntu.com> > > * generate-osx-source-and-headers.py: Normalize whitespace. > > 2012-05-05 Nicolas Lelong > > * libffi.xcodeproj/project.pbxproj: Fixes. > * README: Update for iOS builds. > > 2012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keune...@gmail.com> > > * configure.ac: Add Blackfin/sysv support > * Makefile.am: Add Blackfin/sysv support > * src/bfin/ffi.c: Add Blackfin/sysv support > * src/bfin/ffitarget.h: Add Blackfin/sysv support > > 2012-04-11 Anthony Green <gr...@moxielogic.com> > > * Makefile.am (EXTRA_DIST): Add new script. > * Makefile.in: Rebuilt. > > 2012-04-11 Zachary Waldowski <zwaldow...@gmail.com> > > * generate-ios-source-and-headers.py, > libffi.xcodeproj/project.pbxproj: Support a Mac static library via > Xcode. Set iOS compatibility to 4.0. Move iOS trampoline > generation into an Xcode "run script" phase. Include both as > Xcode build scripts. Don't always regenerate config files. > > 2012-04-10 Anthony Green <gr...@moxielogic.com> > > * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon. > > 2012-04-06 Anthony Green <gr...@moxielogic.com> > > * Makefile.am (EXTRA_DIST): Add new iOS/xcode files. > * Makefile.in: Rebuilt. > > 2012-04-06 Mike Lewis <mikelikes...@gmail.com> > > * generate-ios-source-and-headers.py: New file. > * libffi.xcodeproj/project.pbxproj: New file. > * README: Update instructions on building iOS binary. > * build-ios.sh: Delete. > > 2012-04-06 Anthony Green <gr...@moxielogic.com> > * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU > compilers, then use it. > > 2012-04-06 H.J. Lu <hongjiu...@intel.com> > > * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. > > 2012-04-06 Anthony Green <gr...@moxielogic.com> > > * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases. > * testsuite/Makefile.in: Rebuilt. > > 2012-04-05 Zachary Waldowski <zwaldow...@gmail.com> > > * include/ffi.h.in: Add missing trampoline table fields. > * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references > in CNAME. > * src/x86/ffi.c: Wrap Windows specific code in ifdefs. > > 2012-03-29 Peter Rosin <p...@lysator.liu.se> > > * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame > generation, fix the ENDP label and remove the surplus third arg > from the 'lea' insn. > > 2012-03-29 Peter Rosin <p...@lysator.liu.se> > > * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label > visible outside the PROC, so that ffi_closure_raw_THISCALL can see > it. Also instruct the assembler to add a frame to the function. > > 2012-03-23 Peter Rosin <p...@lysator.liu.se> > > * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING. > * Makefile.in: Rebuilt. > * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations > to all data exports, when compiling libffi clients using MSVC. > > 2012-03-29 Peter Rosin <p...@lysator.liu.se> > > * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and > make it the default for MSVC. > (FFI_TYPE_MS_STRUCT): New structure return convention. > * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure > return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT > instead of an ordinary FFI_TYPE_STRUCT. > (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT. > (ffi_call): Likewise. > (ffi_prep_incoming_args_SYSV): Likewise. > (ffi_raw_call): Likewise. > (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV. > * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT, > return a pointer to the result structure in eax and don't pop > that pointer from the stack, the caller takes care of it. > (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT. > (ffi_closure_raw_SYSV): Likewise. > > 2012-03-22 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline > assembly version with Intel syntax. > * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise. > > 2012-03-23 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/ffitest.h: Provide abstration of > __attribute__((fastcall)) in the form of a __FASTCALL__ > define. Define it to __fastcall for MSVC. > * testsuite/libffi.call/fastthis1_win32.c: Use the above. > * testsuite/libffi.call/fastthis2_win32.c: Likewise. > * testsuite/libffi.call/fastthis3_win32.c: Likewise. > * testsuite/libffi.call/strlen2_win32.c: Likewise. > * testsuite/libffi.call/struct1_win32.c: Likewise. > * testsuite/libffi.call/struct2_win32.c: Likewise. > > 2012-03-22 Peter Rosin <p...@lysator.liu.se> > > * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual > frame on function entry, MASM adds one automatically. > > 2012-03-22 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing > bits in the MSVC headers. > > 2012-03-22 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style > with no declarations after statements. > * testsuite/libffi.call/cls_16byte.c: Likewise. > * testsuite/libffi.call/cls_18byte.c: Likewise. > * testsuite/libffi.call/cls_19byte.c: Likewise. > * testsuite/libffi.call/cls_1_1byte.c: Likewise. > * testsuite/libffi.call/cls_20byte.c: Likewise. > * testsuite/libffi.call/cls_20byte1.c: Likewise. > * testsuite/libffi.call/cls_24byte.c: Likewise. > * testsuite/libffi.call/cls_2byte.c: Likewise. > * testsuite/libffi.call/cls_3_1byte.c: Likewise. > * testsuite/libffi.call/cls_3byte1.c: Likewise. > * testsuite/libffi.call/cls_3byte2.c: Likewise. > * testsuite/libffi.call/cls_4_1byte.c: Likewise. > * testsuite/libffi.call/cls_4byte.c: Likewise. > * testsuite/libffi.call/cls_5_1_byte.c: Likewise. > * testsuite/libffi.call/cls_5byte.c: Likewise. > * testsuite/libffi.call/cls_64byte.c: Likewise. > * testsuite/libffi.call/cls_6_1_byte.c: Likewise. > * testsuite/libffi.call/cls_6byte.c: Likewise. > * testsuite/libffi.call/cls_7_1_byte.c: Likewise. > * testsuite/libffi.call/cls_7byte.c: Likewise. > * testsuite/libffi.call/cls_8byte.c: Likewise. > * testsuite/libffi.call/cls_9byte1.c: Likewise. > * testsuite/libffi.call/cls_9byte2.c: Likewise. > * testsuite/libffi.call/cls_align_double.c: Likewise. > * testsuite/libffi.call/cls_align_float.c: Likewise. > * testsuite/libffi.call/cls_align_longdouble.c: Likewise. > * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise. > * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise. > * testsuite/libffi.call/cls_align_pointer.c: Likewise. > * testsuite/libffi.call/cls_align_sint16.c: Likewise. > * testsuite/libffi.call/cls_align_sint32.c: Likewise. > * testsuite/libffi.call/cls_align_sint64.c: Likewise. > * testsuite/libffi.call/cls_align_uint16.c: Likewise. > * testsuite/libffi.call/cls_align_uint32.c: Likewise. > * testsuite/libffi.call/cls_align_uint64.c: Likewise. > * testsuite/libffi.call/cls_dbls_struct.c: Likewise. > * testsuite/libffi.call/cls_pointer_stack.c: Likewise. > * testsuite/libffi.call/err_bad_typedef.c: Likewise. > * testsuite/libffi.call/huge_struct.c: Likewise. > * testsuite/libffi.call/nested_struct.c: Likewise. > * testsuite/libffi.call/nested_struct1.c: Likewise. > * testsuite/libffi.call/nested_struct10.c: Likewise. > * testsuite/libffi.call/nested_struct2.c: Likewise. > * testsuite/libffi.call/nested_struct3.c: Likewise. > * testsuite/libffi.call/nested_struct4.c: Likewise. > * testsuite/libffi.call/nested_struct5.c: Likewise. > * testsuite/libffi.call/nested_struct6.c: Likewise. > * testsuite/libffi.call/nested_struct7.c: Likewise. > * testsuite/libffi.call/nested_struct8.c: Likewise. > * testsuite/libffi.call/nested_struct9.c: Likewise. > * testsuite/libffi.call/stret_large.c: Likewise. > * testsuite/libffi.call/stret_large2.c: Likewise. > * testsuite/libffi.call/stret_medium.c: Likewise. > * testsuite/libffi.call/stret_medium2.c: Likewise. > * testsuite/libffi.call/struct1.c: Likewise. > * testsuite/libffi.call/struct1_win32.c: Likewise. > * testsuite/libffi.call/struct2.c: Likewise. > * testsuite/libffi.call/struct2_win32.c: Likewise. > * testsuite/libffi.call/struct3.c: Likewise. > * testsuite/libffi.call/struct4.c: Likewise. > * testsuite/libffi.call/struct5.c: Likewise. > * testsuite/libffi.call/struct6.c: Likewise. > * testsuite/libffi.call/struct7.c: Likewise. > * testsuite/libffi.call/struct8.c: Likewise. > * testsuite/libffi.call/struct9.c: Likewise. > * testsuite/libffi.call/testclosure.c: Likewise. > > 2012-03-21 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when > printing doubles (%lf is for long doubles). > (main): Likewise. > r > 2012-03-21 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when > printing doubles (%lf is for long doubles). > (main): Likewise. > > 2012-03-21 Peter Rosin <p...@lysator.liu.se> > > * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*] > (set_ld_library_path_env_vars): Add the library search dir to PATH > (and save PATH for later). > (restore_ld_library_path_env_vars): Restore PATH. > > 2012-03-20 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/strlen2_win32.c (main): Remove bug. > * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label > visible outside the PROC, so that ffi_closure_THISCALL can see it. > > 2012-03-20 Peter Rosin <p...@lysator.liu.se> > > * testsuite/libffi.call/strlen2_win32.c (main): Remove bug. > * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label > visible outside the PROC, so that ffi_closure_THISCALL can see it. > > 2012-03-19 Alan Hourihane <al...@fairlite.co.uk> > > * src/m68k/ffi.c: Add MINT support. > * src/m68k/sysv.S: Ditto. > > 2012-03-19 chennam <c...@axway.com> > > * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure > support. > > 2012-03-06 Chung-Lin Tang <clt...@codesourcery.com> > > * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to > ffi_call_VFP(). > (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of > ffi_closure_VFP. > * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code. > > 2012-04-02 Peter Rosin <p...@lysator.liu.se> > > * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return > value in the Intel version as is already done for the AT&T version. > (ffi_closure_SYSV): Likewise. > (ffi_closure_raw_SYSV): Likewise. > (ffi_closure_STDCALL): Likewise.