diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2022-03-25 14:29:03 +0000 |
---|---|---|
committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2022-03-25 14:29:03 +0000 |
commit | b6bb44e5ba8832aa575c28a13cef3ea2c9edc8b6 (patch) | |
tree | 28a2ac7eacec9d4af9fc7f9128aead0b76112389 /lang/php81 | |
parent | 799e562284fd4df20287cf96cc2920b72d43aad6 (diff) |
pcre: fix runtime issues on powerpc
In sljitConfigInternal.h, pcre checks for existence of __builtin___clear_cache() function.
LLVM provides that function for all platforms, even those that don't have implemented flushing the cache.
This leads to runtime errors on e.g. powerpc (32-bit) with __clear_cache() calling compilerrt_abort(), resulting in SIGABRT.
Diffstat (limited to 'lang/php81')
-rw-r--r-- | lang/php81/Makefile | 2 | ||||
-rw-r--r-- | lang/php81/files/patch-ext_pcre_pcre2lib_sljit_sljitConfigInternal.h | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lang/php81/Makefile b/lang/php81/Makefile index 670df40197ca..85bfbbd4db87 100644 --- a/lang/php81/Makefile +++ b/lang/php81/Makefile @@ -1,6 +1,6 @@ PORTNAME= php81 DISTVERSION= 8.1.4 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES?= lang devel www MASTER_SITES= PHP/distributions DISTNAME= php-${DISTVERSION} diff --git a/lang/php81/files/patch-ext_pcre_pcre2lib_sljit_sljitConfigInternal.h b/lang/php81/files/patch-ext_pcre_pcre2lib_sljit_sljitConfigInternal.h new file mode 100644 index 000000000000..9a75bc3e86c1 --- /dev/null +++ b/lang/php81/files/patch-ext_pcre_pcre2lib_sljit_sljitConfigInternal.h @@ -0,0 +1,11 @@ +--- ext/pcre/pcre2lib/sljit/sljitConfigInternal.h.orig 2022-03-25 09:54:56 UTC ++++ ext/pcre/pcre2lib/sljit/sljitConfigInternal.h +@@ -283,7 +283,7 @@ + /* Instruction cache flush. */ + /****************************/ + +-#if (!defined SLJIT_CACHE_FLUSH && defined __has_builtin) ++#if (!defined SLJIT_CACHE_FLUSH && defined __has_builtin && !defined SLJIT_CONFIG_PPC_32) + #if __has_builtin(__builtin___clear_cache) + + #define SLJIT_CACHE_FLUSH(from, to) \ |