diff options
Diffstat (limited to 'system/pcre/ppc64-elfv2-fix.patch')
-rw-r--r-- | system/pcre/ppc64-elfv2-fix.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/system/pcre/ppc64-elfv2-fix.patch b/system/pcre/ppc64-elfv2-fix.patch new file mode 100644 index 000000000..040f93ee9 --- /dev/null +++ b/system/pcre/ppc64-elfv2-fix.patch @@ -0,0 +1,25 @@ +diff -Naur pcre-8.42-original/sljit/sljitConfigInternal.h pcre-8.42/sljit/sljitConfigInternal.h +--- pcre-8.42-original/sljit/sljitConfigInternal.h 2018-03-13 16:15:23.000000000 +0000 ++++ pcre-8.42/sljit/sljitConfigInternal.h 2018-09-13 01:16:46.640000000 +0000 +@@ -530,7 +530,7 @@ + #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 _CALL_ELF))) \ + || ((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 -Naur pcre-8.42-original/sljit/sljitNativePPC_common.c pcre-8.42/sljit/sljitNativePPC_common.c +--- pcre-8.42-original/sljit/sljitNativePPC_common.c 2018-01-08 10:25:56.000000000 +0000 ++++ pcre-8.42/sljit/sljitNativePPC_common.c 2018-09-13 01:21:00.360000000 +0000 +@@ -42,7 +42,8 @@ + #include <sys/cache.h> + #endif + +-#if (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN) ++#if (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN) \ ++ || (defined _CALL_ELF && _CALL_ELF == 2) + #define SLJIT_PASS_ENTRY_ADDR_TO_CALL 1 + #endif + |