summaryrefslogtreecommitdiff
path: root/dev-libs/libffi/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-25 19:33:39 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-28 08:31:11 +0100
commitad6182343997a405079870a2fe91c4e0c6b94595 (patch)
tree4aa7483cd0ad7de54338afc8e7971417abe1dd81 /dev-libs/libffi/files
parente8f81810baa21f490d6910e8e2d424546b72a333 (diff)
gentoo resync : 25.09.2019
Diffstat (limited to 'dev-libs/libffi/files')
-rw-r--r--dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch b/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch
new file mode 100644
index 000000000000..7c011d2b6d07
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch
@@ -0,0 +1,31 @@
+https://github.com/libffi/libffi/commit/e169ba2b83c780058fe626856cfdb5903a85cb97.patch
+https://bugs.gentoo.org/694916
+
+From e169ba2b83c780058fe626856cfdb5903a85cb97 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Fri, 29 Apr 2016 21:04:07 -0400
+Subject: [PATCH] Fix usage on musl libc
+
+A gcc compiled on musl does not define __gnu_linux__, it defines __linux__.
+Only on glibc does __gnu_linux__ get defined, but both define __linux__, so
+we should check for that instead.
+
+With this patch, libffi works perfectly, and passes its testsuite entirely
+on musl libc systems.
+---
+ src/closures.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/closures.c b/src/closures.c
+index 3dec0e31..05849e06 100644
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -35,7 +35,7 @@
+ #include <ffi_common.h>
+
+ #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
+-# if __gnu_linux__ && !defined(__ANDROID__)
++# if __linux__ && !defined(__ANDROID__)
+ /* This macro indicates it may be forbidden to map anonymous memory
+ with both write and execute permission. Code compiled when this
+ option is defined will attempt to map such pages once, but if it