Commit graph

63 commits

Author SHA1 Message Date
maya
689fb6ba3a libffi: remove some netbsd/mips specific patches that are uneeded
(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-11-03 11:40:28 +00:00
jperkin
06e42eb0aa Fix GNU triplet match for Solaris to indicate that writeable and executable
heap is not supported.  Fixes complete test failure on x86_64.

Update patch offsets and comments while here.  Bump PKGREVISION.
2016-01-25 17:56:38 +00:00
agc
d9e4cfe05d Add SHA512 digests for distfiles for devel category
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-11-03 03:27:11 +00:00
jperkin
1f7c5abd64 Disable incompatible assembly sections on 32-bit OSX. Based on MacPorts fix
in http://trac.macports.org/ticket/44170
2015-03-23 15:34:18 +00:00
tnn
921a98c993 wants pthreads 2015-03-07 16:37:51 +00:00
martin
fd042fef76 Make it buildable on NetBSD/alpha 2015-01-09 15:10:51 +00:00
wiz
3c25b1d10c Remove Cygwin patches (were integrated in 3.2) 2014-11-20 16:10:37 +00:00
wiz
8651139bbf Update to 3.2.1:
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-19 13:49:35 +00:00
joerg
7d1458668a Restore NetBSD/eARM support 2014-11-10 21:29:40 +00:00
joerg
79828d4c1e pkg-config always uses ${} for variable expansion, not $(). Make sure
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-11-04 21:40:05 +00:00
adam
e23d248581 Changes 3.1:
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-10-28 12:51:03 +00:00
joerg
e45e2861fa GAS doesn't like unified ARM syntax without explicitly told so. 2014-06-11 11:45:04 +00:00
ryoon
9f69c717a2 Fix build under OpenBSD 5.5
A patch from upstream,
76d19d004e (diff-e2d5a00791bce9a01f99bc6fd613a39d)
2014-06-01 03:53:03 +00:00
joerg
868f58b07d Add .cfi_startprroc / .cfi_endproc annotation. XXX Note marking up the
frame yet. Hide ARM instructions when using DWARF EH.
2014-05-21 01:36:22 +00:00
wiz
9a4c8bbbcf Update HOMEPAGE. 2014-05-18 15:17:51 +00:00
dholland
cab2c7b365 Fixes for IRIX from Staffan Thomén in PR 48587.
This is all of it except for one bit pertaining to libtool, which is
going to require some additional flailing.
2014-02-11 07:21:28 +00:00
jklos
bc95ac4322 Add libffi support for VAX and m88k. Tested with netbsd-6 on VAX.
From Miod Vallat:

https://sourceware.org/ml/libffi-discuss/2013/msg00165.html
2013-11-03 23:51:51 +00:00
ryoon
1aac3a1b79 Fix build on Cygwin64.
* Patches borrowed from cygwin64's libffi-3.0.13-1-src.tar.bz2.
2013-07-26 13:12:25 +00:00
obache
ef66b98821 Update libffi to 3.0.13.
3.0.13 Mar-17-13
        Add Meta support.
        Add missing Moxie bits.
        Fix stack alignment bug on 32-bit x86.
        Build fix for m68000 targets.
        Build fix for soft-float Power targets.
        Fix the install dir location for some platforms when building
          with GCC (OS X, Solaris).
        Fix Cygwin regression.
2013-04-06 12:41:23 +00:00
jperkin
5bc0d41dc9 Disable multilib directories. Fixes packaging issues on at least SunOS
64-bit, possibly others.

Patch from obache.
2013-03-18 10:04:10 +00:00
drochner
3143f4c0a6 update to 3.0.12
changes:
-bugfixes
-more compilers/CPUs supported
2013-03-14 19:56:41 +00:00
ryoon
991b650cfd Fix PR/47199
Restore _MIPS_SIM workaround, removed during updating to rev. 1.4 of patch-ae.
Functionality is not tested yet.
2012-12-18 12:33:07 +00:00
asau
e1ab7079b6 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-31 11:16:30 +00:00
drochner
35c4a1c43f fix closures on NetBSD/amd64 and possibly more NetBSD platforms where
malloc'd memory is not automatically executable
bump PKGREV
2012-10-11 19:37:47 +00:00
jmmv
cfa0d7784e Fix build under NetBSD/macppc. 2012-10-09 01:07:55 +00:00
asau
3d853d7eb6 Library major version changed. 2012-09-15 00:22:43 +00:00
asau
e952622554 Update to libffi 3.0.11
3.0.11 Apr-11-12
        Add support for variadic functions (ffi_prep_cif_var).
	Add Linux/x32 support.
	Add thiscall, fastcall and MSVC cdecl support on Windows.
        Add Amiga and newer MacOS support.
	Add m68k FreeMiNT support.
	Integration with iOS' xcode build tools.
	Fix Octeon and MC68881 support.
	Fix code pessimizations.
        Lots of build fixes.

3.0.10 Aug-23-11
        Add support for Apple's iOS.
	Add support for ARM VFP ABI.
        Add RTEMS support for MIPS and M68K.
	Fix instruction cache clearing problems on
	  ARM and SPARC.
	Fix the N64 build on mips-sgi-irix6.5.
	Enable builds with Microsoft's compiler.
	Enable x86 builds with Oracle's Solaris compiler.
	Fix support for calling code compiled with Oracle's Sparc
	  Solaris compiler.
	Testsuite fixes for Tru64 Unix.
	Additional platform support.
2012-09-14 23:45:27 +00:00
jperkin
2008e2abc4 Apply fix from http://gcc.gnu.org/ml/java-patches/2010-q1/msg00058.html
Fixes Solaris/64bit, tested on NetBSD/amd64.
2012-05-30 09:13:16 +00:00
tsutsui
188fd541cf Pull fix from upstream for asm error on NetBSD/arm with newer binutils:
0e5843995f (diff-39)
>  * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
2011-12-31 09:58:22 +00:00
tez
51fb83c674 Fix build for Solaris x86 with older gcc per PR#42865 2011-09-27 15:12:37 +00:00
asau
e3b9b1e36e The library uses m68k_sync_icache from libm68k on NetBSD/m68k.
Fix as proposed by <obache> in PR pkg/44901. Bump package revision.
2011-04-24 09:51:29 +00:00
tnn
e2e9a8e0b9 enable for hppa*-*-netbsd* 2011-01-21 09:21:57 +00:00
tsutsui
a3c6b5e229 Make this build on NetBSD/sh3el.
Tested on NetBSD/landisk 5.1.
2010-11-20 08:45:12 +00:00
jklos
c79dc989ea Correctly do cache flushing on m68k NetBSD. Fixes PR #43106. 2010-07-22 04:17:44 +00:00
wiz
6ff8338d0b regen (hi jared) 2010-03-30 10:17:25 +00:00
jmcneill
2dee9fb32b pkg/42858: devel/libffi-3.0.9 fails to build on NetBSD/cobalt 5.02
Fix build for NetBSD/mips, tested on NetBSD/sgimips 5.0_STABLE
2010-03-30 09:21:30 +00:00
tnn
12894d393b make tru64 build fix work with new libtool 2010-02-14 22:20:55 +00:00
asau
364d9b8424 Update to libffi 3.0.9.
This release includes many important fixes as well as a couple of new ports.
2010-01-16 16:28:58 +00:00
seb
b89e696355 Fix build with sunpro's cc which defines __i386 but not __i386__ 2009-09-21 00:33:51 +00:00
tnn
0cd045677b Fix build on Tru64. 2009-09-20 13:10:30 +00:00
he
d184389d51 Update from version 3.0.8nb1 to 3.0.8nb2.
Pkgsrc changes:
 o Add portability to the various mips-based NetBSD ports.
   The self-tests even complete without any unexpected failures.
2009-05-26 12:27:12 +00:00
rh
388d1466bf Attempt to make this build on NetBSD/powerpc. While at it, correctly set
INFO_FILES to 'yes'.  Bump PKGREVISION.
2009-04-17 22:45:52 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
asau
e0e68674fb Update to libffi 3.0.8.
Changes since previous (3.0.6) include Solaris 10/x86 and FreeBSD/powerpc
support, code cleanup and bug fixes.

pkgsrc changes: add testing support.
Since there's no support for test depends, implement a hack proposed by <obache>.
2009-02-21 15:51:35 +00:00
dholland
3bf7bef308 Update to libffi-3.0.6. From Aleksej Saushev, who's taking maintainership,
with an adjustment for info file handling.

Changes from 2.x appear to be large and aren't concisely anywhere I
can find. Changes since 3.0.0:

3.0.6 Jul-17-08
        Fix for closures on sh.
        Mark the sh/sh64 stack as non-executable.
        (both thanks to Kaz Kojima)

3.0.5 Apr-3-08
        Fix libffi.pc file.
        Fix #define ARM for IcedTea users.
        Fix x86 closure bug.

3.0.4 Feb-24-08
        Fix x86 OpenBSD configury.

3.0.3 Feb-22-08
        Enable x86 OpenBSD thanks to Thomas Heller, and
        x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
        Clean up test instruction in README.

3.0.2 Feb-21-08
        Improved x86 FreeBSD support.
        Thanks to Björn König.

3.0.1 Feb-15-08
        Fix instruction cache flushing bug on MIPS.
        Thanks to David Daney.

3.0.0 Feb-15-08
        Many changes, mostly thanks to the GCC project.
        Cygnus Solutions is now Red Hat.
2008-10-11 22:33:56 +00:00
joerg
5d6f479253 Fix lvalue cast on amd64. Mark as DESTDIR safe. 2008-04-03 09:34:40 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
96fc47c14f Aligned the last line of the buildlink3.mk files with the first line, so
that they look nicer.
2006-04-12 10:26:59 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00