From b2aafa092443a34f2248c201c8140bde41e2b052 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Jan 26 2014 20:04:11 +0000 Subject: import pcre-8.32-12.el7.src.rpm --- diff --git a/SOURCES/pcre-8.34-Fix-range-check-in-JIT-path.patch b/SOURCES/pcre-8.34-Fix-range-check-in-JIT-path.patch new file mode 100644 index 0000000..6ee6103 --- /dev/null +++ b/SOURCES/pcre-8.34-Fix-range-check-in-JIT-path.patch @@ -0,0 +1,55 @@ +From c061f6a865a473cf93aae1e6a0ccd2325509a6b2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Thu, 9 Jan 2014 13:39:28 +0100 +Subject: [PATCH] Fix range check in JIT path +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Jitted range check was wrong: + + re> /[efij]/S+ +data> e +No match + +while interpretted path is correct: + + re> /[efij]/ +data> e + 0: e + +This fix is part of: + +commit c07887b22a83fba842e88889c9e57a622b9ee439 +Author: zherczeg +Date: Sun Dec 22 20:47:08 2013 +0000 + + The auto-possessification of character sets were improved. The JIT compiler also optimizes more character set checks. + + git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1415 2f5784b3-3f2a-0410-8824-cb99058d5e15 + + + +Signed-off-by: Petr Písař +--- + pcre_jit_compile.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c +index d070263..47447da 100644 +--- a/pcre_jit_compile.c ++++ b/pcre_jit_compile.c +@@ -3573,7 +3573,9 @@ switch(ranges[0]) + } + return TRUE; + } +- if ((ranges[3] - ranges[2]) == (ranges[5] - ranges[4]) && is_powerof2(ranges[4] - ranges[2])) ++ if ((ranges[3] - ranges[2]) == (ranges[5] - ranges[4]) ++ && (ranges[2] | (ranges[4] - ranges[2])) == ranges[4] ++ && is_powerof2(ranges[4] - ranges[2])) + { + if (readch) + read_char(common); +-- +1.8.3.1 + diff --git a/SPECS/pcre.spec b/SPECS/pcre.spec index 7b7b149..4d47455 100644 --- a/SPECS/pcre.spec +++ b/SPECS/pcre.spec @@ -2,7 +2,7 @@ #%%global rcversion RC1 Name: pcre Version: 8.32 -Release: %{?rcversion:0.}8%{?rcversion:.%rcversion}%{?dist} +Release: %{?rcversion:0.}12%{?rcversion:.%rcversion}%{?dist} %global myversion %{version}%{?rcversion:-%rcversion} Summary: Perl-compatible regular expression library Group: System Environment/Libraries @@ -24,6 +24,8 @@ Patch5: pcre-8.33-RC1-Fix-pcretest-crash-with-a-data-line-longer-than-6553.patch # Fix passing too small output vector to pcre_dfa_exec, in upstream after # 8.33-RC1, bug #963284 Patch6: pcre-8.33-RC1-Fix-segfault-when-pcre_dfa_exec-is-called-with-an-ou.patch +# Fix jitted range check, in upstream after 8.34, bug #1048101 +Patch7: pcre-8.34-Fix-range-check-in-JIT-path.patch BuildRequires: readline-devel # New libtool to get rid of rpath BuildRequires: autoconf, automake, libtool @@ -70,6 +72,7 @@ Utilities demonstrating PCRE capabilities like pcregrep or pcretest. %patch4 -p1 -b .pcregrep_empty_line %patch5 -p1 -b .pcretest_grow_buffer %patch6 -p1 -b .vector_size +%patch7 -p1 -b .jitted_range_check # Because of rpath patch libtoolize --copy --force && autoreconf -vif # One contributor's name is non-UTF-8 @@ -80,9 +83,12 @@ for F in ChangeLog; do done %build -# There is a strict-aliasing problem on PPC64, bug #881232 %ifarch ppc64 +# There is a strict-aliasing problem on PPC64, bug #881232 %global optflags %{optflags} -fno-strict-aliasing +# There is an explicit request to optimize PCRE more, bug #1051072 +%global optflags %(printf '%s' '%{optflags}' | \ + sed -r 's/(^|[[:space:]])-O[012]([[:space:]]|$)/\\1-O3\\2/') %endif %configure \ %ifarch aarch64 s390 s390x sparc64 sparcv9 @@ -137,6 +143,18 @@ make check %{_mandir}/man1/pcretest.* %changelog +* Fri Jan 24 2014 Daniel Mach - 8.32-12 +- Mass rebuild 2014-01-24 + +* Fri Jan 10 2014 Petr Pisar - 8.32-11 +- Raise optimization to level 3 on 64-bit PowerPC (bug #1051072) + +* Thu Jan 09 2014 Petr Pisar - 8.32-10 +- Fix jitted range check (bug #1048101) + +* Fri Dec 27 2013 Daniel Mach - 8.32-9 +- Mass rebuild 2013-12-27 + * Wed Oct 16 2013 Petr Pisar - 8.33-8 - Disable strict-aliasing on PPC64 (bug #881232)