Path to this page:
Subject: CVS commit: pkgsrc/devel/libffcall
From: Thomas Klausner
Date: 2017-09-10 22:00:49
Message id: 20170910200049.AD280FA98@cvs.NetBSD.org
Log Message:
Import libffcall-2.0 as devel/libffcall.
GNU libffcall is a library which can be used to build foreign
function call interfaces in embedded interpreters.
Changes compared to devel/ffcall:
New in 2.0:
* The package now installs a library libffcall.{a,so}. It contains the
'avcall' and 'callback' packages. The libraries libavcall.{a,so} and
libcallback.{a,so} are still installed as well, but are deprecated.
* The installed libraries are now installed as shared libraries by default
(except for libvacall, which is still a static library only).
* The installed shared libraries are now properly versioned. This means that
when installing with --enable-shared, upgrading to a newer version of
libffcall will not break existing binaries.
* The installed include files are now platform independent. This means that
you can now install libffcall for different ABIs on the same system, using
the same --prefix option but different --exec-prefix options for each ABI.
* API changes in <trampoline.h>:
- The second argument of alloc_trampoline() is now a 'void**', rather
than a 'void*'.
- The return value of trampoline_variable() is now a 'void**', rather
than a 'void*'.
- The argument of trampoline_address(), trampoline_variable(),
trampoline_data() is now a function pointer instead of a 'void*'.
* Fixed a bug regarding floating-point arguments followed by
non-floating-point arguments on the following platforms:
- arm: Linux 32-bit, with hardware floats.
- powerpc: Linux 32-bit.
- s390: Linux.
* Fixed a bug regarding structure returns on the following platforms:
- i386: FreeBSD.
- i386: MinGW.
- mips: old 32-bit ABI (Linux, IRIX).
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- i386: MSVC 14.
- x86_64: Cygwin.
- x86_64: MinGW.
- x86_64: MSVC 14.
- hppa64: HP-UX 11.
- m68k: Linux.
* Verified support for the following platforms:
(A build on these platforms worked and still works.)
- i386: FreeBSD, NetBSD, OpenBSD, DragonFly BSD.
- i386: Hurd.
- x86_64: FreeBSD, NetBSD, OpenBSD.
New in 1.13:
* The license has been changed from GPLv2 to GPLv2+.
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- x86_64: Mac OS X 64-bit.
- x86_64: Solaris 64-bit.
- x86_64: Linux with x32 ABI: CC="gcc -mx32".
- arm: Linux 32-bit, without hardware floats.
- arm64: Linux 64-bit.
- s390x: Linux 64-bit.
- powerpc: AIX 64-bit.
- mips: IRIX 6.5 with CC="cc -32".
- sparc: Solaris 64-bit.
* Fixed support for the following platforms:
(Previously, a build on these platforms appeared to succeed but was buggy.)
- x86_64: Linux.
- arm: Linux 32-bit, with hardware floats.
- powerpc: Linux 64-bit.
- mips: Linux with CC="gcc -mabi=32".
- mips: Linux with CC="gcc -mabi=n32".
- mips: Linux with CC="gcc -mabi=64".
- mips: IRIX 6.5 with CC="gcc -mabi=n32".
- s390: Linux.
- sparc: Linux 64-bit.
- ia64: Linux.
- hppa: HP-UX 32-bit.
* Verified support for the following platforms:
(A build on these platforms worked and still works.)
- i386: Linux, Solaris, Mac OS X.
- powerpc: Linux 32-bit.
- powerpc: AIX 32-bit.
- powerpc: MacOS X.
- mips: IRIX 6.5 with CC="cc -n32".
- sparc: Solaris 32-bit.
- sparc: Linux 32-bit: CC="gcc -m32".
- alpha: Linux.
* Support for a security feature: On Linux and FreeBSD platforms, linking with
the libffcall libraries no longer causes the stack to become executable.
New in 1.12:
* Added ppc64le to the list of supported architectures.
New in 1.11:
* Header now define LIBFFCALL_VERSION (to 0x010B).
* Better support for IA64 on Linux (kernel 2.6.16+ and gcc 4.1.0+).
* Added ARM support from Jonathan Olson (debian 1.10-2).
* Added MIPSel support from Thiemo Seufer (debian 1.10-2).
* Added ARMel support from Max Lapan.
Files: