summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2019-07-30 12:36:19 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2019-07-30 12:36:19 +0000
commit2ae5b0e76a7fa48e9f740d3c629e5cb127317c47 (patch)
tree0511bb4fb87a2c6edf923af4bad453f71e72f5c1
parentnet-mgmt/aircrack-ng: fix build on powerpc* (diff)
devel/pcre2: Correctly detect OpenPOWER 64-bit ELFv2 ABI
PR: 239408 Submitted by: bdragon Reported by: bdragon Approved by: krion (maintainer), linimon (mentor) Obtained from: https://bugs.exim.org/show_bug.cgi?id=2353 Differential Revision: https://reviews.freebsd.org/D21063
Notes
Notes: svn path=/head/; revision=507638
-rw-r--r--devel/pcre2/Makefile2
-rw-r--r--devel/pcre2/files/patch-src_sljit_sljitConfigInternal.h11
-rw-r--r--devel/pcre2/files/patch-src_sljit_sljitNativePPC__common.c11
3 files changed, 23 insertions, 1 deletions
diff --git a/devel/pcre2/Makefile b/devel/pcre2/Makefile
index 072dae75a9e4..9cac72eb7872 100644
--- a/devel/pcre2/Makefile
+++ b/devel/pcre2/Makefile
@@ -3,7 +3,7 @@
PORTNAME= pcre2
PORTVERSION= 10.32
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
MASTER_SITES= SF/pcre/${PORTNAME}/${PORTVERSION} \
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ \
diff --git a/devel/pcre2/files/patch-src_sljit_sljitConfigInternal.h b/devel/pcre2/files/patch-src_sljit_sljitConfigInternal.h
new file mode 100644
index 000000000000..fa0b045d6774
--- /dev/null
+++ b/devel/pcre2/files/patch-src_sljit_sljitConfigInternal.h
@@ -0,0 +1,11 @@
+--- src/sljit/sljitConfigInternal.h.orig 2018-08-13 10:18:10 UTC
++++ src/sljit/sljitConfigInternal.h
+@@ -530,7 +530,7 @@ typedef double sljit_f64;
+ #endif /* !SLJIT_FUNC */
+
+ #ifndef SLJIT_INDIRECT_CALL
+-#if ((defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) && (defined SLJIT_BIG_ENDIAN && SLJIT_BIG_ENDIAN)) \
++#if ((defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) && (!defined _CALL_ELF || _CALL_ELF == 1)) \
+ || ((defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) && defined _AIX)
+ /* It seems certain ppc compilers use an indirect addressing for functions
+ which makes things complicated. */
diff --git a/devel/pcre2/files/patch-src_sljit_sljitNativePPC__common.c b/devel/pcre2/files/patch-src_sljit_sljitNativePPC__common.c
new file mode 100644
index 000000000000..6bf3d44433a3
--- /dev/null
+++ b/devel/pcre2/files/patch-src_sljit_sljitNativePPC__common.c
@@ -0,0 +1,11 @@
+--- src/sljit/sljitNativePPC_common.c.orig 2018-01-06 15:12:56 UTC
++++ src/sljit/sljitNativePPC_common.c
+@@ -42,7 +42,7 @@ typedef sljit_u32 sljit_ins;
+ #include <sys/cache.h>
+ #endif
+
+-#if (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN)
++#if (defined _CALL_ELF && _CALL_ELF == 2)
+ #define SLJIT_PASS_ENTRY_ADDR_TO_CALL 1
+ #endif
+