Summary
Compilers for high level languages generate code that follow certain conventions. These conventions are necessary, in part, for separate compilation to work. One such convention is the "calling convention". The "calling convention" is essentially a set of assumptions made by the compiler about where function arguments will be found on entry to a function. A "calling convention" also specifies where the return value for a function is found. Some programs may not know at the time of compilation what arguments are to be passed to a function. For instance, an interpreter may be told at run-time about the number and types of arguments used to call a given function. Libffi can be used in such programs to provide a bridge from the interpreter program to compiled code. The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. Ffi stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The libffi library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. A layer must exist above libffi that handles type conversions for values passed between the two languages.
Versions
v3.3-r2 :: 7 :: gentoo
- Modified
- License
- MIT
- Keywords
- amd64 x86 ~alpha ~amd64-linux ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc-macos ~ppc64 ~riscv ~s390 ~sparc ~x64-macos ~x64-solaris ~x86-linux
- USE flags
- debug pax-kernel test
v3.2.1-r3 :: 6 :: gentoo
- Modified
- License
- MIT
- Keywords
- amd64 x86 ~alpha ~amd64-linux ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc-macos ~ppc64 ~s390 ~sparc ~x64-macos ~x64-solaris ~x86-linux
- USE flags
- debug pax-kernel test
USE flags
General
- debug
- Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- pax-kernel
- Use PaX emulated trampolines, for we can't use PROT_EXEC
- test
- Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
abi_mips
- n32
- 64-bit (32-bit pointer) libraries
- n64
- 64-bit libraries
- o32
- 32-bit libraries
abi_s390
- 32
- 32-bit (s390) libraries
- 64
- 64-bit (s390x) libraries
abi_x86
- 32
- 32-bit (x86) libraries
- 64
- 64-bit (amd64) libraries
- x32
- x32 ABI libraries
Dependencies
Runtime Dependencies
dev-libs / libffi : Portable, high level programming interface to various calling conventions
Depending packages
dev-java / openjdk-bin : Prebuilt Java JDK binaries provided by Eclipse Temurin
net-misc / dropbox : Dropbox daemon (pretends to be GUI-less)
Bugs
- 923928
- dev-libs/libffi-compat-3.3-r2 fails tests
- 925229
- dev-libs/libffi-compat-3.2.1-r3 fails to compile: ffi.c:389:21: error: passing argument 1 of ffi_call_SYSV from incompatible pointer type [-Wincompatible-pointer-types]
- 938567
- dev-libs/libffi-compat-3.3-r2 - [ncurses-6.5] [llvm] ld.lld: error: version script assignment of LIBFFI_BASE_7.0 to symbol ffi_java_raw_call failed: symbol not defined
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - Arthur Zamarin · gentoo
*/*: unkeyword ~ia64
Change was created by running the following command:: ekeyword ^ia64 */*/*.ebuild Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Andreas K. Hüttel · gentoo
dev-libs/libffi-compat: remove ~mips, library and leaf package
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Repository mirror & CI · gentoo
Merge updates from master - Fabian Groffen · gentoo
*/*: remove x64-cygwin keyword
Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Fabian Groffen · gentoo
*/*: remove sparc64-solaris keyword
Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Fabian Groffen · gentoo
*/*: remove sparc-solaris keyword
Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Fabian Groffen · gentoo
*/*: remove x86-solaris keyword
Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Arthur Zamarin · gentoo
dev-libs/libffi-compat: Stabilize 3.3-r2 x86, #813756
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> - Sam James · gentoo
dev-libs/libffi-compat: Stabilize 3.3-r2 amd64, #813756
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-libs/libffi-compat: fix UnusedInherits (libtool)
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - David Seifert · gentoo
dev-libs/libffi-compat: remove userland_BSD
Signed-off-by: David Seifert <soap@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
dev-libs/libffi-compat: add libffi.so.7 compat slot
Bug: https://bugs.gentoo.org/804660 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Package-Manager: Portage-3.0.20, Repoman-3.0.3 - Repository mirror & CI · gentoo
Merge updates from master - Marek Szuba · gentoo
*/*: s/pax_kernel/pax-kernel/g
Signed-off-by: Marek Szuba <marecki@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-libs/libffi-compat: eutils--, multilib--, toolchain-funcs--
Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: David Seifert <soap@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Fabian Groffen · gentoo
dev-libs/libffi-compat: drop x86-macos
Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Fabian Groffen · gentoo
dev-libs/libffi-compat: drop ppc-aix m68k-mint
Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Fabian Groffen <grobian@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Mikle Kolyada · gentoo
*/*: Discontinue Gentoo SuperH port
Package-Manager: Portage-2.3.89, Repoman-2.3.20 RepoMan-Options: --ignore-arches Signed-off-by: Mikle Kolyada <zlogene@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
dev-libs/libffi-compat: RESTRICT="!test? ( test )"
Package-Manager: Portage-2.3.78, Repoman-2.3.17 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Agostino Sarubbo · gentoo
dev-libs/libffi-compat: x86 stable wrt bug #698458
Package-Manager: Portage-2.3.76, Repoman-2.3.16 RepoMan-Options: --include-arches="x86" Signed-off-by: Agostino Sarubbo <ago@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Agostino Sarubbo · gentoo
dev-libs/libffi-compat: amd64 stable wrt bug #698458
Package-Manager: Portage-2.3.76, Repoman-2.3.16 RepoMan-Options: --include-arches="amd64" Signed-off-by: Agostino Sarubbo <ago@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
dev-libs: Remove *-fbsd KEYWORDS
Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
dev-libs/libffi-compat: new package, provides libffi.so.6
There are still a few binary-only packages out there that rely on 'libffi.so.6' presence. This package provides these libraries. No development headers here. Thus this library can co-exist with dev-libs/libffi:0/7 package. Ebuild is based on dev-libs/libffi. We can fast-stabilize it if in-tree stable packages do rely on libffi.so.6 (they should not). The patch is almost entirely by Timo Rothenpieler. I renamed a package and made a few minor tweaks. Fix-by: Timo Rothenpieler Reported-by: Timo Rothenpieler Closes: https://bugs.gentoo.org/695964 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>