From 7511b33ca5d953c7ea057abf9edfd035adef9e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Mon, 28 Jan 2013 09:43:08 +0100 Subject: [PATCH] Fix forward search in JIT when link size is 3 or greater --- ...ch-in-JIT-when-link-size-is-3-or-gre.patch | 50 +++++++++++++++++++ pcre.spec | 4 ++ 2 files changed, 54 insertions(+) create mode 100644 pcre-8.32-Fix-forward-search-in-JIT-when-link-size-is-3-or-gre.patch diff --git a/pcre-8.32-Fix-forward-search-in-JIT-when-link-size-is-3-or-gre.patch b/pcre-8.32-Fix-forward-search-in-JIT-when-link-size-is-3-or-gre.patch new file mode 100644 index 0000000..5998612 --- /dev/null +++ b/pcre-8.32-Fix-forward-search-in-JIT-when-link-size-is-3-or-gre.patch @@ -0,0 +1,50 @@ +From 693f81d9b37934fdb3a0b1de6d06cacbecaffb63 Mon Sep 17 00:00:00 2001 +From: zherczeg +Date: Fri, 18 Jan 2013 08:20:44 +0000 +Subject: [PATCH] Fix forward search in JIT when link size is 3 or greater. + +git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1239 2f5784b3-3f2a-0410-8824-cb99058d5e15 + +Petr Pisar: Ported to 8.32. + +diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c +index cc9f097..3b83340 100644 +--- a/pcre_jit_compile.c ++++ b/pcre_jit_compile.c +@@ -2573,7 +2573,7 @@ DEFINE_COMPILER; + struct sljit_label *start; + struct sljit_jump *quit; + pcre_uint32 chars[MAX_N_CHARS * 2]; +-pcre_uchar *cc = common->start + 1 + IMM2_SIZE; ++pcre_uchar *cc = common->start + 1 + LINK_SIZE; + int location = 0; + pcre_int32 len, c, bit, caseless; + int must_stop; +diff --git a/testdata/testinput12 b/testdata/testinput12 +index 7deba3c..92c9603 100644 +--- a/testdata/testinput12 ++++ b/testdata/testinput12 +@@ -86,4 +86,7 @@ and a couple of things that are different with JIT. --/ + + /.?(*THEN)/S!+I + ++/^12345678abcd/mS++ ++ 12345678abcd ++ + /-- End of testinput12 --/ +diff --git a/testdata/testoutput12 b/testdata/testoutput12 +index 559f48d..f3c0230 100644 +--- a/testdata/testoutput12 ++++ b/testdata/testoutput12 +@@ -178,4 +178,8 @@ Subject length lower bound = -1 + No set of starting bytes + JIT study was not successful + ++/^12345678abcd/mS++ ++ 12345678abcd ++ 0: 12345678abcd (JIT) ++ + /-- End of testinput12 --/ +-- +1.8.1 + diff --git a/pcre.spec b/pcre.spec index f8d1940..b50fa9f 100644 --- a/pcre.spec +++ b/pcre.spec @@ -13,6 +13,8 @@ Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/%{name}/%{?rcversion:Te Patch0: pcre-8.21-multilib.patch # Refused by upstream, bug #675477 Patch1: pcre-8.32-refused_spelling_terminated.patch +# In upstream after 8.32 +Patch2: pcre-8.32-Fix-forward-search-in-JIT-when-link-size-is-3-or-gre.patch BuildRequires: readline-devel # New libtool to get rid of rpath BuildRequires: autoconf, automake, libtool @@ -54,6 +56,7 @@ Utilities demonstrating PCRE capabilities like pcregrep or pcretest. # Get rid of rpath %patch0 -p1 -b .multilib %patch1 -p1 -b .terminated_typos +%patch2 -p1 -b .forward_jit # Because of rpath patch libtoolize --copy --force && autoreconf -vif # One contributor's name is non-UTF-8 @@ -118,6 +121,7 @@ make check %changelog * Mon Jan 28 2013 Petr Pisar - 8.32-4 +- Fix forward search in JIT when link size is 3 or greater * Fri Jan 25 2013 Peter Robinson 8.32-3 - Adjust autoreconf to fix FTBFS on F-19