dev-libs/libpcre: Fix compile error on MIPS. Fixes #626564
authorJoshua Kinard <kumba@gentoo.org>
Sat, 29 Jul 2017 22:48:00 +0000 (18:48 -0400)
committerJoshua Kinard <kumba@gentoo.org>
Sat, 29 Jul 2017 22:49:07 +0000 (18:49 -0400)
Fixes a compile error on certain MIPS platforms that leads to a
violation of C grammar in sljit/sljitNativeMIPS_common.c.  Patch
has been upstreamed:
https://bugs.exim.org/show_bug.cgi?id=2154

Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Package-Manager: Portage-2.3.6, Repoman-2.3.3

dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch [new file with mode: 0644]
dev-libs/libpcre/libpcre-8.41.ebuild

diff --git a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
new file mode 100644 (file)
index 0000000..0494ccc
--- /dev/null
@@ -0,0 +1,15 @@
+diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c pcre-8.41/sljit/sljitNativeMIPS_common.c
+--- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c      2017-05-07 11:32:25.000000000 -0400
++++ pcre-8.41/sljit/sljitNativeMIPS_common.c   2017-07-29 17:50:24.508909742 -0400
+@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
+ #ifdef SLJIT_IS_FPU_AVAILABLE
+               return SLJIT_IS_FPU_AVAILABLE;
+ #elif defined(__GNUC__)
++      {
+               sljit_sw fir;
+               asm ("cfc1 %0, $0" : "=r"(fir));
+               return (fir >> 22) & 0x1;
++      }
+ #else
+ #error "FIR check is not implemented for this architecture"
+ #endif
index a681e836fee17aaab1cf24941e8b089d1654ed13..397cbd7f41741d75234c50172a0d5d9f5933a2ed 100644 (file)
@@ -47,11 +47,12 @@ MULTILIB_CHOST_TOOLS=(
        /usr/bin/pcre-config
 )
 
-#PATCHES=(
-#)
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
+)
 
 src_prepare() {
-       #epatch "${PATCHES[@]}"
+       epatch "${PATCHES[@]}"
        sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
        elibtoolize
 }