diff options
| author | Leo <thinkabit.ukim@gmail.com> | 2020-04-10 16:02:57 -0300 |
|---|---|---|
| committer | Leo <thinkabit.ukim@gmail.com> | 2020-04-10 20:14:10 +0000 |
| commit | b3fc2a7e528a4d7be10490eb7ab23b82f8d04838 (patch) | |
| tree | e9ea5d00241a28af14c4609a9491b9ccbeee9a82 | |
| parent | 4feaea39adc2ee2eb2be672ce032edcb50548dd9 (diff) | |
| download | aports-b3fc2a7e528a4d7be10490eb7ab23b82f8d04838.tar.bz2 aports-b3fc2a7e528a4d7be10490eb7ab23b82f8d04838.tar.xz | |
community/libffi3.2: remove
ghc no longer needs it
| -rw-r--r-- | community/libffi3.2/APKBUILD | 39 | ||||
| -rw-r--r-- | community/libffi3.2/pax-dlmmap.patch | 120 |
2 files changed, 0 insertions, 159 deletions
diff --git a/community/libffi3.2/APKBUILD b/community/libffi3.2/APKBUILD deleted file mode 100644 index 1854eedc66..0000000000 --- a/community/libffi3.2/APKBUILD +++ /dev/null @@ -1,39 +0,0 @@ -# Maintainer: -pkgname=libffi3.2 -pkgver=3.2 -pkgrel=0 -pkgdesc="A portable, high level programming interface to various calling conventions." -url="http://sourceware.org/libffi" -arch="x86_64" -license="MIT" -depends_dev="linux-headers" -makedepends_build="texinfo" -# on mips* ffitarget.h wants <asm/sgidefs.h> -makedepends_host="linux-headers" -source="ftp://sourceware.org/pub/libffi/libffi-$pkgver.tar.gz - pax-dlmmap.patch - " -builddir="$srcdir/libffi-$pkgver" - -build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --enable-pax_emutramp - make -} - -package() { - make DESTDIR="$pkgdir" install - rm -rf "$pkgdir"/usr/share/man - rm -rf "$pkgdir"/usr/share/info - rm -rf "$pkgdir"/usr/include - rm -rf "$pkgdir"/usr/lib/*.so - rm -rf "$pkgdir"/usr/lib/*.a - rm -rf "$pkgdir"/usr/lib/pkgconfig - rm -rf "$pkgdir"/usr/lib/libffi-3.2 -} - -sha512sums="fed5f6eec86144608966857f54bd69a5faa43427f27bc9178ebe2c7a1cecf925c20dbd6df07a207ae469842874efcf5b99fb7e09db59cbd92ebfc0a7e1bb62b7 libffi-3.2.tar.gz -72486b389db16055ae4d7d33ba0cb05840537e28fe7a86aa89e2cb922592125d99c18c26c5df7ffde6282742e79f2b9126353e58b58f091f0486589e14dd6474 pax-dlmmap.patch" diff --git a/community/libffi3.2/pax-dlmmap.patch b/community/libffi3.2/pax-dlmmap.patch deleted file mode 100644 index ec4150410d..0000000000 --- a/community/libffi3.2/pax-dlmmap.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 48d2e46528fb6e621d95a7fa194069fd136b712d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20B=C3=BChler?= <buehler@cert.uni-stuttgart.de> -Date: Wed, 7 Sep 2016 15:49:48 +0200 -Subject: [PATCH 1/2] dlmmap_locked always needs locking as it always modifies - execsize - ---- - src/closures.c | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - -diff --git a/src/closures.c b/src/closures.c -index 2e0ffb45..04d6e27f 100644 ---- a/src/closures.c -+++ b/src/closures.c -@@ -769,16 +769,11 @@ dlmmap (void *start, size_t length, int prot, - MREMAP_DUP and prot at this point. */ - } - -- if (execsize == 0 || execfd == -1) -- { -- pthread_mutex_lock (&open_temp_exec_file_mutex); -- ptr = dlmmap_locked (start, length, prot, flags, offset); -- pthread_mutex_unlock (&open_temp_exec_file_mutex); -+ pthread_mutex_lock (&open_temp_exec_file_mutex); -+ ptr = dlmmap_locked (start, length, prot, flags, offset); -+ pthread_mutex_unlock (&open_temp_exec_file_mutex); - -- return ptr; -- } -- -- return dlmmap_locked (start, length, prot, flags, offset); -+ return ptr; - } - - /* Release memory at the given address, as well as the corresponding - -From 7aad5f895e2dfdb79d2ef67e1b231d21063e6511 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20B=C3=BChler?= <buehler@cert.uni-stuttgart.de> -Date: Wed, 7 Sep 2016 15:50:54 +0200 -Subject: [PATCH 2/2] ignore PaX EMUTRAMP flag; instead check for MPROTECT - -- code using ffi_closure_alloc doesn't necessarily generate gcc compatible trampolines; only those are allowed by PaX -- if MPROTECT is enabled use the same workaround as is used for SELinux (double mmap()) ---- - src/closures.c | 29 +++++++++++++---------------- - 1 file changed, 13 insertions(+), 16 deletions(-) - -diff --git a/src/closures.c b/src/closures.c -index 04d6e27f..babecc1a 100644 ---- a/src/closures.c -+++ b/src/closures.c -@@ -401,14 +401,15 @@ selinux_enabled_check (void) - - #endif /* !FFI_MMAP_EXEC_SELINUX */ - --/* On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. */ -+/* On PaX enable kernels that have MPROTECT enabled we can't use PROT_EXEC. */ - #ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX - #include <stdlib.h> - --static int emutramp_enabled = -1; -+/* -1: not read yet; 0: no PaX or MPROTECT disabled; 1: MPROTECT enabled. */ -+static int mprotect_enabled = -1; - - static int --emutramp_enabled_check (void) -+mprotect_enabled_check (void) - { - char *buf = NULL; - size_t len = 0; -@@ -422,9 +423,7 @@ emutramp_enabled_check (void) - while (getline (&buf, &len, f) != -1) - if (!strncmp (buf, "PaX:", 4)) - { -- char emutramp; -- if (sscanf (buf, "%*s %*c%c", &emutramp) == 1) -- ret = (emutramp == 'E'); -+ ret = (NULL != strchr (buf + 4, 'M')); - break; - } - free (buf); -@@ -432,8 +431,9 @@ emutramp_enabled_check (void) - return ret; - } - --#define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \ -- : (emutramp_enabled = emutramp_enabled_check ())) -+#define is_mprotect_enabled() (mprotect_enabled >= 0 ? mprotect_enabled \ -+ : (mprotect_enabled = mprotect_enabled_check ())) -+ - #endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */ - - #elif defined (__CYGWIN__) || defined(__INTERIX) -@@ -446,7 +446,7 @@ emutramp_enabled_check (void) - #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */ - - #ifndef FFI_MMAP_EXEC_EMUTRAMP_PAX --#define is_emutramp_enabled() 0 -+#define is_mprotect_enabled() 0 - #endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */ - - /* Declare all functions defined in dlmalloc.c as static. */ -@@ -750,13 +750,10 @@ dlmmap (void *start, size_t length, int prot, - && flags == (MAP_PRIVATE | MAP_ANONYMOUS) - && fd == -1 && offset == 0); - -- if (execfd == -1 && is_emutramp_enabled ()) -- { -- ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset); -- return ptr; -- } -- -- if (execfd == -1 && !is_selinux_enabled ()) -+ /* -1 != execfd hints that we already decided to use dlmmap_locked -+ last time. If PaX MPROTECT or SELinux is active fallback to -+ dlmmap_locked. */ -+ if (execfd == -1 && !is_mprotect_enabled () && !is_selinux_enabled ()) - { - ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset); - |
