pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/libffi



Module Name:    pkgsrc
Committed By:   adam
Date:           Wed Feb 26 19:15:44 UTC 2020

Modified Files:
        pkgsrc/devel/libffi: Makefile distinfo
Added Files:
        pkgsrc/devel/libffi/patches: patch-configure patch-src_m68k_ffi.c
            patch-src_mips_ffi.c patch-src_mips_ffitarget.h
            patch-testsuite_libffi.call_float2.c
Removed Files:
        pkgsrc/devel/libffi/patches: patch-aa patch-ac patch-ad patch-ae
            patch-af patch-ag patch-aj patch-src_alpha_osf.S
            patch-src_arm_sysv.S patch-src_closures.c patch-src_x86_win32.S

Log Message:
libffi: updated to 3.3

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.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 pkgsrc/devel/libffi/Makefile
cvs rdiff -u -r1.45 -r1.46 pkgsrc/devel/libffi/distinfo
cvs rdiff -u -r1.24 -r0 pkgsrc/devel/libffi/patches/patch-aa
cvs rdiff -u -r1.3 -r0 pkgsrc/devel/libffi/patches/patch-ac \
    pkgsrc/devel/libffi/patches/patch-ad
cvs rdiff -u -r1.8 -r0 pkgsrc/devel/libffi/patches/patch-ae
cvs rdiff -u -r1.5 -r0 pkgsrc/devel/libffi/patches/patch-af \
    pkgsrc/devel/libffi/patches/patch-aj
cvs rdiff -u -r1.2 -r0 pkgsrc/devel/libffi/patches/patch-ag \
    pkgsrc/devel/libffi/patches/patch-src_alpha_osf.S \
    pkgsrc/devel/libffi/patches/patch-src_closures.c
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/libffi/patches/patch-configure \
    pkgsrc/devel/libffi/patches/patch-src_m68k_ffi.c \
    pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c \
    pkgsrc/devel/libffi/patches/patch-src_mips_ffitarget.h \
    pkgsrc/devel/libffi/patches/patch-testsuite_libffi.call_float2.c
cvs rdiff -u -r1.7 -r0 pkgsrc/devel/libffi/patches/patch-src_arm_sysv.S
cvs rdiff -u -r1.1 -r0 pkgsrc/devel/libffi/patches/patch-src_x86_win32.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/libffi/Makefile
diff -u pkgsrc/devel/libffi/Makefile:1.34 pkgsrc/devel/libffi/Makefile:1.35
--- pkgsrc/devel/libffi/Makefile:1.34   Sun Jan 12 10:48:50 2020
+++ pkgsrc/devel/libffi/Makefile        Wed Feb 26 19:15:44 2020
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.34 2020/01/12 10:48:50 pho Exp $
+# $NetBSD: Makefile,v 1.35 2020/02/26 19:15:44 adam Exp $
 
-DISTNAME=      libffi-3.2.1
-PKGREVISION=   4
+DISTNAME=      libffi-3.3
 CATEGORIES=    devel
 MASTER_SITES=  ftp://sourceware.org/pub/libffi/
 
@@ -12,11 +11,14 @@ LICENSE=    mit
 
 USE_LANGUAGES=         c c++
 USE_LIBTOOL=           yes
-USE_TOOLS+=            pkg-config
+USE_TOOLS+=            gmake pkg-config
 GNU_CONFIGURE=         yes
-CONFIGURE_ARGS=                --includedir=${PREFIX}/include
+CONFIGURE_ARGS+=       --disable-multi-os-directory
+CONFIGURE_ARGS+=       --includedir=${PREFIX}/include
 PKGCONFIG_OVERRIDE+=   libffi.pc.in
 INFO_FILES=            yes
+TEST_DEPENDS+=         dejagnu-[0-9]*:../../devel/dejagnu
+TEST_TARGET=           check
 
 .include "../../mk/compiler.mk"
 # The Compaq C frontend groks .s, but not .S. Assemble osf.S directly w/ as(1).
