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:   tnn
Date:           Fri Feb 28 22:37:24 UTC 2020

Modified Files:
        pkgsrc/devel/libffi: Makefile distinfo
Added Files:
        pkgsrc/devel/libffi/patches: patch-src_aarch64_ffi.c

Log Message:
libffi: kludge for aarch64. Bump rev.

Disable i-cache flushing. This is wrong but the previous version of
libffi didn't do it either and that worked in practice.


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 pkgsrc/devel/libffi/Makefile
cvs rdiff -u -r1.49 -r1.50 pkgsrc/devel/libffi/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c

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.38 pkgsrc/devel/libffi/Makefile:1.39
--- pkgsrc/devel/libffi/Makefile:1.38   Fri Feb 28 13:20:10 2020
+++ pkgsrc/devel/libffi/Makefile        Fri Feb 28 22:37:24 2020
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.38 2020/02/28 13:20:10 jperkin Exp $
+# $NetBSD: Makefile,v 1.39 2020/02/28 22:37:24 tnn Exp $
 
 DISTNAME=      libffi-3.3
+PKGREVISION=   1
 CATEGORIES=    devel
 MASTER_SITES=  ftp://sourceware.org/pub/libffi/
 

Index: pkgsrc/devel/libffi/distinfo
diff -u pkgsrc/devel/libffi/distinfo:1.49 pkgsrc/devel/libffi/distinfo:1.50
--- pkgsrc/devel/libffi/distinfo:1.49   Fri Feb 28 18:14:28 2020
+++ pkgsrc/devel/libffi/distinfo        Fri Feb 28 22:37:24 2020
@@ -1,10 +1,11 @@
-$NetBSD: distinfo,v 1.49 2020/02/28 18:14:28 tnn Exp $
+$NetBSD: distinfo,v 1.50 2020/02/28 22:37:24 tnn Exp $
 
 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_aarch64_ffi.c) = c5bd73abcb7445b073eb3e61feda212ee3396246
 SHA1 (patch-src_closures.c) = f818bd0384f146a17964e2320df1321d8b83ec73
 SHA1 (patch-src_m68k_ffi.c) = 5179cfd150bc7de15eb1c5ee0a327016c2c32b3e
 SHA1 (patch-src_m88k_elfbsd.S) = 6572c7fa39c00096cb4a80bb88993ff1b4aaa8cc

Added files:

Index: pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c
diff -u /dev/null pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c:1.1
--- /dev/null   Fri Feb 28 22:37:24 2020
+++ pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c Fri Feb 28 22:37:24 2020
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_aarch64_ffi.c,v 1.1 2020/02/28 22:37:24 tnn Exp $
+
+For closures, aarch64 needs explicit invalidation of the code segments
+i-cache after data is written through the data mapping.
+But we don't have any way to look up the address of the code segment
+right now so for now skip doing the cache flush.
+
+--- src/aarch64/ffi.c.orig     2019-10-31 14:49:54.000000000 +0000
++++ src/aarch64/ffi.c
+@@ -808,7 +808,8 @@ ffi_prep_closure_loc (ffi_closure *closu
+   ffi_clear_cache(tramp, tramp + FFI_TRAMPOLINE_SIZE);
+ 
+   /* Also flush the cache for code mapping.  */
+-#ifdef _M_ARM64
++#if defined(_M_ARM64) || defined(__NetBSD__)
++  // ffi_data_to_code_pointer is broken on NetBSD
+   // Not using dlmalloc.c for Windows ARM64 builds
+   // so calling ffi_data_to_code_pointer() isn't necessary
+   unsigned char *tramp_code = tramp;



Home | Main Index | Thread Index | Old Index