summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2020-05-28 07:53:05 +0000
committerwiz <wiz@pkgsrc.org>2020-05-28 07:53:05 +0000
commitbb9d56fa21c5c3df6c7079c8f66325e53c58af5a (patch)
tree6a767acb259aba576b415eb5e288811ad3b4525e /devel
parent9c88b956a491e5dc460c2b7a8d6f9329c2e9b05a (diff)
downloadpkgsrc-bb9d56fa21c5c3df6c7079c8f66325e53c58af5a.tar.gz
pcre2: update to 10.35nb1.
Fix cleanup alloc_chunk() in sljitProtExec for NetBSD using upstream patch.
Diffstat (limited to 'devel')
-rw-r--r--devel/pcre2/Makefile3
-rw-r--r--devel/pcre2/distinfo3
-rw-r--r--devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c43
3 files changed, 47 insertions, 2 deletions
diff --git a/devel/pcre2/Makefile b/devel/pcre2/Makefile
index d0a1b8f1f70..33107a3cd44 100644
--- a/devel/pcre2/Makefile
+++ b/devel/pcre2/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.17 2020/05/19 14:18:49 nia Exp $
+# $NetBSD: Makefile,v 1.18 2020/05/28 07:53:05 wiz Exp $
DISTNAME= pcre2-10.35
+PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://ftp.pcre.org/pub/pcre/
EXTRACT_SUFX= .tar.bz2
diff --git a/devel/pcre2/distinfo b/devel/pcre2/distinfo
index 1c328c6ba1f..f2bfde68b9a 100644
--- a/devel/pcre2/distinfo
+++ b/devel/pcre2/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.13 2020/05/19 14:18:49 nia Exp $
+$NetBSD: distinfo,v 1.14 2020/05/28 07:53:05 wiz Exp $
SHA1 (pcre2-10.35.tar.bz2) = 2e5ee2dd397fa8c3ce9aed1a986e51d66a88bdb0
RMD160 (pcre2-10.35.tar.bz2) = fdfdf74eec41107c77eecc071eb153efabd59605
SHA512 (pcre2-10.35.tar.bz2) = ecfb8d48e219daff02874783b7b436fe7d70d8471e44eb66e1e29abb7b0aa67547e6b5fba7058b074ac90eef265ece7d12728f80afdda45b6b8124435f4561fd
Size (pcre2-10.35.tar.bz2) = 1725214 bytes
+SHA1 (patch-src_sljit_sljitProtExecAllocator.c) = 306c7c6c1dfa8fb696ae78eea3b3a803b040d885
diff --git a/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c b/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c
new file mode 100644
index 00000000000..a42e867a7c5
--- /dev/null
+++ b/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c
@@ -0,0 +1,43 @@
+$NetBSD: patch-src_sljit_sljitProtExecAllocator.c,v 1.4 2020/05/28 07:53:05 wiz Exp $
+
+cleanup alloc_chunk() in sljitProtExec for NetBSD
+https://github.com/zherczeg/sljit/pull/40/commits
+
+--- src/sljit/sljitProtExecAllocator.c.orig 2020-04-14 15:20:34.000000000 +0000
++++ src/sljit/sljitProtExecAllocator.c
+@@ -220,28 +220,26 @@ static SLJIT_INLINE struct chunk_header*
+ static SLJIT_INLINE struct chunk_header* alloc_chunk(sljit_uw size)
+ {
+ struct chunk_header *retval;
+- void *maprx;
+
+ retval = (struct chunk_header *)mmap(NULL, size,
+- PROT_MPROTECT(PROT_EXEC|PROT_WRITE|PROT_READ),
+- MAP_ANON, -1, 0);
++ PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC),
++ MAP_ANON | MAP_SHARED, -1, 0);
+
+ if (retval == MAP_FAILED)
+ return NULL;
+
+- maprx = mremap(retval, size, NULL, size, MAP_REMAPDUP);
+- if (maprx == MAP_FAILED) {
++ retval->executable = mremap(retval, size, NULL, size, MAP_REMAPDUP);
++ if (retval->executable == MAP_FAILED) {
+ munmap((void *)retval, size);
+ return NULL;
+ }
+
+- if (mprotect(retval, size, PROT_READ | PROT_WRITE) == -1 ||
+- mprotect(maprx, size, PROT_READ | PROT_EXEC) == -1) {
+- munmap(maprx, size);
++ if (mprotect(retval->executable, size, PROT_READ | PROT_EXEC) == -1) {
++ munmap(retval->executable, size);
+ munmap((void *)retval, size);
+ return NULL;
+ }
+- retval->executable = maprx;
++
+ return retval;
+ }
+ #endif /* NetBSD >= 8 */