diff options
author | wiz <wiz@pkgsrc.org> | 2020-05-28 07:53:05 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2020-05-28 07:53:05 +0000 |
commit | bb9d56fa21c5c3df6c7079c8f66325e53c58af5a (patch) | |
tree | 6a767acb259aba576b415eb5e288811ad3b4525e /devel | |
parent | 9c88b956a491e5dc460c2b7a8d6f9329c2e9b05a (diff) | |
download | pkgsrc-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/Makefile | 3 | ||||
-rw-r--r-- | devel/pcre2/distinfo | 3 | ||||
-rw-r--r-- | devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c | 43 |
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 */ |