summaryrefslogtreecommitdiff
path: root/devel/libffi
AgeCommit message (Collapse)AuthorFilesLines
2022-10-24libffi: updated to 3.4.4adam2-6/+6
3.4.4 Oct-23-2022 Important aarch64 fixes, including support for linux builds with Link Time Optimization (-flto). Fix x86 stdcall stack alignment. Fix x86 Windows msvc assembler compatibility. Fix moxie and or1k small structure args.
2022-09-26libffi: updated to 3.4.3adam5-34/+32
3.4.3 All struct args are passed by value, regardless of size, as per ABIs. Enable static trampolines for Cygwin. Add support for Loongson's LoongArch64 architecture. Fix x32 static trampolines. Fix 32-bit x86 stdcall stack corruption. Fix ILP32 aarch64 support.
2022-06-28*: recursive bump for perl 5.36wiz2-4/+4
2022-02-07libffi: add readelf to toolswiz1-2/+2
From Claes Nästén in PR 56698
2022-01-09libffi: define FFI_MMAP_EXEC_WRIT for Solaristm3-7/+9
GCC via pkgsrc set the vendor part of the target triplet to sun for Solaris.
2021-12-09libffi: bl3 bump for solib major changetnn1-2/+2
2021-12-08libffi: fix broken patch; cannot use #ifdef like #if. Bump rev.tnn3-5/+6
Fixes "python2.7: ffi_data_to_code_pointer: not implemented" on aarch64
2021-12-08libffi: updated to 3.4.2adam8-115/+39
3.4.2 Jun-28-21 Add static trampoline support for Linux on x86_64 and ARM64. Add support for Alibaba's CSKY architecture. Add support for Kalray's KVX architecture. Add support for Intel Control-flow Enforcement Technology (CET). Add support for ARM Pointer Authentication (PA). Fix 32-bit PPC regression. Fix MIPS soft-float problem. Enable tmpdir override with the $LIBFFI_TMPDIR environment variable. Enable compatibility with MSVC runtime stack checking. Reject float and small integer argument in ffi_prep_cif_var(). Callers must promote these types themselves.
2021-10-26archivers: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes Could not be committed due to merge conflict: devel/py-traitlets/distinfo The following distfiles were unfetchable (note: some may be only fetched conditionally): ./devel/pvs/distinfo pvs-3.2-solaris.tgz ./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
2021-10-07devel: Remove SHA1 hashes for distfilesnia1-2/+1
2021-05-24*: recursive bump for perl 5.34wiz1-2/+2
2020-08-31*: bump PKGREVISION for perl-5.32.wiz1-2/+2
2020-07-09Do not attempt to build in GO closure support when there is no supporthauke3-3/+79
for GO on the platform. Unbreaks build on Darwin 8.
2020-05-05libffi: re-add support for NetBSD/sh3el and hppa, from patch-aa rev 1.24.tsutsui2-7/+25
2020-04-24Revert portions of PR/48587 - applied in 2014 to resolve some issuedsainty3-29/+4
with building on Irix. The changes applied to 'configure' introduce some quite ugly quote nesting that not all shells (E.g. ksh) can comprehend. After discussion, prefer to roll back what looks like undesirable and unnecessary changes, and drop the 'bash' dependency. My suspicion is that the old 'configure' patch is unhelpful even for Irix. The reason for the PR/48587 changes are not clear, given that part of that patch also selected 'bash' as the shell to use - which should have made editing the script unnecessary in the first place. Demonstrating the problem bringing all this to attention, this is what happens if you are using ksh as the Pkgsrc shell on MacOS X: ===> Building for libffi-3.3nb2 /bin/ksh: : cannot execute [Is a directory] <hangs> The cause is this ugly looking quote nesting that was introduced by patch-configure in PR/48587... $ BUILD="` grep "^#### $HOST " Makefile | sed -e 's/.*|//' `" ksh: : cannot execute [Is a directory] ^C % bash bash-5.0$ BUILD="` grep "^#### $$HOST " Makefile | sed -e 's/.*|//' `" bash-5.0$ exit % sh sh-3.2$ BUILD="` grep "^#### $$HOST " Makefile | sed -e 's/.*|//' `" sh-3.2$ exit Removing patch-configure results in this much simpler, portable looking script: $ BUILD=` grep "^#### $$HOST " Makefile | sed -e 's/.*|//' ` No PKGREVISION bump, this change is not anticipated to affect the package contents, only the success or failure of the build.
2020-04-20Use bash for this build unconditionally, the difficulty in parsing the shelldsainty1-5/+4
script is not limited to Irix. Fixes the build when using ksh (on MacOS) as the preferred shell. No version bump, this change only repairs outright build failures.
2020-04-08libffi: fix ARM buildtnn3-3/+19
Restore ifdef toggling .eh_frame exception unwinding. Seems to have been lost in previous update. PR pkg/55107. Bump.
2020-03-21Fix build for ILP32 powerpc, which doesn't have 128-bit-length data types.rin3-1/+55
2020-03-16Readd support for NetBSD/mips.rin2-1/+17
2020-03-04libffi: bump bl3 for solib major change.tnn1-2/+2
XXX needs recursive bump
2020-02-28libffi: kludge for aarch64. Bump rev.tnn3-2/+23
Disable i-cache flushing. This is wrong but the previous version of libffi didn't do it either and that worked in practice.
2020-02-28libffi: provide a stub function as temporary band aid for aarch64tnn2-1/+31
2020-02-28Back out previous patch.tnn2-23/+1
Although it made the package link, python is still broken on aarch64: *** WARNING: renaming "_ctypes" since importing it failed: /usr/pkg/lib/libffi.so.7: Undefined PLT symbol "ffi_data_to_code_pointer" (symnum = 50)
2020-02-28libffi: deal with fallout on aarch64tnn2-1/+23
2020-02-28libffi: Restrict perl to SunOS, as requested by joerg.jperkin1-2/+3
2020-02-27libffi: update comment; spotted by @leotadam1-2/+2
2020-02-27libffi: New version requires perl.jperkin1-2/+2
2020-02-26libffi: updated to 3.3adam14-452/+71
libffi v3.3 * Add RISC-V support. * New API in support of GO closures. * Add IEEE754 binary128 long double support for 64-bit Power * Default to Microsoft's 64-bit long double ABI with Visual C++. * GNU compiler uses 80 bits (128 in memory) FFI_GNUW64 ABI. * Add Windows on ARM64 (WOA) support. * Add Windows 32-bit ARM support. * Raw java (gcj) API deprecated. * Add pre-built PDF documentation to source distribution. * Many new test cases and bug fixes.
2020-01-12Fix build on FreeBSD 12pho1-1/+7
2017-09-05Fix a glaring sign bug in the closure handling on NetBSD 8+. Fixesjoerg3-6/+6
PR 52523 as Sparc seems to use more annoying instructions than x86 and ARM. Bump revision.
2017-05-26Implement a W^X-aware closure allocator. Overhead is one page perjoerg3-3/+98
closure, but the number should normally be moderately small. A smarter scheme can be implemented if necessary. Requires NetBSD 7.99.72+. Bump revision.
2017-01-28Revert, all the parts for tests were already, just not for interactive use.wiz1-5/+1
2017-01-28Add test target. Result:wiz1-1/+5
# of expected passes 970 # of unexpected failures 450
2016-11-03libffi: remove some netbsd/mips specific patches that are uneededmaya4-40/+7
(and may be harmful). we don't need a definition to declare we're definitely totally o32, especially since the vast majority will be n32. this is potentially harmful, but I cannot confirm any resulting harm. don't try to avoid compiler builtins, we have them and I expect that they will work, however, only build tested (on netbsd 7.99.41 mips64eb), no tests run. bump PKGREVISION.
2016-01-25Fix GNU triplet match for Solaris to indicate that writeable and executablejperkin12-42/+52
heap is not supported. Fixes complete test failure on x86_64. Update patch offsets and comments while here. Bump PKGREVISION.
2015-11-03Add SHA512 digests for distfiles for devel categoryagc1-1/+2
Issues found with existing distfiles: distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip distfiles/fortran-utils-1.1.tar.gz distfiles/ivykis-0.39.tar.gz distfiles/enum-1.11.tar.gz distfiles/pvs-3.2-libraries.tgz distfiles/pvs-3.2-linux.tgz distfiles/pvs-3.2-solaris.tgz distfiles/pvs-3.2-system.tgz No changes made to these distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2015-03-23Disable incompatible assembly sections on 32-bit OSX. Based on MacPorts fixjperkin2-1/+25
in http://trac.macports.org/ticket/44170
2015-03-07wants pthreadstnn1-1/+2
2015-01-09Make it buildable on NetBSD/alphamartin2-1/+28
2014-11-20Remove Cygwin patches (were integrated in 3.2)wiz2-30/+0
2014-11-19Update to 3.2.1:wiz11-1098/+22
Fix for AArch64. Release as 3.2.1. Fix typo Final 3.2 changes Final 3.2 changes Mention OpenRISC Merge pull request #134 from s-macke/openrisc Add OpenRISC support Only run the complex type tests on supported platforms. Add OpenRISC support This patch adds support for the OpenRISC architecture. (http://opencores.org/or1k/Main_Page) This patch has been tested under Linux with QEMU-user emulation support. - 32 Bit - big endian - delayed instructions This is the only available configuration under Linux. The description of the ABI can be found on the official website. Is passes the testsuite except of the unwindtest_ffi_call.cc testcase, which seems to be a problem of gcc and not libffi. Some testcases of the gcc testsuite still fail. Signed-off-by: Sebastian Macke <sebastian@macke.de> Add complex type support. Mostly broken right now Compile tests with -Wno-psabi when using GCC Update version to 3.2 More README updates for 3.2 Update release notes. 2014-05-11 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API). * src/x86/ffi.c: Add if defined(__CYGWIN__). * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT. Added SEH information. Fixed formatting. 2014-09-10 Jakub Jelinek <jakub@redhat.com> * src/powerpc/linux64.S: Emit .note.GNU-stack even when POWERPC64 is not defined. * src/powerpc/linux64_closure.S: Likewise. Also test _CALL_ELF == 2. Fix -Werror=declaration-after-statement problem 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/types.c (FFI_TYPEDEF, FFI_NONCONST_TYPEDEF): Merge the macros by adding another argument that controls whether the result is const or not (FFI_LDBL_CONST): Temporary macro to reduce ifdef confusion * src/prep_cif.c (ffi_prep_cif_core): Replace list of systems with new macro FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION * src/pa/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/s390/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/x86/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * doc/libffi.texi (Primitive Types): Document ffi_type_complex_float, ffi_type_complex_double and ffi_type_complex_longdouble (Complex Types): New subsection. (Complex Type Example): Ditto. * testsuite/libffi.call/cls_align_complex_double.c: New FFI_TYPE_COMPLEX test. * testsuite/libffi.call/cls_align_complex_float.c: Ditto. * testsuite/libffi.call/cls_align_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_double.c: Ditto. * testsuite/libffi.call/cls_complex_float.c: Ditto. * testsuite/libffi.call/cls_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_struct_double.c: Ditto. * testsuite/libffi.call/cls_complex_struct_float.c: Ditto. * testsuite/libffi.call/cls_complex_struct_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_va_double.c: Ditto. * testsuite/libffi.call/cls_complex_va_float.c: Ditto. * testsuite/libffi.call/cls_complex_va_longdouble.c: Ditto. * testsuite/libffi.call/complex_double.c: Ditto. * testsuite/libffi.call/complex_defs_double.c: Ditto. * testsuite/libffi.call/complex_float.c: Ditto. * testsuite/libffi.call/complex_defs_float.c: Ditto. * testsuite/libffi.call/complex_longdouble.c: Ditto. * testsuite/libffi.call/complex_defs_longdouble.c: Ditto. * testsuite/libffi.call/complex_int.c: Ditto. * testsuite/libffi.call/many_complex_double.c: Ditto. * testsuite/libffi.call/many_complex_float.c: Ditto. * testsuite/libffi.call/many_complex_longdouble.c: Ditto. * testsuite/libffi.call/return_complex1_double.c: Ditto. * testsuite/libffi.call/return_complex1_float.c: Ditto. * testsuite/libffi.call/return_complex1_longdouble.c: Ditto. * testsuite/libffi.call/return_complex2_double.c: Ditto. * testsuite/libffi.call/return_complex2_float.c: Ditto. * testsuite/libffi.call/return_complex2_longdouble.c: Ditto. * testsuite/libffi.call/return_complex_double.c: Ditto. * testsuite/libffi.call/return_complex_float.c: Ditto. * testsuite/libffi.call/return_complex_longdouble.c: Ditto. * src/raw_api.c (ffi_raw_to_ptrarray): Handle FFI_TYPE_COMPLEX (ffi_ptrarray_to_raw): Ditto. * src/prep_cif.c (ffi_prep_cif_core): Abort if FFI_TYPE_COMPLEX is not implemented in libffi for the target. * src/java_raw_api.c (ffi_java_raw_size): FFI_TYPE_COMPLEX not supported yet (abort). (ffi_java_raw_to_ptrarray): Ditto. (ffi_java_rvalue_to_raw): Ditto. (ffi_java_raw_to_rvalue): Ditto. * src/debug.c (ffi_type_test): Add debug tests for complex types. * include/ffi.h.in (FFI_TYPE_COMPLEX): Add new FFI_TYPE_COMPLEX. (FFI_TYPE_LAST): Bump. (ffi_type_complex_float): Add new ffi_type_.... (ffi_type_complex_double): Ditto. (ffi_type_complex_longdouble): Ditto. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/s390/ffitarget.h (FFI_TARGET_HAS_COMPLEX_TYPE): Define to provide FFI_TYPE_COMPLEX support. * src/s390/ffi.c (ffi_check_struct_type): Implement FFI_TYPE_COMPLEX (ffi_prep_args): Ditto. (ffi_prep_cif_machdep): Ditto. (ffi_closure_helper_SYSV): Ditto. Merge pull request #132 from nielsAD/master Pascal and Register calling convention support on x86 Merge pull request #130 from frida/fix/darwin-aarch64-float-alignment Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI Merge pull request #129 from frida/fix/darwin-aarch64-cif-prep Fix non-variadic CIF initialization for Apple/ARM64 Merge pull request #124 from knuesel/master Fix issue with builddir when calling configure with absolute path Merge pull request #123 from ehsan/clang-cl Add support for building with clang-cl Determine whether register arguments (THISCALL/FASTCALL/REGISTER) are really passed via register to closures. Use stack if not. Fixed THISCALL/FASTCALL closures and added basic support for PASCAL/REGISTER closures. Support for calling functions with PASCAL and REGISTER calling conventions on x86 Windows/Linux. Also changed indentation to be more consistent throughout the (adjusted) files. Enable forcing the usage of the static CRT in libffi's msvc wrapper This is required for AddressSanitizer builds with clang-cl. Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI Fix non-variadic CIF initialization for Apple/ARM64 Turns out `aarch64_nfixedargs` wasn't initialized in the non-variadic case, resulting in undefined behavior when allocating arguments. Fix issue with builddir when calling configure with absolute path Add support for building with clang-cl Remove compiler warning Fix paths in libffi.pc.in Merge pull request #122 from rvandermeulen/1014976 Don't make --enable-debug imply using the debug CRT in libffi Bug 1014976 - Don't make --enable-debug imply using the debug CRT in libffi. Prepare for libffi 3.1.1 Add missing GNU stack markings in win32.S Fix typo Update current version. Increment libtool version number Merge pull request #120 from l0kod/tmpfile Create temporary file with O_TMPFILE and O_CLOEXEC when available closures: Check for mkostemp(3) closures: Create temporary file with O_TMPFILE and O_CLOEXEC when available The open_temp_exec_file_dir function can create a temporary file without file system accessible link. If the O_TMPFILE flag is not defined (old Linux kernel or libc) the behavior is unchanged. The open_temp_exec_file_name function now need a new argument "flags" (like O_CLOEXEC) used for temporary file creation. The O_TMPFILE flag allow temporary file creation without race condition. This feature/fix prevent another process to access the (future) executable file from the file system. The O_CLOEXEC flag automatically close the temporary file for any execve. This avoid transmitting (executable) file descriptor to a child process.
2014-11-10Restore NetBSD/eARM supportjoerg2-9/+25
2014-11-04pkg-config always uses ${} for variable expansion, not $(). Make surejoerg3-7/+19
the correct use ends up in libffi.pc as libdir might be set to an entirely different value by whoever is using the file. Unbreaks Mozilla packages that ended up with wrkdir references via rpath. Bump revision.
2014-10-28Changes 3.1:adam7-216/+55
Add AArch64 (ARM64) iOS support. Add Nios II support. Add m88k and DEC VAX support. Add support for stdcall, thiscall, and fastcall on non-Windows 32-bit x86 targets such as Linux. Various Android, MIPS N32, x86, FreeBSD and UltraSPARC IIi fixes. Make the testsuite more robust: eliminate several spurious failures, and respect the $CC and $CXX environment variables. Archive off the manually maintained ChangeLog in favor of git log.
2014-06-11GAS doesn't like unified ARM syntax without explicitly told so.joerg2-13/+22
2014-06-01Fix build under OpenBSD 5.5ryoon2-7/+49
A patch from upstream, https://github.com/atgreen/libffi/commit/76d19d004e36e99d261ee78261e2f52cea5e4ab1#diff-e2d5a00791bce9a01f99bc6fd613a39d
2014-05-21Add .cfi_startprroc / .cfi_endproc annotation. XXX Note marking up thejoerg2-1/+89
frame yet. Hide ARM instructions when using DWARF EH.
2014-05-18Update HOMEPAGE.wiz1-3/+2
2014-02-11Fixes for IRIX from Staffan Thomén in PR 48587.dholland5-14/+33
This is all of it except for one bit pertaining to libtool, which is going to require some additional flailing.
2013-11-03Add libffi support for VAX and m88k. Tested with netbsd-6 on VAX.jklos10-14/+1340
From Miod Vallat: https://sourceware.org/ml/libffi-discuss/2013/msg00165.html