@@ -25,15 +27,8 @@ pre-build:
        cd ${WRKSRC} && ./libtool --mode=compile --tag=CC as -I. -Iinclude -o src/alpha/osf.lo -c src/alpha/osf.S
 .endif
 
-# Since we don't have "TEST_DEPENDS", we implement it as a hack:
 .include "../../mk/bsd.prefs.mk"
 
-.if !empty(PKGSRC_RUN_TEST:M[Yy][Ee][Ss])
-TEST_TARGET=   check
-TEST_ENV=      # empty?
-BUILD_DEPENDS+=        dejagnu-[0-9]*:../../devel/dejagnu
-.endif
-
 # patch-aj uses m68k_sync_icache(2)
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-m68k)
 LIBS+=         -lm68k
@@ -45,8 +40,8 @@ CPPFLAGS+=    -D__PIC__
 .endif
 
 # irix fixes from PR 48587
-.if !empty(OPSYS:MIRIX)
-USE_TOOLS+=            bash gmake
+.if ${OPSYS} == IRIX
+USE_TOOLS+=            bash
 MAKE_FLAGS+=           SHELL=${TOOLS_DIR}/bin/bash
 .endif
 

Index: pkgsrc/devel/libffi/distinfo
diff -u pkgsrc/devel/libffi/distinfo:1.45 pkgsrc/devel/libffi/distinfo:1.46
--- pkgsrc/devel/libffi/distinfo:1.45   Tue Sep  5 15:08:42 2017
+++ pkgsrc/devel/libffi/distinfo        Wed Feb 26 19:15:44 2020
@@ -1,18 +1,12 @@
-$NetBSD: distinfo,v 1.45 2017/09/05 15:08:42 joerg Exp $
+$NetBSD: distinfo,v 1.46 2020/02/26 19:15:44 adam Exp $
 
-SHA1 (libffi-3.2.1.tar.gz) = 280c265b789e041c02e5c97815793dfc283fb1e6
-RMD160 (libffi-3.2.1.tar.gz) = 9b546a3d002380bec3f00d86fc47d730abf51dfd
-SHA512 (libffi-3.2.1.tar.gz) = 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
-Size (libffi-3.2.1.tar.gz) = 940837 bytes
-SHA1 (patch-aa) = 5218c8d895f97c812b7ca8d07c55b82ebcdc87d4
-SHA1 (patch-ac) = 63fba2e9486b73485a4f633927f5041110c43239
-SHA1 (patch-ad) = db57395ff721d7b56edec8a3a64b4b529258341c
-SHA1 (patch-ae) = fdb84a49c15041826396e4d3a6dda2de719801c0
-SHA1 (patch-af) = bf64b4082f24947cd47aba0758c347e5ddac3d7e
-SHA1 (patch-ag) = ae6a89f6b2be00c52139be6dcd14d0ebfe85d8f7
-SHA1 (patch-aj) = 5179cfd150bc7de15eb1c5ee0a327016c2c32b3e
-SHA1 (patch-src_alpha_osf.S) = 50d564a1d88284f04f6896719fa3613e9b0be70b
-SHA1 (patch-src_arm_sysv.S) = 2c97e0d069a4df2e1f5b6604e54b2d02c92691e2
-SHA1 (patch-src_closures.c) = 72760ccd973c5f9b157f5db8da180861d748beb2
+SHA1 (libffi-3.3.tar.gz) = 8df6cb570c8d6596a67d1c0773bf00650154f7aa
+RMD160 (libffi-3.3.tar.gz) = 2cd43b66d792f1bad76df2e19a8411beacfcb8e0
+SHA512 (libffi-3.3.tar.gz) = 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f
+Size (libffi-3.3.tar.gz) = 1305466 bytes
+SHA1 (patch-configure) = 81f1f2bee39a40f2a34b3a6cea0b210d13037482
+SHA1 (patch-src_m68k_ffi.c) = 5179cfd150bc7de15eb1c5ee0a327016c2c32b3e
 SHA1 (patch-src_m88k_elfbsd.S) = 6572c7fa39c00096cb4a80bb88993ff1b4aaa8cc
