ffi 1.9.18-x86-mingw32 → 1.9.21-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ffi might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/README.md +3 -2
- data/Rakefile +14 -4
- data/ext/ffi_c/AbstractMemory.c +6 -1
- data/ext/ffi_c/Platform.c +10 -2
- data/ext/ffi_c/extconf.rb +7 -2
- data/ext/ffi_c/libffi.bsd.mk +9 -3
- data/ext/ffi_c/libffi.darwin.mk +14 -4
- data/ext/ffi_c/libffi.gnu.mk +2 -1
- data/ext/ffi_c/libffi.mk +9 -4
- data/ext/ffi_c/libffi/ChangeLog.libffi +2 -2
- data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.libffi-3.1} +1402 -2
- data/ext/ffi_c/libffi/ChangeLog.v1 +1 -1
- data/ext/ffi_c/libffi/LICENSE +1 -1
- data/ext/ffi_c/libffi/Makefile.am +166 -157
- data/ext/ffi_c/libffi/Makefile.in +923 -938
- data/ext/ffi_c/libffi/README +164 -52
- data/ext/ffi_c/libffi/acinclude.m4 +381 -0
- data/ext/ffi_c/libffi/aclocal.m4 +645 -384
- data/ext/ffi_c/libffi/autogen.sh +2 -0
- data/ext/ffi_c/libffi/autom4te.cache/output.0 +21972 -0
- data/ext/ffi_c/libffi/autom4te.cache/output.1 +21972 -0
- data/ext/ffi_c/libffi/autom4te.cache/output.2 +21972 -0
- data/ext/ffi_c/libffi/autom4te.cache/output.3 +21972 -0
- data/ext/ffi_c/libffi/autom4te.cache/requests +331 -0
- data/ext/ffi_c/libffi/autom4te.cache/traces.0 +4010 -0
- data/ext/ffi_c/libffi/autom4te.cache/traces.1 +1005 -0
- data/ext/ffi_c/libffi/autom4te.cache/traces.2 +4010 -0
- data/ext/ffi_c/libffi/autom4te.cache/traces.3 +4010 -0
- data/ext/ffi_c/libffi/compile +218 -14
- data/ext/ffi_c/libffi/config.guess +329 -368
- data/ext/ffi_c/libffi/config.sub +232 -112
- data/ext/ffi_c/libffi/configure +6970 -2189
- data/ext/ffi_c/libffi/configure.ac +148 -256
- data/ext/ffi_c/libffi/configure.host +265 -4
- data/ext/ffi_c/libffi/depcomp +346 -185
- data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
- data/ext/ffi_c/libffi/doc/Makefile.in +811 -0
- data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
- data/ext/ffi_c/libffi/{mdate-sh → doc/mdate-sh} +40 -13
- data/ext/ffi_c/libffi/{texinfo.tex → doc/texinfo.tex} +3990 -1121
- data/ext/ffi_c/libffi/doc/version.texi +4 -4
- data/ext/ffi_c/libffi/fficonfig.h.in +24 -13
- data/ext/ffi_c/libffi/fficonfig.h.in~ +210 -0
- data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +207 -0
- data/ext/ffi_c/libffi/include/Makefile.am +3 -3
- data/ext/ffi_c/libffi/include/Makefile.in +188 -71
- data/ext/ffi_c/libffi/include/ffi.h.in +107 -50
- data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
- data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
- data/ext/ffi_c/libffi/install-sh +190 -202
- data/ext/ffi_c/libffi/libffi.map.in +80 -0
- data/ext/ffi_c/libffi/libffi.pc.in +3 -2
- data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +637 -0
- data/ext/ffi_c/libffi/libtool-ldflags +106 -0
- data/ext/ffi_c/libffi/libtool-version +1 -1
- data/ext/ffi_c/libffi/ltmain.sh +3553 -2033
- data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
- data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
- data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
- data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
- data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
- data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
- data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
- data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
- data/ext/ffi_c/libffi/m4/libtool.m4 +1691 -1135
- data/ext/ffi_c/libffi/m4/ltoptions.m4 +104 -36
- data/ext/ffi_c/libffi/m4/ltsugar.m4 +4 -3
- data/ext/ffi_c/libffi/m4/ltversion.m4 +6 -6
- data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +4 -3
- data/ext/ffi_c/libffi/man/Makefile.am +2 -2
- data/ext/ffi_c/libffi/man/Makefile.in +141 -49
- data/ext/ffi_c/libffi/man/ffi.3 +10 -0
- data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
- data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
- data/ext/ffi_c/libffi/missing +150 -311
- data/ext/ffi_c/libffi/msvcc.sh +72 -9
- data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
- data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
- data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
- data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
- data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
- data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
- data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
- data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
- data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
- data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
- data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/arm/ffi.c +597 -517
- data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
- data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
- data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
- data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
- data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
- data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
- data/ext/ffi_c/libffi/src/closures.c +319 -44
- data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
- data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/debug.c +6 -1
- data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
- data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
- data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
- data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
- data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
- data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
- data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
- data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
- data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
- data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
- data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
- data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
- data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
- data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
- data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
- data/ext/ffi_c/libffi/src/mips/ffi.c +95 -28
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +9 -2
- data/ext/ffi_c/libffi/src/mips/n32.S +126 -56
- data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
- data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
- data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
- data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
- data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
- data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
- data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
- data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
- data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
- data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
- data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
- data/ext/ffi_c/libffi/src/powerpc/aix.S +6 -6
- data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +3 -1
- data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
- data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
- data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
- data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
- data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +25 -25
- data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
- data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
- data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
- data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +100 -44
- data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
- data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
- data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
- data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
- data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
- data/ext/ffi_c/libffi/src/raw_api.c +18 -5
- data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
- data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
- data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
- data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
- data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
- data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
- data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
- data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
- data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
- data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
- data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
- data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
- data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
- data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
- data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
- data/ext/ffi_c/libffi/src/types.c +43 -14
- data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
- data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
- data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
- data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
- data/ext/ffi_c/libffi/src/x86/ffi.c +589 -500
- data/ext/ffi_c/libffi/src/x86/ffi64.c +338 -116
- data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
- data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
- data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
- data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
- data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
- data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
- data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
- data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
- data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
- data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
- data/ext/ffi_c/libffi/stamp-h.in +1 -0
- data/ext/ffi_c/libffi/testsuite/Makefile.am +78 -73
- data/ext/ffi_c/libffi/testsuite/Makefile.in +218 -111
- data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +120 -25
- data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
- data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
- data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
- data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
- data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
- data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
- data/ffi.gemspec +2 -2
- data/lib/2.0/ffi_c.so +0 -0
- data/lib/2.1/ffi_c.so +0 -0
- data/lib/2.2/ffi_c.so +0 -0
- data/lib/2.3/ffi_c.so +0 -0
- data/lib/2.4/ffi_c.so +0 -0
- data/lib/2.5/ffi_c.so +0 -0
- data/lib/ffi/enum.rb +124 -0
- data/lib/ffi/library.rb +65 -13
- data/lib/ffi/platform.rb +7 -2
- data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
- data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
- data/lib/ffi/pointer.rb +1 -0
- data/lib/ffi/struct.rb +0 -2
- data/lib/ffi/version.rb +1 -1
- data/spec/ffi/bitmask_spec.rb +575 -0
- data/spec/ffi/embed-test/ext/Makefile +242 -0
- data/spec/ffi/fixtures/BitmaskTest.c +51 -0
- data/spec/ffi/rbx/memory_pointer_spec.rb +4 -0
- data/spec/ffi/struct_spec.rb +0 -4
- metadata +158 -32
- data/ext/ffi_c/libffi/Makefile.vc +0 -141
- data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
- data/ext/ffi_c/libffi/build-ios.sh +0 -67
- data/ext/ffi_c/libffi/doc/libffi.info +0 -593
- data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
- data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
- data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
- data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
- data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
- data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
- data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
- data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
- data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
- data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
- data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3b059a896cc1cf11cd83d94426fce7f1309f3a54aa85e3bd18241826bf34d55e
|
4
|
+
data.tar.gz: 4cf4b4ea0e721a61d0aafaf0a5e1618616a0e7fc8b8d04dcaf761866976a8447
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c8a716a3eafec569fa9b4da6218dfce3c3f5c4f9885aea5e2dd77e4c7b4116865b907a007e9cbb9fcb0345949d97d5af68ebdd29a1c13fcf419e84579d0f4d7
|
7
|
+
data.tar.gz: c1ca3f6440a8e9f580068962f80ec9cc3c33f1201824d55bac9bf2f2fb09739fc74c0f561b0d8af6daf64490e7376080831fbf8ba746a523e784f233ea7b6ae3
|
data/README.md
CHANGED
@@ -43,7 +43,7 @@ At a minimum, you will need:
|
|
43
43
|
* A C compiler (e.g. Xcode on OSX, gcc on everything else)
|
44
44
|
* libffi development library - this is commonly in the libffi-dev or libffi-devel
|
45
45
|
|
46
|
-
On Linux systems running with [PaX](https://en.wikipedia.org/wiki/PaX) (Gentoo, Alpine, etc.) FFI may trigger `
|
46
|
+
On Linux systems running with [PaX](https://en.wikipedia.org/wiki/PaX) (Gentoo, Alpine, etc.) FFI may trigger `mprotect` errors. You may need to disable [mprotect](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect.28.29) for ruby (`paxctl -m [/path/to/ruby]`) for the time being until a solution is found.
|
47
47
|
|
48
48
|
## Installation
|
49
49
|
|
@@ -54,8 +54,9 @@ From rubygems:
|
|
54
54
|
or from the git repository on github:
|
55
55
|
|
56
56
|
git clone git://github.com/ffi/ffi.git
|
57
|
+
git submodule update --init --recursive
|
57
58
|
cd ffi
|
58
|
-
rake
|
59
|
+
rake install
|
59
60
|
|
60
61
|
## License
|
61
62
|
|
data/Rakefile
CHANGED
@@ -65,7 +65,18 @@ OS = case RbConfig::CONFIG['host_os'].downcase
|
|
65
65
|
RbConfig::CONFIG['host_os'].downcase
|
66
66
|
end
|
67
67
|
|
68
|
-
|
68
|
+
def which(name)
|
69
|
+
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
70
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
71
|
+
exts.each do |ext|
|
72
|
+
app = File.join(path, name+ext)
|
73
|
+
return app if File.executable? app
|
74
|
+
end
|
75
|
+
end
|
76
|
+
nil
|
77
|
+
end
|
78
|
+
|
79
|
+
GMAKE = which('gmake').nil? ? 'make' : 'gmake'
|
69
80
|
|
70
81
|
LIBTEST = "build/libtest.#{LIBEXT}"
|
71
82
|
BUILD_DIR = "build"
|
@@ -175,7 +186,7 @@ if USE_RAKE_COMPILER
|
|
175
186
|
ext.cross_platform = %w[i386-mingw32 x64-mingw32] # forces the Windows platform instead of the default one
|
176
187
|
end
|
177
188
|
|
178
|
-
ENV['RUBY_CC_VERSION'] ||= '1.
|
189
|
+
ENV['RUBY_CC_VERSION'] ||= '1.9.3:2.0.0:2.1.6:2.2.2:2.3.0'
|
179
190
|
|
180
191
|
# To reduce the gem file size strip mingw32 dlls before packaging
|
181
192
|
ENV['RUBY_CC_VERSION'].to_s.split(':').each do |ruby_version|
|
@@ -191,8 +202,7 @@ if USE_RAKE_COMPILER
|
|
191
202
|
desc "build a windows gem without all the ceremony."
|
192
203
|
task "gem:windows" do
|
193
204
|
require "rake_compiler_dock"
|
194
|
-
sh "bundle
|
195
|
-
RakeCompilerDock.sh "bundle --local && rake cross native gem MAKE='nice make -j`nproc`'"
|
205
|
+
RakeCompilerDock.sh "sudo apt-get update && sudo apt-get install -y libltdl-dev && bundle && rake cross native gem MAKE='nice make -j`nproc`'"
|
196
206
|
end
|
197
207
|
end
|
198
208
|
|
data/ext/ffi_c/AbstractMemory.c
CHANGED
@@ -49,8 +49,13 @@
|
|
49
49
|
#include "Function.h"
|
50
50
|
#include "LongDouble.h"
|
51
51
|
|
52
|
-
#
|
52
|
+
#ifdef PRIsVALUE
|
53
|
+
# define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj)
|
54
|
+
# define RB_OBJ_STRING(obj) (obj)
|
55
|
+
#else
|
53
56
|
# define PRIsVALUE "s"
|
57
|
+
# define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj)
|
58
|
+
# define RB_OBJ_STRING(obj) StringValueCStr(obj)
|
54
59
|
#endif
|
55
60
|
|
56
61
|
static inline char* memory_address(VALUE self);
|
data/ext/ffi_c/Platform.c
CHANGED
@@ -66,12 +66,20 @@ static VALUE PlatformModule = Qnil;
|
|
66
66
|
#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc)
|
67
67
|
# define CPU "ppc"
|
68
68
|
|
69
|
-
/*
|
69
|
+
/*
|
70
|
+
* Need to check for __sparcv9 first, because __sparc will be defined either way.
|
71
|
+
* Note that __sparcv9 seems to only be set for Solaris. On Linux, __sparc will
|
72
|
+
* be set, along with __arch64__ if a 64-bit platform.
|
73
|
+
*/
|
70
74
|
#elif defined(__sparcv9__) || defined(__sparcv9)
|
71
75
|
# define CPU "sparcv9"
|
72
76
|
|
73
77
|
#elif defined(__sparc__) || defined(__sparc)
|
74
|
-
#
|
78
|
+
# if defined(__arch64__)
|
79
|
+
# define CPU "sparcv9"
|
80
|
+
# else
|
81
|
+
# define CPU "sparc"
|
82
|
+
# endif
|
75
83
|
|
76
84
|
#elif defined(__arm__) || defined(__arm)
|
77
85
|
# define CPU "arm"
|
data/ext/ffi_c/extconf.rb
CHANGED
@@ -29,8 +29,13 @@ if !defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
|
|
29
29
|
have_func('rb_thread_blocking_region')
|
30
30
|
have_func('rb_thread_call_with_gvl')
|
31
31
|
have_func('rb_thread_call_without_gvl')
|
32
|
-
|
33
|
-
|
32
|
+
|
33
|
+
if libffi_ok
|
34
|
+
have_func('ffi_prep_cif_var')
|
35
|
+
else
|
36
|
+
$defs << "-DHAVE_FFI_PREP_CIF_VAR"
|
37
|
+
end
|
38
|
+
|
34
39
|
$defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works
|
35
40
|
$defs << "-DUSE_INTERNAL_LIBFFI" unless libffi_ok
|
36
41
|
$defs << "-DRUBY_1_9" if RUBY_VERSION >= "1.9.0"
|
data/ext/ffi_c/libffi.bsd.mk
CHANGED
@@ -17,16 +17,22 @@ LIBFFI_BUILD_DIR = ${.CURDIR}/libffi-${arch}
|
|
17
17
|
|
18
18
|
|
19
19
|
LIBFFI = ${LIBFFI_BUILD_DIR}/.libs/libffi_convenience.a
|
20
|
+
LIBFFI_AUTOGEN = ${LIBFFI_SRC_DIR}/autogen.sh
|
20
21
|
LIBFFI_CONFIGURE = ${LIBFFI_SRC_DIR}/configure --disable-static \
|
21
|
-
--with-pic=yes --disable-dependency-tracking
|
22
|
+
--with-pic=yes --disable-dependency-tracking --disable-docs
|
22
23
|
|
23
24
|
$(OBJS): ${LIBFFI}
|
24
25
|
|
25
26
|
$(LIBFFI):
|
26
27
|
@mkdir -p ${LIBFFI_BUILD_DIR}
|
28
|
+
@if [ ! -f $(LIBFFI_BUILD_DIR)/configure ]; then \
|
29
|
+
echo "Running autoreconf for libffi"; \
|
30
|
+
cd "$(LIBFFI_SRC_DIR)" && \
|
31
|
+
/bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \
|
32
|
+
fi
|
27
33
|
@if [ ! -f ${LIBFFI_BUILD_DIR}/Makefile ]; then \
|
28
|
-
|
29
|
-
|
34
|
+
echo "Configuring libffi"; \
|
35
|
+
cd ${LIBFFI_BUILD_DIR} && \
|
30
36
|
/usr/bin/env CC="${CC}" LD="${LD}" CFLAGS="${LIBFFI_CFLAGS}" GREP_OPTIONS="" \
|
31
37
|
/bin/sh ${LIBFFI_CONFIGURE} ${LIBFFI_HOST} > /dev/null; \
|
32
38
|
fi
|
data/ext/ffi_c/libffi.darwin.mk
CHANGED
@@ -8,7 +8,7 @@ BUILD_DIR := $(shell pwd)
|
|
8
8
|
INCFLAGS += -I"$(BUILD_DIR)"
|
9
9
|
|
10
10
|
# Work out which arches we need to compile the lib for
|
11
|
-
ARCHES :=
|
11
|
+
ARCHES :=
|
12
12
|
ARCHFLAGS ?= $(filter -arch %, $(CFLAGS))
|
13
13
|
|
14
14
|
ifneq ($(findstring -arch ppc,$(ARCHFLAGS)),)
|
@@ -26,11 +26,16 @@ endif
|
|
26
26
|
ifeq ($(strip $(ARCHES)),)
|
27
27
|
LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi-$(arch)
|
28
28
|
# Just build the one (default) architecture
|
29
|
-
$(LIBFFI):
|
29
|
+
$(LIBFFI):
|
30
30
|
@mkdir -p "$(LIBFFI_BUILD_DIR)" "$(@D)"
|
31
|
+
@if [ ! -f "$(LIBFFI_BUILD_DIR)"/configure ]; then \
|
32
|
+
echo "Running autoreconf for libffi"; \
|
33
|
+
cd "$(LIBFFI_SRC_DIR)" && \
|
34
|
+
/bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \
|
35
|
+
fi
|
31
36
|
@if [ ! -f "$(LIBFFI_BUILD_DIR)"/Makefile ]; then \
|
32
|
-
|
33
|
-
|
37
|
+
echo "Configuring libffi"; \
|
38
|
+
cd "$(LIBFFI_BUILD_DIR)" && \
|
34
39
|
/usr/bin/env CC="$(CC)" LD="$(LD)" CFLAGS="$(LIBFFI_CFLAGS)" GREP_OPTIONS="" \
|
35
40
|
/bin/sh $(LIBFFI_CONFIGURE) $(LIBFFI_HOST) > /dev/null; \
|
36
41
|
fi
|
@@ -42,6 +47,11 @@ LIBTARGETS = $(foreach arch,$(ARCHES),"$(BUILD_DIR)"/libffi-$(arch)/.libs/libffi
|
|
42
47
|
# Build a fat binary and assemble
|
43
48
|
build_ffi = \
|
44
49
|
mkdir -p "$(BUILD_DIR)"/libffi-$(1); \
|
50
|
+
(if [ ! -f "$(BUILD_DIR)"/libffi-$(1)/configure ]; then \
|
51
|
+
echo "Running autoreconf for libffi"; \
|
52
|
+
cd "$(LIBFFI_SRC_DIR)" && \
|
53
|
+
/bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \
|
54
|
+
fi); \
|
45
55
|
(if [ ! -f "$(BUILD_DIR)"/libffi-$(1)/Makefile ]; then \
|
46
56
|
echo "Configuring libffi for $(1)"; \
|
47
57
|
cd "$(BUILD_DIR)"/libffi-$(1) && \
|
data/ext/ffi_c/libffi.gnu.mk
CHANGED
@@ -20,8 +20,9 @@ else
|
|
20
20
|
endif
|
21
21
|
|
22
22
|
LIBFFI = "$(LIBFFI_BUILD_DIR)"/.libs/libffi_convenience.a
|
23
|
+
LIBFFI_AUTOGEN = ${LIBFFI_SRC_DIR}/autogen.sh
|
23
24
|
LIBFFI_CONFIGURE = "$(LIBFFI_SRC_DIR)"/configure --disable-static \
|
24
|
-
--with-pic=yes --disable-dependency-tracking
|
25
|
+
--with-pic=yes --disable-dependency-tracking --disable-docs
|
25
26
|
|
26
27
|
$(OBJS): $(LIBFFI)
|
27
28
|
|
data/ext/ffi_c/libffi.mk
CHANGED
@@ -4,10 +4,15 @@ include ${srcdir}/libffi.gnu.mk
|
|
4
4
|
|
5
5
|
$(LIBFFI):
|
6
6
|
@mkdir -p "$(LIBFFI_BUILD_DIR)" "$@(D)"
|
7
|
+
@if [ ! -f "$(LIBFFI_BUILD_DIR)"/configure ]; then \
|
8
|
+
echo "Running autoreconf for libffi"; \
|
9
|
+
cd "$(LIBFFI_SRC_DIR)" && \
|
10
|
+
/bin/sh $(LIBFFI_AUTOGEN) > /dev/null; \
|
11
|
+
fi
|
7
12
|
@if [ ! -f "$(LIBFFI_BUILD_DIR)"/Makefile ]; then \
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
13
|
+
echo "Configuring libffi"; \
|
14
|
+
cd "$(LIBFFI_BUILD_DIR)" && \
|
15
|
+
env CFLAGS="$(LIBFFI_CFLAGS)" GREP_OPTIONS="" \
|
16
|
+
sh $(LIBFFI_CONFIGURE) $(LIBFFI_HOST) > /dev/null; \
|
12
17
|
fi
|
13
18
|
$(MAKE) -C "$(LIBFFI_BUILD_DIR)"
|
@@ -574,8 +574,8 @@
|
|
574
574
|
* Makefile.am, include/Makefile.am: Move headers to
|
575
575
|
libffi_la_SOURCES for new automake.
|
576
576
|
* Makefile.in, include/Makefile.in: Rebuilt.
|
577
|
-
|
578
|
-
* testsuite/lib/wrapper.exp: Copied from gcc tree to allow for
|
577
|
+
|
578
|
+
* testsuite/lib/wrapper.exp: Copied from gcc tree to allow for
|
579
579
|
execution outside of gcc tree.
|
580
580
|
* testsuite/lib/target-libpath.exp: Ditto.
|
581
581
|
|
@@ -1,8 +1,1392 @@
|
|
1
|
-
|
1
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
2
|
+
|
3
|
+
* ChangeLog: Archive to ChangeLog.libffi-3.1 and delete. Future
|
4
|
+
changelogs will come from git, with autogenerated snapshots shipped in
|
5
|
+
distributed tarballs.
|
6
|
+
|
7
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
8
|
+
|
9
|
+
Add support for stdcall, thiscall, and fastcall on non-Windows
|
10
|
+
x86-32.
|
11
|
+
|
12
|
+
Linux supports the stdcall calling convention, either via
|
13
|
+
functions explicitly declared with the stdcall attribute, or via
|
14
|
+
code compiled with -mrtd which effectively makes stdcall the
|
15
|
+
default.
|
16
|
+
|
17
|
+
This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on
|
18
|
+
non-Windows x86-32 platforms, as non-default calling conventions.
|
19
|
+
|
20
|
+
* Makefile.am: Compile in src/x86/win32.S on non-Windows x86-32.
|
21
|
+
* src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and
|
22
|
+
FFI_FASTCALL on non-Windows x86-32. Increase trampoline size to
|
23
|
+
accomodate these calling conventions, and unify some ifdeffery.
|
24
|
+
* src/x86/ffi.c: Add support for FFI_STDCALL, FFI_THISCALL, and
|
25
|
+
FFI_FASTCALL on non-Windows x86-32 platforms; update ifdeffery.
|
26
|
+
* src/x86/win32.S: Support compiling on non-Windows x86-32
|
27
|
+
platforms. On those platforms, avoid redefining the SYSV symbols
|
28
|
+
already provided by src/x86/sysv.S.
|
29
|
+
* testsuite/libffi.call/closure_stdcall.c: Run on non-Windows.
|
30
|
+
#define __stdcall if needed.
|
31
|
+
* testsuite/libffi.call/closure_thiscall.c: Run on non-Windows.
|
32
|
+
#define __fastcall if needed.
|
33
|
+
* testsuite/libffi.call/fastthis1_win32.c: Run on non-Windows.
|
34
|
+
* testsuite/libffi.call/fastthis2_win32.c: Ditto.
|
35
|
+
* testsuite/libffi.call/fastthis3_win32.c: Ditto.
|
36
|
+
* testsuite/libffi.call/many2_win32.c: Ditto.
|
37
|
+
* testsuite/libffi.call/many_win32.c: Ditto.
|
38
|
+
* testsuite/libffi.call/strlen2_win32.c: Ditto.
|
39
|
+
* testsuite/libffi.call/strlen_win32.c: Ditto.
|
40
|
+
* testsuite/libffi.call/struct1_win32.c: Ditto.
|
41
|
+
* testsuite/libffi.call/struct2_win32.c: Ditto.
|
42
|
+
|
43
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
44
|
+
|
45
|
+
* prep_cif.c: Remove unnecessary ifdef for X86_WIN32.
|
46
|
+
ffi_prep_cif_core had a special case for X86_WIN32, checking for
|
47
|
+
FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI
|
48
|
+
range before returning FFI_BAD_ABI. However, on X86_WIN32,
|
49
|
+
FFI_THISCALL already falls in that range, making the special case
|
50
|
+
unnecessary. Remove it.
|
51
|
+
|
52
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
53
|
+
|
54
|
+
* testsuite/libffi.call/closure_stdcall.c,
|
55
|
+
testsuite/libffi.call/closure_thiscall.c: Remove fragile stack
|
56
|
+
pointer checks. These files included inline assembly to save the
|
57
|
+
stack pointer before and after the call, and compare the values.
|
58
|
+
However, compilers can and do leave the stack in different states
|
59
|
+
for these two pieces of inline assembly, such as by saving a
|
60
|
+
temporary value on the stack across the call; observed with gcc
|
61
|
+
-Os, and verified as spurious through careful inspection of
|
62
|
+
disassembly.
|
63
|
+
|
64
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
65
|
+
|
66
|
+
* testsuite/libffi.call/many.c: Avoid spurious failure due to
|
67
|
+
excess floating-point precision.
|
68
|
+
* testsuite/libffi.call/many_win32.c: Ditto.
|
69
|
+
|
70
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
71
|
+
|
72
|
+
* libtool-ldflags: Re-add.
|
73
|
+
|
74
|
+
2014-03-16 Josh Triplett <josh@joshtriplett.org>
|
75
|
+
|
76
|
+
* Makefile.in, aclocal.m4, compile, config.guess, config.sub,
|
77
|
+
configure, depcomp, include/Makefile.in, install-sh,
|
78
|
+
libtool-ldflags, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
|
79
|
+
m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
|
80
|
+
man/Makefile.in, mdate-sh, missing, testsuite/Makefile.in: Delete
|
81
|
+
autogenerated files from version control.
|
82
|
+
* .gitignore: Add autogenerated files.
|
83
|
+
* autogen.sh: New script to generate the autogenerated files.
|
84
|
+
* README: Document requirement to run autogen.sh when building
|
85
|
+
directly from version control.
|
86
|
+
* .travis.yml: Run autogen.sh
|
87
|
+
|
88
|
+
2014-03-14 Anthony Green <green@moxielogic.com>
|
2
89
|
|
3
|
-
* configure.
|
90
|
+
* configure, Makefile.in: Rebuilt.
|
91
|
+
|
92
|
+
2014-03-10 Mike Hommey <mh+mozilla@glandium.org>
|
93
|
+
|
94
|
+
* configure.ac: Allow building for mipsel with Android NDK r8.
|
95
|
+
* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single
|
96
|
+
quotes.
|
97
|
+
|
98
|
+
2014-03-10 Landry Breuil <landry@openbsd.org>
|
99
|
+
|
100
|
+
* configure.ac: Ensure the linker supports @unwind sections in libffi.
|
101
|
+
|
102
|
+
2014-03-01 Anthony Green <green@moxielogic.com>
|
103
|
+
|
104
|
+
* Makefile.am (EXTRA_DIST): Replace old scripts with
|
105
|
+
generate-darwin-source-and-headers.py.
|
106
|
+
* Makefile.in: Rebuilt.
|
107
|
+
|
108
|
+
2014-02-28 Anthony Green <green@moxielogic.com>
|
109
|
+
|
110
|
+
* Makefile.am (AM_CFLAGS): Reintroduce missing -DFFI_DEBUG for
|
111
|
+
--enable-debug builds.
|
112
|
+
* Makefile.in: Rebuilt.
|
113
|
+
|
114
|
+
2014-02-28 Makoto Kato <m_kato@ga2.so-net.ne.jp>
|
115
|
+
|
116
|
+
* src/closures.c: Fix build failure when using clang for Android.
|
117
|
+
|
118
|
+
2014-02-28 Marcin Wojdyr <wojdyr@gmail.com>
|
119
|
+
|
120
|
+
* libffi.pc.in (toolexeclibdir): use -L${toolexeclibdir} instead
|
121
|
+
of -L${libdir}.
|
122
|
+
|
123
|
+
2014-02-28 Paulo Pizarro <paulo.pizarro@gmail.com>
|
124
|
+
|
125
|
+
* src/bfin/sysv.S: Calling functions in shared libraries requires
|
126
|
+
considering the GOT.
|
127
|
+
|
128
|
+
2014-02-28 Josh Triplett <josh@joshtriplett.org>
|
129
|
+
|
130
|
+
* src/x86/ffi64.c (classify_argument): Handle case where
|
131
|
+
FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE.
|
132
|
+
|
133
|
+
2014-02-28 Anthony Green <green@moxielogic.com>
|
134
|
+
|
135
|
+
* ltmain.sh: Generate with libtool-2.4.2.418.
|
136
|
+
* m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4: Ditto.
|
137
|
+
* configure: Rebuilt.
|
138
|
+
|
139
|
+
2014-02-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
140
|
+
|
141
|
+
* configure.ac (AC_ARG_ENABLE struct): Fix typo in help
|
142
|
+
message.
|
143
|
+
(AC_ARG_ENABLE raw_api): Ditto.
|
144
|
+
* configure, fficonfig.h.in: Rebuilt.
|
145
|
+
|
146
|
+
2014-02-28 Will Newton <will.newton@linaro.org>
|
147
|
+
|
148
|
+
* src/arm/sysv.S: Initialize IP register with FP.
|
149
|
+
|
150
|
+
2014-02-28 Yufeng Zhang <yufeng.zhang@arm.com>
|
151
|
+
|
152
|
+
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
|
153
|
+
main CFA reg; update cfi_rel_offset.
|
154
|
+
|
155
|
+
2014-02-15 Marcus Comstedt <marcus@mc.pp.se>
|
156
|
+
|
157
|
+
* src/powerpc/ffi_linux64.c, src/powerpc/linux64_closure.S: Remove
|
158
|
+
assumption on contents of r11 in closure.
|
159
|
+
|
160
|
+
2014-02-09 Heiher <r@hev.cc>
|
161
|
+
|
162
|
+
* src/mips/n32.S: Fix call floating point va function.
|
163
|
+
|
164
|
+
2014-01-21 Zachary Waldowski <zach@waldowski.me>
|
165
|
+
|
166
|
+
* src/aarch64/ffi.c: Fix missing semicolons on assertions under
|
167
|
+
debug mode.
|
168
|
+
|
169
|
+
2013-12-30 Zachary Waldowski <zach@waldowski.me>
|
170
|
+
|
171
|
+
* .gitignore: Exclude darwin_* generated source and build_* trees.
|
172
|
+
* src/aarch64/ffi.c, src/arm/ffi.c, src/x86/ffi.c: Inhibit Clang
|
173
|
+
previous prototype warnings.
|
174
|
+
* src/arm/ffi.c: Prevent NULL dereference, fix short type warning
|
175
|
+
* src/dlmalloc.c: Fix warnings from set_segment_flags return type,
|
176
|
+
and the native use of size_t for malloc on platforms
|
177
|
+
* src/arm/sysv.S: Use unified syntax. Clang clean-ups for
|
178
|
+
ARM_FUNC_START.
|
179
|
+
* generate-osx-source-and-headers.py: Remove.
|
180
|
+
* build-ios.sh: Remove.
|
181
|
+
* libffi.xcodeproj/project.pbxproj: Rebuild targets. Include
|
182
|
+
x86_64+aarch64 pieces in library. Export headers properly.
|
183
|
+
* src/x86/ffi64.c: More Clang warning clean-ups.
|
184
|
+
* src/closures.c (open_temp_exec_file_dir): Use size_t.
|
185
|
+
* src/prep_cif.c (ffi_prep_cif_core): Cast ALIGN result.
|
186
|
+
* src/aarch64/sysv.S: Use CNAME for global symbols. Only use
|
187
|
+
.size for ELF targets.
|
188
|
+
* src/aarch64/ffi.c: Clean up for double == long double. Clean up
|
189
|
+
from Clang warnings. Use Clang cache invalidation builtin. Use
|
190
|
+
size_t in place of unsigned in many places. Accommodate for
|
191
|
+
differences in Apple AArch64 ABI.
|
192
|
+
|
193
|
+
2013-12-02 Daniel Rodríguez Troitiño <drodrigueztroitino@yahoo.es>
|
194
|
+
|
195
|
+
* generate-darwin-source-and-headers.py: Clean up, modernize,
|
196
|
+
merged version of previous scripts.
|
197
|
+
|
198
|
+
2013-11-21 Anthony Green <green@moxielogic.com>
|
199
|
+
|
200
|
+
* configure, Makefile.in, include/Makefile.in, include/ffi.h.in,
|
201
|
+
man/Makefile.in, testsuite/Makefile.in, fficonfig.h.in: Rebuilt.
|
202
|
+
|
203
|
+
2013-11-21 Alan Modra <amodra@gmail.com>
|
204
|
+
|
205
|
+
* Makefile.am (EXTRA_DIST): Add new src/powerpc files.
|
206
|
+
(nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
|
207
|
+
* configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
|
208
|
+
* include/ffi.h.in (ffi_prep_types): Declare.
|
209
|
+
* src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
|
210
|
+
* src/types.c (FFI_NONCONST_TYPEDEF): Define and use for
|
211
|
+
HAVE_LONG_DOUBLE_VARIANT.
|
212
|
+
* src/powerpc/ffi_powerpc.h: New file.
|
213
|
+
* src/powerpc/ffi.c: Split into..
|
214
|
+
* src/powerpc/ffi_sysv.c: ..new file, and..
|
215
|
+
* src/powerpc/ffi_linux64.c: ..new file, rewriting parts.
|
216
|
+
* src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI
|
217
|
+
selection as bits controlling features.
|
218
|
+
* src/powerpc/linux64.S: For consistency, use POWERPC64 rather
|
219
|
+
than __powerpc64__.
|
220
|
+
* src/powerpc/linux64_closure.S: Likewise.
|
221
|
+
* src/powerpc/ppc_closure.S: Likewise. Move .note.FNU-stack
|
222
|
+
inside guard.
|
223
|
+
* src/powerpc/sysv.S: Likewise.
|
224
|
+
* configure: Regenerate.
|
225
|
+
* fficonfig.h.in: Regenerate.
|
226
|
+
* Makefile.in: Regenerate.
|
227
|
+
|
228
|
+
2013-11-20 Alan Modra <amodra@gmail.com>
|
229
|
+
|
230
|
+
* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use
|
231
|
+
NUM_FPR_ARG_REGISTERS64 and NUM_GPR_ARG_REGISTERS64 not their
|
232
|
+
32-bit versions for 64-bit code.
|
233
|
+
* src/powerpc/linux64_closure.S: Don't use the return value area
|
234
|
+
as a parameter save area on ELFv2.
|
235
|
+
|
236
|
+
2013-11-18 Iain Sandoe <iain@codesourcery.com>
|
237
|
+
|
238
|
+
* src/powerpc/darwin.S (EH): Correct use of pcrel FDE encoding.
|
239
|
+
* src/powerpc/darwin_closure.S (EH): Likewise. Modernise picbase
|
240
|
+
labels.
|
241
|
+
|
242
|
+
2013-11-18 Anthony Green <green@moxielogic.com>
|
243
|
+
|
244
|
+
* src/arm/ffi.c (ffi_call): Hoist declaration of temp to top of
|
245
|
+
function.
|
246
|
+
* src/arm/ffi.c (ffi_closure_inner): Moderize function declaration
|
247
|
+
to appease compiler.
|
248
|
+
Thanks for Gregory P. Smith <greg@krypto.org>.
|
249
|
+
|
250
|
+
2013-11-18 Anthony Green <green@moxielogic.com>
|
251
|
+
|
252
|
+
* README (tested): Mention PowerPC ELFv2.
|
253
|
+
|
254
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
255
|
+
|
256
|
+
* src/powerpc/ppc_closure.S: Move errant #endif to where it belongs.
|
257
|
+
Don't bl .Luint128.
|
258
|
+
|
259
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
260
|
+
|
261
|
+
* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF
|
262
|
+
test to select parameter save sizing for ELFv2 vs. ELFv1.
|
263
|
+
* src/powerpc/ffitarget.h (FFI_V2_TYPE_FLOAT_HOMOG,
|
264
|
+
FFI_V2_TYPE_DOUBLE_HOMOG, FFI_V2_TYPE_SMALL_STRUCT): Define.
|
265
|
+
(FFI_TRAMPOLINE_SIZE): Define variant for ELFv2.
|
266
|
+
* src/powerpc/ffi.c (FLAG_ARG_NEEDS_PSAVE): Define.
|
267
|
+
(discover_homogeneous_aggregate): New function.
|
268
|
+
(ffi_prep_args64): Adjust start of param save area for ELFv2.
|
269
|
+
Handle homogenous floating point struct parms.
|
270
|
+
(ffi_prep_cif_machdep_core): Adjust space calculation for ELFv2.
|
271
|
+
Handle ELFv2 return values. Set FLAG_ARG_NEEDS_PSAVE. Handle
|
272
|
+
homogenous floating point structs.
|
273
|
+
(ffi_call): Increase size of smst_buffer for ELFv2. Handle ELFv2.
|
274
|
+
(flush_icache): Compile for ELFv2.
|
275
|
+
(ffi_prep_closure_loc): Set up ELFv2 trampoline.
|
276
|
+
(ffi_closure_helper_LINUX64): Don't return all structs directly
|
277
|
+
to caller. Handle homogenous floating point structs. Handle
|
278
|
+
ELFv2 struct return values.
|
279
|
+
* src/powerpc/linux64.S (ffi_call_LINUX64): Set up r2 for
|
280
|
+
ELFv2. Adjust toc save location. Call function pointer using
|
281
|
+
r12. Handle FLAG_RETURNS_SMST. Don't predict branches.
|
282
|
+
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Set up r2
|
283
|
+
for ELFv2. Define ELFv2 versions of STACKFRAME, PARMSAVE, and
|
284
|
+
RETVAL. Handle possibly missing parameter save area. Handle
|
285
|
+
ELFv2 return values.
|
286
|
+
(.note.GNU-stack): Move inside outer #ifdef.
|
287
|
+
|
288
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
289
|
+
|
290
|
+
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08
|
291
|
+
change. Do not consume an int arg when returning a small struct
|
292
|
+
for FFI_SYSV ABI.
|
293
|
+
(ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST.
|
294
|
+
Properly copy bounce buffer to destination.
|
295
|
+
* src/powerpc/sysv.S: Revert 2013-02-08 change.
|
296
|
+
* src/powerpc/ppc_closure.S: Remove stray '+'.
|
297
|
+
|
298
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
299
|
+
|
300
|
+
* src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters
|
301
|
+
according to __STRUCT_PARM_ALIGN__.
|
302
|
+
(ffi_prep_cif_machdep_core): Likewise.
|
303
|
+
(ffi_closure_helper_LINUX64): Likewise.
|
304
|
+
|
305
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
306
|
+
|
307
|
+
* src/powerpc/linux64.S (ffi_call_LINUX64): Tweak restore of r28.
|
308
|
+
(.note.GNU-stack): Move inside outer #ifdef.
|
309
|
+
* src/powerpc/linux64_closure.S (STACKFRAME, PARMSAVE,
|
310
|
+
RETVAL): Define and use throughout.
|
311
|
+
(ffi_closure_LINUX64): Save fprs before buying stack.
|
312
|
+
(.note.GNU-stack): Move inside outer #ifdef.
|
313
|
+
|
314
|
+
2013-11-16 Alan Modra <amodra@gmail.com>
|
315
|
+
|
316
|
+
* src/powerpc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
|
317
|
+
(FFI_EXTRA_CIF_FIELDS): Define.
|
318
|
+
* src/powerpc/ffi.c (ffi_prep_args64): Save fprs as per the
|
319
|
+
ABI, not to both fpr and param save area.
|
320
|
+
(ffi_prep_cif_machdep_core): Renamed from ffi_prep_cif_machdep.
|
321
|
+
Keep initial flags. Formatting. Remove dead FFI_LINUX_SOFT_FLOAT
|
322
|
+
code.
|
323
|
+
(ffi_prep_cif_machdep, ffi_prep_cif_machdep_var): New functions.
|
324
|
+
(ffi_closure_helper_LINUX64): Pass floating point as per ABI,
|
325
|
+
not to both fpr and parameter save areas.
|
326
|
+
|
327
|
+
* libffi/testsuite/libffi.call/cls_double_va.c (main): Correct
|
328
|
+
function cast and don't call ffi_prep_cif.
|
329
|
+
* libffi/testsuite/libffi.call/cls_longdouble_va.c (main): Likewise.
|
330
|
+
|
331
|
+
2013-11-15 Andrew Haley <aph@redhat.com>
|
332
|
+
|
333
|
+
* doc/libffi.texi (Closure Example): Fix the sample code.
|
334
|
+
* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
|
335
|
+
|
336
|
+
2013-11-15 Andrew Haley <aph@redhat.com>
|
337
|
+
|
338
|
+
* testsuite/libffi.call/va_struct1.c (main): Fix broken test.
|
339
|
+
* testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise
|
340
|
+
* testsuite/libffi.call/cls_struct_va1.c (test_fn): Likewise.
|
341
|
+
* testsuite/libffi.call/va_1.c (main): Likewise.
|
342
|
+
|
343
|
+
2013-11-14 David Schneider <david.schneider@bivab.de>
|
344
|
+
|
345
|
+
* src/arm/ffi.c: Fix register allocation for mixed float and
|
346
|
+
doubles.
|
347
|
+
* testsuite/libffi.call/cls_many_mixed_float_double.c: Testcase
|
348
|
+
for many mixed float and double arguments.
|
349
|
+
|
350
|
+
2013-11-13 Alan Modra <amodra@gmail.com>
|
351
|
+
|
352
|
+
* doc/libffi.texi (Simple Example): Correct example code.
|
353
|
+
* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
|
354
|
+
|
355
|
+
2013-11-13 Anthony Green <green@moxielogic.com>
|
356
|
+
|
357
|
+
* include/ffi_common.h: Respect HAVE_ALLOCA_H for GNU compiler
|
358
|
+
based build. (Thanks to tmr111116 on github)
|
359
|
+
|
360
|
+
2013-11-09 Anthony Green <green@moxielogic.com>
|
361
|
+
|
362
|
+
* m4/libtool.m4: Refresh.
|
363
|
+
* configure, Makefile.in: Rebuilt.
|
364
|
+
* README: Add more notes about next release.
|
365
|
+
|
366
|
+
2013-11-09 Shigeharu TAKENO <shige@iee.niit.ac.jp>
|
367
|
+
|
368
|
+
* m4/ax_gcc_archflag.m4 (ax_gcc_arch): Don't recognize
|
369
|
+
UltraSPARC-IIi as ultrasparc3.
|
370
|
+
|
371
|
+
2013-11-06 Mark Kettenis <kettenis@gnu.org>
|
372
|
+
|
373
|
+
* src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to
|
374
|
+
16-bytes.
|
375
|
+
|
376
|
+
2013-11-06 Konstantin Belousov <kib@freebsd.org>
|
377
|
+
|
378
|
+
* src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler
|
379
|
+
source as not requiring executable stack.
|
380
|
+
|
381
|
+
2013-11-02 Anthony Green <green@moxielogic.com>
|
382
|
+
|
383
|
+
* doc/libffi.texi (The Basics): Clarify return value buffer size
|
384
|
+
requirements. Also, NULL result buffer pointers are no longer
|
385
|
+
supported.
|
386
|
+
* doc/libffi.info: Rebuilt.
|
387
|
+
|
388
|
+
2013-11-02 Mischa Jonker <mjonker@synopsys.com>
|
389
|
+
|
390
|
+
* Makefile.am (nodist_libffi_la_SOURCES): Fix build error.
|
391
|
+
* Makefile.in: Rebuilt.
|
392
|
+
|
393
|
+
2013-11-02 David Schneider <david.schneider@bivab.de>
|
394
|
+
|
395
|
+
* src/arm/ffi.c: more robust argument handling for closures on arm hardfloat
|
396
|
+
* testsuite/libffi.call/many_mixed.c: New file.
|
397
|
+
* testsuite/libffi.call/cls_many_mixed_args.c: More tests.
|
398
|
+
|
399
|
+
2013-11-02 Vitaly Budovski
|
400
|
+
|
401
|
+
* src/x86/ffi.c (ffi_prep_cif_machdep): Don't align stack for win32.
|
402
|
+
|
403
|
+
2013-10-23 Mark H Weaver <mhw@netris.org>
|
404
|
+
|
405
|
+
* src/mips/ffi.c: Fix handling of uint32_t arguments on the
|
406
|
+
MIPS N32 ABI.
|
407
|
+
|
408
|
+
2013-10-13 Sandra Loosemore <sandra@codesourcery.com>
|
409
|
+
|
410
|
+
* README: Add Nios II to table of supported platforms.
|
411
|
+
* Makefile.am (EXTRA_DIST): Add nios2 files.
|
412
|
+
(nodist_libffi_la_SOURCES): Likewise.
|
413
|
+
* Makefile.in: Regenerated.
|
414
|
+
* configure.ac (nios2*-linux*): New host.
|
415
|
+
(NIOS2): Add AM_CONDITIONAL.
|
416
|
+
* configure: Regenerated.
|
417
|
+
* src/nios2/ffi.c: New.
|
418
|
+
* src/nios2/ffitarget.h: New.
|
419
|
+
* src/nios2/sysv.S: New.
|
420
|
+
* src/prep_cif.c (initialize_aggregate): Handle extra structure
|
421
|
+
alignment via FFI_AGGREGATE_ALIGNMENT.
|
422
|
+
(ffi_prep_cif_core): Conditionalize structure return for NIOS2.
|
423
|
+
|
424
|
+
2013-10-10 Sandra Loosemore <sandra@codesourcery.com>
|
425
|
+
|
426
|
+
* testsuite/libffi.call/cls_many_mixed_args.c (cls_ret_double_fn):
|
427
|
+
Fix uninitialized variable.
|
428
|
+
|
429
|
+
2013-10-11 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
430
|
+
|
431
|
+
* testsuite/libffi.call/many.c (many): Replace * with +.
|
432
|
+
|
433
|
+
2013-10-08 Ondřej Bílka <neleai@seznam.cz>
|
434
|
+
|
435
|
+
* src/aarch64/ffi.c, src/aarch64/sysv.S, src/arm/ffi.c,
|
436
|
+
src/arm/gentramp.sh, src/bfin/sysv.S, src/closures.c,
|
437
|
+
src/dlmalloc.c, src/ia64/ffi.c, src/microblaze/ffi.c,
|
438
|
+
src/microblaze/sysv.S, src/powerpc/darwin_closure.S,
|
439
|
+
src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/sh/ffi.c,
|
440
|
+
src/tile/tile.S, testsuite/libffi.call/nested_struct11.c: Fix
|
441
|
+
spelling errors.
|
442
|
+
|
443
|
+
2013-10-08 Anthony Green <green@moxielogic.com>
|
444
|
+
|
445
|
+
* aclocal.m4, compile, config.guess, config.sub, depcomp,
|
446
|
+
install-sh, mdate-sh, missing, texinfo.tex: Update from upstream.
|
447
|
+
* configure.ac: Update version to 3.0.14-rc0.
|
448
|
+
* Makefile.in, configure, Makefile.in, include/Makefile.in,
|
449
|
+
man/Makefile.in, testsuite/Makefile.in: Rebuilt.
|
450
|
+
* README: Mention M88K and VAX.
|
451
|
+
|
452
|
+
2013-07-15 Miod Vallat <miod@openbsd.org>
|
453
|
+
|
454
|
+
* Makefile.am,
|
455
|
+
configure.ac,
|
456
|
+
src/m88k/ffi.c,
|
457
|
+
src/m88k/ffitarget.h,
|
458
|
+
src/m88k/obsd.S,
|
459
|
+
src/vax/elfbsd.S,
|
460
|
+
src/vax/ffi.c,
|
461
|
+
src/vax/ffitarget.h: Add m88k and vax support.
|
462
|
+
|
463
|
+
2013-06-24 Alan Modra <amodra@gmail.com>
|
464
|
+
|
465
|
+
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
|
466
|
+
before statements.
|
467
|
+
(ffi_prep_args64): Support little-endian.
|
468
|
+
(ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
|
469
|
+
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
|
470
|
+
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
|
471
|
+
|
472
|
+
2013-06-12 Mischa Jonker <mjonker@synopsys.com>
|
473
|
+
|
474
|
+
* configure.ac: Add support for ARC.
|
475
|
+
* Makefile.am: Likewise.
|
476
|
+
* README: Add ARC details.
|
477
|
+
* src/arc/arcompact.S: New.
|
478
|
+
* src/arc/ffi.c: Likewise.
|
479
|
+
* src/arc/ffitarget.h: Likewise.
|
480
|
+
|
481
|
+
2013-03-28 David Schneider <david.schneider@bivab.de>
|
482
|
+
|
483
|
+
* src/arm/ffi.c: Fix support for ARM hard-float calling convention.
|
484
|
+
* src/arm/sysv.S: call different methods for SYSV and VFP ABIs.
|
485
|
+
* testsuite/libffi.call/cls_many_mixed_args.c: testcase for a closure with
|
486
|
+
mixed arguments, many doubles.
|
487
|
+
* testsuite/libffi.call/many_double.c: testcase for calling a function using
|
488
|
+
more than 8 doubles.
|
489
|
+
* testcase/libffi.call/many.c: use absolute value to check result against an
|
490
|
+
epsilon
|
491
|
+
|
492
|
+
2013-03-17 Anthony Green <green@moxielogic.com>
|
493
|
+
|
494
|
+
* README: Update for 3.0.13.
|
495
|
+
* configure.ac: Ditto.
|
496
|
+
* configure: Rebuilt.
|
497
|
+
* doc/*: Update version.
|
498
|
+
|
499
|
+
2013-03-17 Dave Korn <dave.korn.cygwin@gmail.com>
|
500
|
+
|
501
|
+
* src/closures.c (is_emutramp_enabled
|
502
|
+
[!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
|
503
|
+
enclosing #if scope.
|
504
|
+
|
505
|
+
2013-03-17 Anthony Green <green@moxielogic.com>
|
506
|
+
|
507
|
+
* configure.ac: Only modify toolexecdir in certain cases.
|
508
|
+
* configure: Rebuilt.
|
509
|
+
|
510
|
+
2013-03-16 Gilles Talis <gilles.talis@gmail.com>
|
511
|
+
|
512
|
+
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
|
513
|
+
fparg_count,etc on __NO_FPRS__ targets.
|
514
|
+
|
515
|
+
2013-03-16 Alan Hourihane <alanh@fairlite.co.uk>
|
516
|
+
|
517
|
+
* src/m68k/sysv.S (epilogue): Don't use extb instruction on
|
518
|
+
m680000 machines.
|
519
|
+
|
520
|
+
2013-03-16 Alex Gaynor <alex.gaynor@gmail.com>
|
521
|
+
|
522
|
+
* src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
|
523
|
+
|
524
|
+
2013-03-13 Markos Chandras <markos.chandras@imgtec.com>
|
525
|
+
|
526
|
+
* configure.ac: Add support for Imagination Technologies Meta.
|
527
|
+
* Makefile.am: Likewise.
|
528
|
+
* README: Add Imagination Technologies Meta details.
|
529
|
+
* src/metag/ffi.c: New.
|
530
|
+
* src/metag/ffitarget.h: Likewise.
|
531
|
+
* src/metag/sysv.S: Likewise.
|
532
|
+
|
533
|
+
2013-02-24 Andreas Schwab <schwab@linux-m68k.org>
|
534
|
+
|
535
|
+
* doc/libffi.texi (Structures): Fix missing category argument of
|
536
|
+
@deftp.
|
537
|
+
|
538
|
+
2013-02-11 Anthony Green <green@moxielogic.com>
|
539
|
+
|
540
|
+
* configure.ac: Update release number to 3.0.12.
|
541
|
+
* configure: Rebuilt.
|
542
|
+
* README: Update release info.
|
543
|
+
|
544
|
+
2013-02-10 Anthony Green <green@moxielogic.com>
|
545
|
+
|
546
|
+
* README: Add Moxie.
|
547
|
+
* src/moxie/ffi.c: Created.
|
548
|
+
* src/moxie/eabi.S: Created.
|
549
|
+
* src/moxie/ffitarget.h: Created.
|
550
|
+
* Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
|
551
|
+
* Makefile.in: Rebuilt.
|
552
|
+
* configure.ac: Add Moxie.
|
553
|
+
* configure: Rebuilt.
|
554
|
+
* testsuite/libffi.call/huge_struct.c: Disable format string
|
555
|
+
warnings for moxie*-*-elf tests.
|
556
|
+
|
557
|
+
2013-02-10 Anthony Green <green@moxielogic.com>
|
558
|
+
|
559
|
+
* Makefile.am (LTLDFLAGS): Fix reference.
|
560
|
+
* Makefile.in: Rebuilt.
|
561
|
+
|
562
|
+
2013-02-10 Anthony Green <green@moxielogic.com>
|
563
|
+
|
564
|
+
* README: Update supported platforms. Update test results link.
|
565
|
+
|
566
|
+
2013-02-09 Anthony Green <green@moxielogic.com>
|
567
|
+
|
568
|
+
* testsuite/libffi.call/negint.c: Remove forced -O2.
|
569
|
+
* testsuite/libffi.call/many2.c (foo): Remove GCCism.
|
570
|
+
* testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
|
571
|
+
|
572
|
+
* src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
|
573
|
+
closure return type fix developed by Martin v. Löwis for cpython
|
574
|
+
fork.
|
575
|
+
|
576
|
+
2013-02-08 Andreas Tobler <andreast@fgznet.ch>
|
577
|
+
|
578
|
+
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
|
579
|
+
support.
|
580
|
+
* src/powerpc/sysv.S: Ditto.
|
581
|
+
|
582
|
+
2013-02-08 Anthony Green <green@moxielogic.com>
|
583
|
+
|
584
|
+
* testsuite/libffi.call/cls_longdouble.c: Remove xfail for
|
585
|
+
arm*-*-*.
|
586
|
+
|
587
|
+
2013-02-08 Anthony Green <green@moxielogic.com>
|
588
|
+
|
589
|
+
* src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
|
590
|
+
|
591
|
+
2013-02-08 Matthias Klose <doko@ubuntu.com>
|
592
|
+
|
593
|
+
* man/ffi_prep_cif.3: Clean up for debian linter.
|
594
|
+
|
595
|
+
2013-02-08 Peter Bergner <bergner@vnet.ibm.com>
|
596
|
+
|
597
|
+
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
|
598
|
+
on the stack.
|
599
|
+
|
600
|
+
2013-02-08 Anthony Green <green@moxielogic.com>
|
601
|
+
|
602
|
+
* Makefile.am (EXTRA_DIST): Add missing files.
|
603
|
+
* testsuite/Makefile.am (EXTRA_DIST): Ditto.
|
604
|
+
* Makefile.in: Rebuilt.
|
605
|
+
|
606
|
+
2013-02-08 Anthony Green <green@moxielogic.com>
|
607
|
+
|
608
|
+
* configure.ac: Move sparc asm config checks to within functions
|
609
|
+
for compatibility with sun tools.
|
610
|
+
* configure: Rebuilt.
|
611
|
+
* src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
|
612
|
+
systems.
|
613
|
+
* src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
|
614
|
+
flusher.
|
615
|
+
|
616
|
+
2013-02-08 Nathan Rossi <nathan.rossi@xilinx.com>
|
617
|
+
|
618
|
+
* src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
|
619
|
+
small big-endian structures.
|
620
|
+
(ffi_prep_args): Ditto.
|
621
|
+
|
622
|
+
2013-02-07 Anthony Green <green@moxielogic.com>
|
623
|
+
|
624
|
+
* src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
|
625
|
+
(effectively hiding ffi_call_v8).
|
626
|
+
|
627
|
+
2013-02-07 Anthony Green <green@moxielogic.com>
|
628
|
+
|
629
|
+
* configure.ac: Update bug reporting address.
|
630
|
+
* configure.in: Rebuild.
|
631
|
+
|
632
|
+
* src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
|
633
|
+
Sun compiler.
|
634
|
+
* src/sparc/ffi.c (ffi_call): Remove warning.
|
635
|
+
Call ffi_flush_icache for non-GCC builds.
|
636
|
+
(ffi_prep_closure_loc): Use ffi_flush_icache.
|
637
|
+
|
638
|
+
* Makefile.am (EXTRA_DIST): Add libtool-ldflags.
|
639
|
+
* Makefile.in: Rebuilt.
|
640
|
+
* libtool-ldflags: New file.
|
641
|
+
|
642
|
+
2013-02-07 Daniel Schepler <dschepler@gmail.com>
|
643
|
+
|
644
|
+
* configure.ac: Correctly identify x32 systems as 64-bit.
|
645
|
+
* m4/libtool.m4: Remove libtool expr error.
|
646
|
+
* aclocal.m4, configure: Rebuilt.
|
647
|
+
|
648
|
+
2013-02-07 Anthony Green <green@moxielogic.com>
|
649
|
+
|
650
|
+
* configure.ac: Fix GCC usage test.
|
651
|
+
* configure: Rebuilt.
|
652
|
+
* README: Mention LLVM/GCC x86_64 issue.
|
653
|
+
* testsuite/Makefile.in: Rebuilt.
|
654
|
+
|
655
|
+
2013-02-07 Anthony Green <green@moxielogic.com>
|
656
|
+
|
657
|
+
* testsuite/libffi.call/cls_double_va.c (main): Replace // style
|
658
|
+
comments with /* */ for xlc compiler.
|
659
|
+
* testsuite/libffi.call/stret_large.c (main): Ditto.
|
660
|
+
* testsuite/libffi.call/stret_large2.c (main): Ditto.
|
661
|
+
* testsuite/libffi.call/nested_struct1.c (main): Ditto.
|
662
|
+
* testsuite/libffi.call/huge_struct.c (main): Ditto.
|
663
|
+
* testsuite/libffi.call/float_va.c (main): Ditto.
|
664
|
+
* testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
|
665
|
+
* testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
|
666
|
+
* testsuite/libffi.call/cls_pointer.c (main): Ditto.
|
667
|
+
* testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
|
668
|
+
|
669
|
+
2013-02-06 Anthony Green <green@moxielogic.com>
|
670
|
+
|
671
|
+
* man/ffi_prep_cif.3: Clean up for debian lintian checker.
|
672
|
+
|
673
|
+
2013-02-06 Anthony Green <green@moxielogic.com>
|
674
|
+
|
675
|
+
* Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
|
676
|
+
* Makefile.in: Rebuild.
|
677
|
+
|
678
|
+
2013-02-02 Mark H Weaver <mhw@netris.org>
|
679
|
+
|
680
|
+
* src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
|
681
|
+
via general purpose registers.
|
682
|
+
|
683
|
+
2013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
|
684
|
+
|
685
|
+
* README: Add MicroBlaze details.
|
686
|
+
* Makefile.am: Add MicroBlaze support.
|
687
|
+
* configure.ac: Likewise.
|
688
|
+
* src/microblaze/ffi.c: New.
|
689
|
+
* src/microblaze/ffitarget.h: Likewise.
|
690
|
+
* src/microblaze/sysv.S: Likewise.
|
691
|
+
|
692
|
+
2013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
|
693
|
+
* testsuite/libffi.call/return_uc.c: Fixed issue.
|
694
|
+
|
695
|
+
2013-01-21 Chris Zankel <chris@zankel.net>
|
696
|
+
|
697
|
+
* README: Add Xtensa support.
|
698
|
+
* Makefile.am: Likewise.
|
699
|
+
* configure.ac: Likewise.
|
700
|
+
* Makefile.in Regenerate.
|
701
|
+
* configure: Likewise.
|
702
|
+
* src/prep_cif.c: Handle Xtensa.
|
703
|
+
* src/xtensa: New directory.
|
704
|
+
* src/xtensa/ffi.c: New file.
|
705
|
+
* src/xtensa/ffitarget.h: Ditto.
|
706
|
+
* src/xtensa/sysv.S: Ditto.
|
707
|
+
|
708
|
+
2013-01-11 Anthony Green <green@moxielogic.com>
|
709
|
+
|
710
|
+
* src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
|
711
|
+
comments with /* */ for xlc compiler.
|
712
|
+
* src/powerpc/aix.S (ffi_call_AIX): Ditto.
|
713
|
+
* testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
|
714
|
+
deprecated inline function.
|
715
|
+
* testsuite/libffi.special/ffitestcxx.h: Ditto.
|
716
|
+
* README: Add update for AIX support.
|
717
|
+
|
718
|
+
2013-01-11 Anthony Green <green@moxielogic.com>
|
719
|
+
|
720
|
+
* configure.ac: Robustify pc relative reloc check.
|
721
|
+
* m4/ax_cc_maxopt.m4: Don't -malign-double. This is an ABI
|
722
|
+
changing option for 32-bit x86.
|
723
|
+
* aclocal.m4, configure: Rebuilt.
|
724
|
+
* README: Update supported target list.
|
725
|
+
|
726
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
727
|
+
|
728
|
+
* README (tested): Add Compiler column to table.
|
729
|
+
|
730
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
731
|
+
|
732
|
+
* src/x86/ffi64.c (struct register_args): Make sse array and array
|
733
|
+
of unions for sunpro compiler compatibility.
|
734
|
+
|
735
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
736
|
+
|
737
|
+
* configure.ac: Test target platform size_t size. Handle both 32
|
738
|
+
and 64-bit builds for x86_64-* and i?86-* targets (allowing for
|
739
|
+
CFLAG option to change default settings).
|
740
|
+
* configure, aclocal.m4: Rebuilt.
|
741
|
+
|
742
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
743
|
+
|
744
|
+
* testsuite/libffi.special/special.exp: Only run exception
|
745
|
+
handling tests when using GNU compiler.
|
746
|
+
|
747
|
+
* m4/ax_compiler_vendor.m4: New file.
|
748
|
+
* configure.ac: Test for compiler vendor and don't use
|
749
|
+
AX_CFLAGS_WARN_ALL with the sun compiler.
|
750
|
+
* aclocal.m4, configure: Rebuilt.
|
751
|
+
|
752
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
753
|
+
|
754
|
+
* include/ffi_common.h: Don't use GCCisms to define types when
|
755
|
+
building with the SUNPRO compiler.
|
756
|
+
|
757
|
+
2013-01-10 Anthony Green <green@moxielogic.com>
|
758
|
+
|
759
|
+
* configure.ac: Put local.exp in the right place.
|
760
|
+
* configure: Rebuilt.
|
761
|
+
|
762
|
+
* src/x86/ffi.c: Update comment about regparm function attributes.
|
763
|
+
* src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
|
764
|
+
that all function arguments be passed on the stack (no regparm
|
765
|
+
support).
|
766
|
+
|
767
|
+
2013-01-08 Anthony Green <green@moxielogic.com>
|
768
|
+
|
769
|
+
* configure.ac: Generate local.exp. This sets CC_FOR_TARGET
|
770
|
+
when we are using the vendor compiler.
|
771
|
+
* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
|
772
|
+
../local.exp.
|
773
|
+
* configure, testsuite/Makefile.in: Rebuilt.
|
774
|
+
|
775
|
+
* testsuite/libffi.call/call.exp: Run tests with different
|
776
|
+
options, depending on whether or not we are using gcc or the
|
777
|
+
vendor compiler.
|
778
|
+
* testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
|
779
|
+
whether or not we are building/testing with gcc.
|
780
|
+
|
781
|
+
2013-01-08 Anthony Green <green@moxielogic.com>
|
782
|
+
|
783
|
+
* configure.ac: Switch x86 solaris target to X86 by default.
|
784
|
+
* configure: Rebuilt.
|
785
|
+
|
786
|
+
2013-01-08 Anthony Green <green@moxielogic.com>
|
787
|
+
|
788
|
+
* configure.ac: Fix test for read-only eh_frame.
|
789
|
+
* configure: Rebuilt.
|
790
|
+
|
791
|
+
2013-01-08 Anthony Green <green@moxielogic.com>
|
792
|
+
|
793
|
+
* src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
|
794
|
+
when building with the GNU toolchain.
|
795
|
+
* testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
|
796
|
+
compiler.
|
797
|
+
|
798
|
+
2013-01-07 Thorsten Glaser <tg@mirbsd.org>
|
799
|
+
|
800
|
+
* testsuite/libffi.call/cls_uchar_va.c,
|
801
|
+
testsuite/libffi.call/cls_ushort_va.c,
|
802
|
+
testsuite/libffi.call/va_1.c: Testsuite fixes.
|
803
|
+
|
804
|
+
2013-01-07 Thorsten Glaser <tg@mirbsd.org>
|
805
|
+
|
806
|
+
* src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
|
807
|
+
(ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
|
808
|
+
* src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
|
809
|
+
|
810
|
+
2013-01-04 Anthony Green <green@moxielogic.com>
|
811
|
+
|
812
|
+
* Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
|
813
|
+
and -Wall. This is set in the configure script after testing for
|
814
|
+
GCC.
|
815
|
+
* Makefile.in: Rebuilt.
|
816
|
+
|
817
|
+
2013-01-02 rofl0r <https://github.com/rofl0r>
|
818
|
+
|
819
|
+
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
|
820
|
+
when long double == double.
|
821
|
+
|
822
|
+
2013-01-02 Reini Urban <rurban@x-ray.at>
|
823
|
+
|
824
|
+
* Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
|
825
|
+
(required for shared libs on cygwin/mingw).
|
826
|
+
* Makefile.in: Rebuilt.
|
827
|
+
|
828
|
+
2012-10-31 Alan Modra <amodra@gmail.co>
|
829
|
+
|
830
|
+
* src/powerpc/linux64_closure.S: Add new ABI support.
|
831
|
+
* src/powerpc/linux64.S: Likewise.
|
832
|
+
|
833
|
+
2012-10-30 Magnus Granberg <zorry@gentoo.org>
|
834
|
+
Pavel Labushev <pavel.labushev@runbox.ru>
|
835
|
+
|
836
|
+
* configure.ac: New options pax_emutramp
|
837
|
+
* configure, fficonfig.h.in: Regenerated
|
838
|
+
* src/closures.c: New function emutramp_enabled_check() and
|
839
|
+
checks.
|
840
|
+
|
841
|
+
2012-10-30 Frederick Cheung <frederick.cheung@gmail.com>
|
842
|
+
|
843
|
+
* configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
|
844
|
+
lion) and future version.
|
845
|
+
* configure: Rebuild.
|
846
|
+
|
847
|
+
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
|
848
|
+
Marcus Shawcroft <marcus.shawcroft at arm.com>
|
849
|
+
|
850
|
+
* README: Add details of aarch64 port.
|
851
|
+
* src/aarch64/ffi.c: New.
|
852
|
+
* src/aarch64/ffitarget.h: Likewise.
|
853
|
+
* src/aarch64/sysv.S: Likewise.
|
854
|
+
* Makefile.am: Support aarch64.
|
855
|
+
* configure.ac: Support aarch64.
|
856
|
+
* Makefile.in, configure: Rebuilt.
|
857
|
+
|
858
|
+
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
|
859
|
+
Marcus Shawcroft <marcus.shawcroft at arm.com>
|
860
|
+
|
861
|
+
* testsuite/lib/libffi.exp: Add support for aarch64.
|
862
|
+
* testsuite/libffi.call/cls_struct_va1.c: New.
|
863
|
+
* testsuite/libffi.call/cls_uchar_va.c: Likewise.
|
864
|
+
* testsuite/libffi.call/cls_uint_va.c: Likewise.
|
865
|
+
* testsuite/libffi.call/cls_ulong_va.c: Likewise.
|
866
|
+
* testsuite/libffi.call/cls_ushort_va.c: Likewise.
|
867
|
+
* testsuite/libffi.call/nested_struct11.c: Likewise.
|
868
|
+
* testsuite/libffi.call/uninitialized.c: Likewise.
|
869
|
+
* testsuite/libffi.call/va_1.c: Likewise.
|
870
|
+
* testsuite/libffi.call/va_struct1.c: Likewise.
|
871
|
+
* testsuite/libffi.call/va_struct2.c: Likewise.
|
872
|
+
* testsuite/libffi.call/va_struct3.c: Likewise.
|
873
|
+
|
874
|
+
2012-10-12 Walter Lee <walt@tilera.com>
|
875
|
+
|
876
|
+
* Makefile.am: Add TILE-Gx/TILEPro support.
|
877
|
+
* configure.ac: Likewise.
|
878
|
+
* Makefile.in: Regenerate.
|
879
|
+
* configure: Likewise.
|
880
|
+
* src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
|
881
|
+
* src/tile: New directory.
|
882
|
+
* src/tile/ffi.c: New file.
|
883
|
+
* src/tile/ffitarget.h: Ditto.
|
884
|
+
* src/tile/tile.S: Ditto.
|
885
|
+
|
886
|
+
2012-10-12 Matthias Klose <doko@ubuntu.com>
|
887
|
+
|
888
|
+
* generate-osx-source-and-headers.py: Normalize whitespace.
|
889
|
+
|
890
|
+
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
|
891
|
+
|
892
|
+
* configure: Regenerated.
|
893
|
+
|
894
|
+
2012-08-26 Andrew Pinski <apinski@cavium.com>
|
895
|
+
|
896
|
+
PR libffi/53014
|
897
|
+
* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
|
898
|
+
soft-float.
|
899
|
+
|
900
|
+
2012-08-08 Uros Bizjak <ubizjak@gmail.com>
|
901
|
+
|
902
|
+
* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
|
903
|
+
just return FFI_BAD_ABI when things are wrong.
|
904
|
+
|
905
|
+
2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
|
906
|
+
|
907
|
+
PR libffi/53982
|
908
|
+
PR libffi/53973
|
909
|
+
* src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
|
910
|
+
(FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
|
911
|
+
|
912
|
+
2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
|
913
|
+
|
914
|
+
* configure: Regenerated.
|
915
|
+
|
916
|
+
2012-05-05 Nicolas Lelong
|
917
|
+
|
918
|
+
* libffi.xcodeproj/project.pbxproj: Fixes.
|
919
|
+
* README: Update for iOS builds.
|
920
|
+
|
921
|
+
2012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
|
922
|
+
|
923
|
+
* configure.ac: Add Blackfin/sysv support
|
924
|
+
* Makefile.am: Add Blackfin/sysv support
|
925
|
+
* src/bfin/ffi.c: Add Blackfin/sysv support
|
926
|
+
* src/bfin/ffitarget.h: Add Blackfin/sysv support
|
927
|
+
|
928
|
+
2012-04-11 Anthony Green <green@moxielogic.com>
|
929
|
+
|
930
|
+
* Makefile.am (EXTRA_DIST): Add new script.
|
931
|
+
* Makefile.in: Rebuilt.
|
932
|
+
|
933
|
+
2012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
|
934
|
+
|
935
|
+
* generate-ios-source-and-headers.py,
|
936
|
+
libffi.xcodeproj/project.pbxproj: Support a Mac static library via
|
937
|
+
Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
|
938
|
+
generation into an Xcode "run script" phase. Include both as
|
939
|
+
Xcode build scripts. Don't always regenerate config files.
|
940
|
+
|
941
|
+
2012-04-10 Anthony Green <green@moxielogic.com>
|
942
|
+
|
943
|
+
* src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
|
944
|
+
|
945
|
+
2012-04-06 Anthony Green <green@moxielogic.com>
|
946
|
+
|
947
|
+
* Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
|
948
|
+
* Makefile.in: Rebuilt.
|
949
|
+
|
950
|
+
2012-04-06 Mike Lewis <mikelikespie@gmail.com>
|
951
|
+
|
952
|
+
* generate-ios-source-and-headers.py: New file.
|
953
|
+
* libffi.xcodeproj/project.pbxproj: New file.
|
954
|
+
* README: Update instructions on building iOS binary.
|
955
|
+
* build-ios.sh: Delete.
|
956
|
+
|
957
|
+
2012-04-06 Anthony Green <green@moxielogic.com>
|
958
|
+
|
959
|
+
* src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
|
960
|
+
compilers, then use it.
|
961
|
+
|
962
|
+
2012-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
963
|
+
|
964
|
+
* m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
|
965
|
+
|
966
|
+
2012-04-06 Anthony Green <green@moxielogic.com>
|
967
|
+
|
968
|
+
* testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
|
969
|
+
* testsuite/Makefile.in: Rebuilt.
|
970
|
+
|
971
|
+
2012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
|
972
|
+
|
973
|
+
* include/ffi.h.in: Add missing trampoline table fields.
|
974
|
+
* src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
|
975
|
+
in CNAME.
|
976
|
+
* src/x86/ffi.c: Wrap Windows specific code in ifdefs.
|
977
|
+
|
978
|
+
2012-04-02 Peter Bergner <bergner@vnet.ibm.com>
|
979
|
+
|
980
|
+
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
|
981
|
+
Silence casting pointer to integer of different size warning.
|
982
|
+
Delete goto to previously deleted label.
|
983
|
+
(ffi_call): Silence possibly undefined warning.
|
984
|
+
(ffi_closure_helper_SYSV): Declare variable type.
|
985
|
+
|
986
|
+
2012-04-02 Peter Rosin <peda@lysator.liu.se>
|
987
|
+
|
988
|
+
* src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
|
989
|
+
value in the Intel version as is already done for the AT&T version.
|
990
|
+
(ffi_closure_SYSV): Likewise.
|
991
|
+
(ffi_closure_raw_SYSV): Likewise.
|
992
|
+
(ffi_closure_STDCALL): Likewise.
|
993
|
+
|
994
|
+
2012-03-29 Peter Rosin <peda@lysator.liu.se>
|
995
|
+
|
996
|
+
* src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
|
997
|
+
generation, fix the ENDP label and remove the surplus third arg
|
998
|
+
from the 'lea' insn.
|
999
|
+
|
1000
|
+
2012-03-29 Peter Rosin <peda@lysator.liu.se>
|
1001
|
+
|
1002
|
+
* src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
|
1003
|
+
visible outside the PROC, so that ffi_closure_raw_THISCALL can see
|
1004
|
+
it. Also instruct the assembler to add a frame to the function.
|
1005
|
+
|
1006
|
+
2012-03-23 Peter Rosin <peda@lysator.liu.se>
|
1007
|
+
|
1008
|
+
* Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
|
1009
|
+
* Makefile.in: Rebuilt.
|
1010
|
+
* include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
|
1011
|
+
to all data exports, when compiling libffi clients using MSVC.
|
1012
|
+
|
1013
|
+
2012-03-29 Peter Rosin <peda@lysator.liu.se>
|
1014
|
+
|
1015
|
+
* src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
|
1016
|
+
make it the default for MSVC.
|
1017
|
+
(FFI_TYPE_MS_STRUCT): New structure return convention.
|
1018
|
+
* src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
|
1019
|
+
return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
|
1020
|
+
instead of an ordinary FFI_TYPE_STRUCT.
|
1021
|
+
(ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
|
1022
|
+
(ffi_call): Likewise.
|
1023
|
+
(ffi_prep_incoming_args_SYSV): Likewise.
|
1024
|
+
(ffi_raw_call): Likewise.
|
1025
|
+
(ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
|
1026
|
+
* src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
|
1027
|
+
return a pointer to the result structure in eax and don't pop
|
1028
|
+
that pointer from the stack, the caller takes care of it.
|
1029
|
+
(ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
|
1030
|
+
(ffi_closure_raw_SYSV): Likewise.
|
1031
|
+
|
1032
|
+
2012-03-22 Peter Rosin <peda@lysator.liu.se>
|
1033
|
+
|
1034
|
+
* testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
|
1035
|
+
assembly version with Intel syntax.
|
1036
|
+
* testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
|
1037
|
+
|
1038
|
+
2012-03-23 Peter Rosin <peda@lysator.liu.se>
|
1039
|
+
|
1040
|
+
* testsuite/libffi.call/ffitest.h: Provide abstration of
|
1041
|
+
__attribute__((fastcall)) in the form of a __FASTCALL__
|
1042
|
+
define. Define it to __fastcall for MSVC.
|
1043
|
+
* testsuite/libffi.call/fastthis1_win32.c: Use the above.
|
1044
|
+
* testsuite/libffi.call/fastthis2_win32.c: Likewise.
|
1045
|
+
* testsuite/libffi.call/fastthis3_win32.c: Likewise.
|
1046
|
+
* testsuite/libffi.call/strlen2_win32.c: Likewise.
|
1047
|
+
* testsuite/libffi.call/struct1_win32.c: Likewise.
|
1048
|
+
* testsuite/libffi.call/struct2_win32.c: Likewise.
|
1049
|
+
|
1050
|
+
2012-03-22 Peter Rosin <peda@lysator.liu.se>
|
1051
|
+
|
1052
|
+
* src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
|
1053
|
+
frame on function entry, MASM adds one automatically.
|
1054
|
+
|
1055
|
+
2012-03-22 Peter Rosin <peda@lysator.liu.se>
|
1056
|
+
|
1057
|
+
* testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
|
1058
|
+
bits in the MSVC headers.
|
1059
|
+
|
1060
|
+
2012-03-22 Peter Rosin <peda@lysator.liu.se>
|
1061
|
+
|
1062
|
+
* testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
|
1063
|
+
with no declarations after statements.
|
1064
|
+
* testsuite/libffi.call/cls_16byte.c: Likewise.
|
1065
|
+
* testsuite/libffi.call/cls_18byte.c: Likewise.
|
1066
|
+
* testsuite/libffi.call/cls_19byte.c: Likewise.
|
1067
|
+
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
|
1068
|
+
* testsuite/libffi.call/cls_20byte.c: Likewise.
|
1069
|
+
* testsuite/libffi.call/cls_20byte1.c: Likewise.
|
1070
|
+
* testsuite/libffi.call/cls_24byte.c: Likewise.
|
1071
|
+
* testsuite/libffi.call/cls_2byte.c: Likewise.
|
1072
|
+
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
|
1073
|
+
* testsuite/libffi.call/cls_3byte1.c: Likewise.
|
1074
|
+
* testsuite/libffi.call/cls_3byte2.c: Likewise.
|
1075
|
+
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
|
1076
|
+
* testsuite/libffi.call/cls_4byte.c: Likewise.
|
1077
|
+
* testsuite/libffi.call/cls_5_1_byte.c: Likewise.
|
1078
|
+
* testsuite/libffi.call/cls_5byte.c: Likewise.
|
1079
|
+
* testsuite/libffi.call/cls_64byte.c: Likewise.
|
1080
|
+
* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
|
1081
|
+
* testsuite/libffi.call/cls_6byte.c: Likewise.
|
1082
|
+
* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
|
1083
|
+
* testsuite/libffi.call/cls_7byte.c: Likewise.
|
1084
|
+
* testsuite/libffi.call/cls_8byte.c: Likewise.
|
1085
|
+
* testsuite/libffi.call/cls_9byte1.c: Likewise.
|
1086
|
+
* testsuite/libffi.call/cls_9byte2.c: Likewise.
|
1087
|
+
* testsuite/libffi.call/cls_align_double.c: Likewise.
|
1088
|
+
* testsuite/libffi.call/cls_align_float.c: Likewise.
|
1089
|
+
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
|
1090
|
+
* testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
|
1091
|
+
* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
|
1092
|
+
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
|
1093
|
+
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
|
1094
|
+
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
|
1095
|
+
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
|
1096
|
+
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
|
1097
|
+
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
|
1098
|
+
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
|
1099
|
+
* testsuite/libffi.call/cls_dbls_struct.c: Likewise.
|
1100
|
+
* testsuite/libffi.call/cls_pointer_stack.c: Likewise.
|
1101
|
+
* testsuite/libffi.call/err_bad_typedef.c: Likewise.
|
1102
|
+
* testsuite/libffi.call/huge_struct.c: Likewise.
|
1103
|
+
* testsuite/libffi.call/nested_struct.c: Likewise.
|
1104
|
+
* testsuite/libffi.call/nested_struct1.c: Likewise.
|
1105
|
+
* testsuite/libffi.call/nested_struct10.c: Likewise.
|
1106
|
+
* testsuite/libffi.call/nested_struct2.c: Likewise.
|
1107
|
+
* testsuite/libffi.call/nested_struct3.c: Likewise.
|
1108
|
+
* testsuite/libffi.call/nested_struct4.c: Likewise.
|
1109
|
+
* testsuite/libffi.call/nested_struct5.c: Likewise.
|
1110
|
+
* testsuite/libffi.call/nested_struct6.c: Likewise.
|
1111
|
+
* testsuite/libffi.call/nested_struct7.c: Likewise.
|
1112
|
+
* testsuite/libffi.call/nested_struct8.c: Likewise.
|
1113
|
+
* testsuite/libffi.call/nested_struct9.c: Likewise.
|
1114
|
+
* testsuite/libffi.call/stret_large.c: Likewise.
|
1115
|
+
* testsuite/libffi.call/stret_large2.c: Likewise.
|
1116
|
+
* testsuite/libffi.call/stret_medium.c: Likewise.
|
1117
|
+
* testsuite/libffi.call/stret_medium2.c: Likewise.
|
1118
|
+
* testsuite/libffi.call/struct1.c: Likewise.
|
1119
|
+
* testsuite/libffi.call/struct1_win32.c: Likewise.
|
1120
|
+
* testsuite/libffi.call/struct2.c: Likewise.
|
1121
|
+
* testsuite/libffi.call/struct2_win32.c: Likewise.
|
1122
|
+
* testsuite/libffi.call/struct3.c: Likewise.
|
1123
|
+
* testsuite/libffi.call/struct4.c: Likewise.
|
1124
|
+
* testsuite/libffi.call/struct5.c: Likewise.
|
1125
|
+
* testsuite/libffi.call/struct6.c: Likewise.
|
1126
|
+
* testsuite/libffi.call/struct7.c: Likewise.
|
1127
|
+
* testsuite/libffi.call/struct8.c: Likewise.
|
1128
|
+
* testsuite/libffi.call/struct9.c: Likewise.
|
1129
|
+
* testsuite/libffi.call/testclosure.c: Likewise.
|
1130
|
+
|
1131
|
+
2012-03-21 Peter Rosin <peda@lysator.liu.se>
|
1132
|
+
|
1133
|
+
* testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
|
1134
|
+
printing doubles (%lf is for long doubles).
|
1135
|
+
(main): Likewise.
|
1136
|
+
|
1137
|
+
2012-03-21 Peter Rosin <peda@lysator.liu.se>
|
1138
|
+
|
1139
|
+
* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
|
1140
|
+
(set_ld_library_path_env_vars): Add the library search dir to PATH
|
1141
|
+
(and save PATH for later).
|
1142
|
+
(restore_ld_library_path_env_vars): Restore PATH.
|
1143
|
+
|
1144
|
+
2012-03-21 Peter Rosin <peda@lysator.liu.se>
|
1145
|
+
|
1146
|
+
* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
|
1147
|
+
(set_ld_library_path_env_vars): Add the library search dir to PATH
|
1148
|
+
(and save PATH for later).
|
1149
|
+
(restore_ld_library_path_env_vars): Restore PATH.
|
1150
|
+
|
1151
|
+
2012-03-20 Peter Rosin <peda@lysator.liu.se>
|
1152
|
+
|
1153
|
+
* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
|
1154
|
+
* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
|
1155
|
+
visible outside the PROC, so that ffi_closure_THISCALL can see it.
|
1156
|
+
|
1157
|
+
2012-03-20 Peter Rosin <peda@lysator.liu.se>
|
1158
|
+
|
1159
|
+
* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
|
1160
|
+
* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
|
1161
|
+
visible outside the PROC, so that ffi_closure_THISCALL can see it.
|
1162
|
+
|
1163
|
+
2012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
|
1164
|
+
|
1165
|
+
* src/m68k/ffi.c: Add MINT support.
|
1166
|
+
* src/m68k/sysv.S: Ditto.
|
1167
|
+
|
1168
|
+
2012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
|
1169
|
+
|
1170
|
+
* src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
|
1171
|
+
ffi_call_VFP().
|
1172
|
+
(ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
|
1173
|
+
ffi_closure_VFP.
|
1174
|
+
* src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
|
1175
|
+
|
1176
|
+
2012-03-19 chennam <csit@axway.com>
|
1177
|
+
|
1178
|
+
* src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
|
1179
|
+
support.
|
1180
|
+
|
1181
|
+
2012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
|
1182
|
+
|
1183
|
+
* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
|
1184
|
+
just return FFI_BAD_ABI when things are wrong.
|
1185
|
+
* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
|
1186
|
+
|
1187
|
+
2012-03-09 David Edelsohn <dje.gcc@gmail.com>
|
1188
|
+
|
1189
|
+
* src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
|
1190
|
+
change to return value of ffi_closure_helper_DARWIN and load type
|
1191
|
+
from return type.
|
1192
|
+
|
1193
|
+
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
|
1194
|
+
|
1195
|
+
* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
|
1196
|
+
long.
|
1197
|
+
(ffi_prep_closure_loc): Cast to 64bit address in trampoline.
|
1198
|
+
(ffi_closure_unix64_inner): Cast return pointer to unsigned long
|
1199
|
+
first.
|
1200
|
+
|
1201
|
+
* src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
|
1202
|
+
(ffi_arg): Set to unsigned long long for x32.
|
1203
|
+
(ffi_sarg): Set to long long for x32.
|
1204
|
+
|
1205
|
+
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
|
1206
|
+
|
1207
|
+
* src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
|
1208
|
+
|
1209
|
+
2012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
|
1210
|
+
|
1211
|
+
* configure.ac: Add -no-undefined for both 32- and 64-bit x86
|
1212
|
+
windows-like hosts.
|
1213
|
+
* configure: Rebuilt.
|
1214
|
+
|
1215
|
+
2012-02-27 Mikael Pettersson <mikpe@it.uu.se>
|
1216
|
+
|
1217
|
+
PR libffi/52223
|
1218
|
+
* Makefile.am (FLAGS_TO_PASS): Define.
|
1219
|
+
* Makefile.in: Regenerate.
|
1220
|
+
|
1221
|
+
2012-02-23 Anthony Green <green@moxielogic.com>
|
1222
|
+
|
1223
|
+
* src/*/ffitarget.h: Ensure that users never include ffitarget.h
|
1224
|
+
directly.
|
1225
|
+
|
1226
|
+
2012-02-23 Kai Tietz <ktietz@redhat.com>
|
1227
|
+
|
1228
|
+
PR libffi/52221
|
1229
|
+
* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
|
1230
|
+
prototype.
|
1231
|
+
(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
|
1232
|
+
thiscall-convention.
|
1233
|
+
(ffi_raw_call): Use ffi_prep_args_raw.
|
1234
|
+
* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
|
1235
|
+
implementation for stub.
|
1236
|
+
|
1237
|
+
2012-02-10 Kai Tietz <ktietz@redhat.com>
|
1238
|
+
|
1239
|
+
* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
|
1240
|
+
windows target.
|
1241
|
+
* configure: Regenerated.
|
1242
|
+
|
1243
|
+
2012-02-08 Kai Tietz <ktietz@redhat.com>
|
1244
|
+
|
1245
|
+
* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
|
1246
|
+
also FFI_THISCALL.
|
1247
|
+
* src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
|
1248
|
+
(FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
|
1249
|
+
(ffi_prep_closure_loc): Add FFI_THISCALL support.
|
1250
|
+
* src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
|
1251
|
+
* src/x86/win32.S (ffi_closure_THISCALL): New closure code
|
1252
|
+
for thiscall-calling convention.
|
1253
|
+
* testsuite/libffi.call/closure_thiscall.c: New test.
|
1254
|
+
|
1255
|
+
2012-01-28 Kai Tietz <ktietz@redhat.com>
|
1256
|
+
|
1257
|
+
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
|
1258
|
+
argument to prototype for specify calling-convention.
|
1259
|
+
(ffi_call): Add support for stdcall/thiscall convention.
|
1260
|
+
(ffi_prep_args): Likewise.
|
1261
|
+
(ffi_raw_call): Likewise.
|
1262
|
+
* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
|
1263
|
+
FFI_FASTCALL.
|
1264
|
+
* src/x86/win32.S (_ffi_call_win32): Add support for
|
1265
|
+
fastcall/thiscall calling-convention calls.
|
1266
|
+
* testsuite/libffi.call/fastthis1_win32.c: New test.
|
1267
|
+
* testsuite/libffi.call/fastthis2_win32.c: New test.
|
1268
|
+
* testsuite/libffi.call/fastthis3_win32.c: New test.
|
1269
|
+
* testsuite/libffi.call/strlen2_win32.c: New test.
|
1270
|
+
* testsuite/libffi.call/many2_win32.c: New test.
|
1271
|
+
* testsuite/libffi.call/struct1_win32.c: New test.
|
1272
|
+
* testsuite/libffi.call/struct2_win32.c: New test.
|
1273
|
+
|
1274
|
+
2012-01-23 Uros Bizjak <ubizjak@gmail.com>
|
1275
|
+
|
1276
|
+
* src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
|
1277
|
+
|
1278
|
+
2012-01-23 Anthony Green <green@moxielogic.com>
|
1279
|
+
Chris Young <cdyoung@ntlworld.com>
|
1280
|
+
|
1281
|
+
* configure.ac: Add Amiga support.
|
4
1282
|
* configure: Rebuilt.
|
5
1283
|
|
1284
|
+
2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
|
1285
|
+
|
1286
|
+
* include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
|
1287
|
+
|
1288
|
+
2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
|
1289
|
+
|
1290
|
+
* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
|
1291
|
+
mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
|
1292
|
+
|
1293
|
+
2012-01-19 Jakub Jelinek <jakub@redhat.com>
|
1294
|
+
|
1295
|
+
PR rtl-optimization/48496
|
1296
|
+
* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
|
1297
|
+
|
1298
|
+
2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
1299
|
+
|
1300
|
+
* configure.ac (i?86-*-*): Set TARGET to X86_64.
|
1301
|
+
* configure: Regenerate.
|
1302
|
+
|
1303
|
+
2011-12-07 Andrew Pinski <apinski@cavium.com>
|
1304
|
+
|
1305
|
+
PR libffi/50051
|
1306
|
+
* src/mips/n32.S: Add ".set mips4".
|
1307
|
+
|
1308
|
+
2011-11-21 Andreas Tobler <andreast@fgznet.ch>
|
1309
|
+
|
1310
|
+
* configure: Regenerate.
|
1311
|
+
|
1312
|
+
2011-11-12 David Gilbert <david.gilbert@linaro.org>
|
1313
|
+
|
1314
|
+
* doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
|
1315
|
+
man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
|
1316
|
+
man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
|
1317
|
+
src/cris/ffi.c, src/prep_cif.c,
|
1318
|
+
testsuite/libffi.call/cls_double_va.c,
|
1319
|
+
testsuite/libffi.call/cls_longdouble_va.c,
|
1320
|
+
testsuite/libffi.call/float_va.c: Many changes to support variadic
|
1321
|
+
function calls.
|
1322
|
+
|
1323
|
+
2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
|
1324
|
+
|
1325
|
+
* src/powerpc/ffi.c, src/powerpc/ffitarget.h,
|
1326
|
+
src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
|
1327
|
+
softfloat powerpc variants.
|
1328
|
+
|
1329
|
+
2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
|
1330
|
+
|
1331
|
+
* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
|
1332
|
+
* configure: Rebuilt.
|
1333
|
+
|
1334
|
+
2011-11-12 Timothy Wall <twall@users.sf.net>
|
1335
|
+
|
1336
|
+
* src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
|
1337
|
+
alignment of 4 for wince on ARM.
|
1338
|
+
|
1339
|
+
2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
|
1340
|
+
Anthony Green <green@moxielogic.com>
|
1341
|
+
|
1342
|
+
* src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
|
1343
|
+
instructions (not available on some cores, like the PPC440).
|
1344
|
+
|
1345
|
+
2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
|
1346
|
+
|
1347
|
+
* m4/ax_enable_builddir: Change from string comparison to numeric
|
1348
|
+
comparison for wc output.
|
1349
|
+
* configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
|
1350
|
+
X 10.7.
|
1351
|
+
* configure: Rebuilt.
|
1352
|
+
|
1353
|
+
2011-11-12 Anthony Green <green@moxielogic.com>
|
1354
|
+
|
1355
|
+
* Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
|
1356
|
+
files with debug info.
|
1357
|
+
* Makefile.in: Rebuilt.
|
1358
|
+
|
1359
|
+
2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
|
1360
|
+
|
1361
|
+
* README: Update list of supported OpenBSD systems.
|
1362
|
+
|
1363
|
+
2011-11-12 Anthony Green <green@moxielogic.com>
|
1364
|
+
|
1365
|
+
* libtool-version: Update.
|
1366
|
+
* Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
|
1367
|
+
FFI_DEBUG.
|
1368
|
+
(libffi_la_SOURCES): Remove src/debug.c
|
1369
|
+
(EXTRA_DIST): Add src/debug.c
|
1370
|
+
* Makefile.in: Rebuilt.
|
1371
|
+
* README: Update for 3.0.11.
|
1372
|
+
|
1373
|
+
2011-11-10 Richard Henderson <rth@redhat.com>
|
1374
|
+
|
1375
|
+
* configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
|
1376
|
+
* configure, aclocal.m4: Rebuild.
|
1377
|
+
|
1378
|
+
2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
|
1379
|
+
|
1380
|
+
PR libffi/49594
|
1381
|
+
* src/powerpc/darwin_closure.S (stubs): Make the stub binding
|
1382
|
+
helper reference track the architecture pointer size.
|
1383
|
+
|
1384
|
+
2011-08-25 Andrew Haley <aph@redhat.com>
|
1385
|
+
|
1386
|
+
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
|
1387
|
+
instructions.
|
1388
|
+
* src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
|
1389
|
+
|
6
1390
|
2011-07-11 Andrew Haley <aph@redhat.com>
|
7
1391
|
|
8
1392
|
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
|
@@ -75,6 +1459,10 @@
|
|
75
1459
|
* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
|
76
1460
|
just return FFI_BAD_ABI when things are wrong.
|
77
1461
|
|
1462
|
+
2012-02-11 Eric Botcazou <ebotcazou@adacore.com>
|
1463
|
+
|
1464
|
+
* src/sparc/v9.S (STACKFRAME): Bump to 176.
|
1465
|
+
|
78
1466
|
2011-02-09 Stuart Shelton <srcshelton@gmail.com>
|
79
1467
|
|
80
1468
|
http://bugs.gentoo.org/show_bug.cgi?id=286911
|
@@ -603,6 +1991,13 @@
|
|
603
1991
|
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
|
604
1992
|
type on HP-UX.
|
605
1993
|
|
1994
|
+
2012-02-13 Kai Tietz <ktietz@redhat.com>
|
1995
|
+
|
1996
|
+
PR libffi/52221
|
1997
|
+
* src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
|
1998
|
+
support for X86_WIN32.
|
1999
|
+
(FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
|
2000
|
+
|
606
2001
|
2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
607
2002
|
|
608
2003
|
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
|
@@ -777,6 +2172,11 @@
|
|
777
2172
|
* man/Makefile.in: Regenerate.
|
778
2173
|
* testsuite/Makefile.in: Regenerate.
|
779
2174
|
|
2175
|
+
2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
|
2176
|
+
|
2177
|
+
* configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
|
2178
|
+
* configure: Rebuilt.
|
2179
|
+
|
780
2180
|
2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
781
2181
|
|
782
2182
|
* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
|