-SHA1 (patch-src_x86_win32.S) = 8a41cbc7237d6a171605a66e91d8d92a57181569
+SHA1 (patch-src_mips_ffi.c) = 7353f68f73917af6bff0b90393ac3404ea54fb99
+SHA1 (patch-src_mips_ffitarget.h) = 7fe62634803ccb5a168e76d597409c9af809c448
+SHA1 (patch-testsuite_libffi.call_float2.c) = 2a42a428b0cc55065968c7f0748026da12b70b9d

Added files:

Index: pkgsrc/devel/libffi/patches/patch-configure
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-configure:1.1
--- /dev/null   Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-configure Wed Feb 26 19:15:44 2020
@@ -0,0 +1,35 @@
+$NetBSD: patch-configure,v 1.1 2020/02/26 19:15:44 adam Exp $
+
+Add NetBSD support.
+
+--- configure.orig     2019-11-23 13:59:04.000000000 +0000
++++ configure
+@@ -18483,7 +18483,7 @@ case "$target" in
+ $as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
+ 
+      ;;
+-     *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*)
++     *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-netbsd* |  *-*-openbsd* | *-pc-solaris* | *-linux-android*)
+ 
+ $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+ 
+@@ -20978,13 +20978,13 @@ s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-a
+ /-all-all/d
+ a\\
+       @ HOST="\$(HOST)\" \\\\\\
+-      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
+-      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
+-      ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
+-      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
+-      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++      ; test ".\$\$HOST" = "." && HOST="$x sh $ax_enable_builddir_auxdir/config.guess $x" \\\\\\
++      ; BUILD="$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x" \\\\\\
++      ; use="$x basename "\$\@" -all $x"; n="$x echo \$\$BUILD | wc -w $x" \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test \$\$n = "0" ; then : \\\\\\
++      ; BUILD="$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x" ; fi \\\\\\
+       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
+-      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++      ; test "\$\$use" = "\$\@" && BUILD="$x echo "\$\$BUILD" | tail -1 $x" \\\\\\
+       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
+       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
+ /dist-all *:/a\\
Index: pkgsrc/devel/libffi/patches/patch-src_m68k_ffi.c
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_m68k_ffi.c:1.1
--- /dev/null   Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-src_m68k_ffi.c    Wed Feb 26 19:15:44 2020
@@ -0,0 +1,31 @@
+$NetBSD: patch-src_m68k_ffi.c,v 1.1 2020/02/26 19:15:44 adam Exp $
+
+NetBSD/m68k support.
+
+--- src/m68k/ffi.c.orig        2014-11-08 12:47:24.000000000 +0000
++++ src/m68k/ffi.c
+@@ -9,8 +9,11 @@
+ 
+ #include <stdlib.h>
+ #include <unistd.h>
+-#ifdef __rtems__
++#if defined(__rtems__)
+ void rtems_cache_flush_multiple_data_lines( const void *, size_t );
++#elif defined(__NetBSD__)
++#include <sys/types.h>
++#include <m68k/sync_icache.h>
+ #else
+ #include <sys/syscall.h>
+ #ifdef __MINT__
+@@ -345,8 +348,10 @@ ffi_prep_closure_loc (ffi_closure* closu
+   else
+     *(void **)(closure->tramp + 8) = ffi_closure_SYSV;
+ 
+-#ifdef __rtems__
++#if defined(__rtems__)
+   rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE );
++#elif defined(__NetBSD__)
++  m68k_sync_icache(codeloc, FFI_TRAMPOLINE_SIZE);
+ #elif defined(__MINT__)
+   Ssystem(S_FLUSHCACHE, codeloc, FFI_TRAMPOLINE_SIZE);
+ #else
Index: pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c:1.1
--- /dev/null   Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c    Wed Feb 26 19:15:44 2020
@@ -0,0 +1,39 @@
+$NetBSD: patch-src_mips_ffi.c,v 1.1 2020/02/26 19:15:44 adam Exp $
+
+Fixes to support the various NetBSD mips ports.
+
+--- src/mips/ffi.c.orig        2019-10-31 14:49:54.000000000 +0000
++++ src/mips/ffi.c
+@@ -476,6 +476,7 @@ static ffi_status ffi_prep_cif_machdep_i
+               ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
+           arg_reg++;
+           break;
++#ifdef __mips64
+           case FFI_TYPE_LONGDOUBLE:
+             /* Align it.  */
+             arg_reg = FFI_ALIGN(arg_reg, 2);
+@@ -494,7 +495,7 @@ static ffi_status ffi_prep_cif_machdep_i
+               arg_reg++;
+             }
+             break;
+-
++#endif
+         case FFI_TYPE_STRUCT:
+             loc = arg_reg * FFI_SIZEOF_ARG;
+           cif->flags += calc_n32_struct_flags(soft_float || index >= nfixedargs,
+@@ -556,6 +557,7 @@ static ffi_status ffi_prep_cif_machdep_i
+         cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
+       break;
+ 
++#ifdef __mips64
+       case FFI_TYPE_LONGDOUBLE:
+       /* Long double is returned as if it were a struct containing
+          two doubles.  */
+@@ -572,6 +574,7 @@ static ffi_status ffi_prep_cif_machdep_i
+                                             << (4 + (FFI_FLAG_BITS * 8));
+         }
+       break;
++#endif
+       default:
+       cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
+       break;
Index: pkgsrc/devel/libffi/patches/patch-src_mips_ffitarget.h
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_mips_ffitarget.h:1.1
--- /dev/null   Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-src_mips_ffitarget.h      Wed Feb 26 19:15:44 2020
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_mips_ffitarget.h,v 1.1 2020/02/26 19:15:44 adam Exp $
+
+Make a minimal adjustment to support the various NetBSD mips ports.
+
+--- src/mips/ffitarget.h.orig  2019-10-31 14:49:54.000000000 +0000
++++ src/mips/ffitarget.h
+@@ -41,8 +41,10 @@
+ #define _MIPS_SIM_ABI32               1
+ #define _MIPS_SIM_NABI32      2
+ #define _MIPS_SIM_ABI64               3
+-#elif !defined(__OpenBSD__)
++#elif defined(__sgi)
+ # include <sgidefs.h>
++#else
++# include <sys/cdefs.h>
+ #endif
+ 
+ #  ifndef _ABIN32
Index: pkgsrc/devel/libffi/patches/patch-testsuite_libffi.call_float2.c
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-testsuite_libffi.call_float2.c:1.1
--- /dev/null   Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-testsuite_libffi.call_float2.c    Wed Feb 26 19:15:44 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-testsuite_libffi.call_float2.c,v 1.1 2020/02/26 19:15:44 adam Exp $
+
+The %Lf printf format expects "long double", so cast args accordingly.
+
+--- testsuite/libffi.call/float2.c.orig        2019-10-31 14:49:54.000000000 +0000
++++ testsuite/libffi.call/float2.c
+@@ -47,7 +47,7 @@ int main (void)
+   /* long double support under SunOS/gcc is pretty much non-existent.
+      You'll get the odd bus error in library routines like printf() */
+ #else
+-  printf ("%Lf, %Lf, %Lf, %Lf\n", ld, ldblit(f), ld - ldblit(f), LDBL_EPSILON);
++  printf ("%Lf, %Lf, %Lf, %Lf\n", (long double)ld, (long double)ldblit(f), (long double)(ld - ldblit(f)), (long double)LDBL_EPSILON);
+ #endif
+ 
+   /* These are not always the same!! Check for a reasonable delta */



Home | Main Index | Thread Index | Old Index