[pcre-dev] [Bug 1430] Request to spin up a new version of pc…

Top Page
Delete this message
Author: Tony Reix
Date:  
To: pcre-dev
Subject: [pcre-dev] [Bug 1430] Request to spin up a new version of pcre with ppc64le support
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1430




--- Comment #19 from Tony Reix <tony.reix@???> 2014-01-17 14:09:43 ---
Looks like Zoltan has found the issue preventing JIT to work on Linux on PPC64
LE. Some simple modifications suggested by Zoltan have made the JIT tests run
fine on PPC64/LE.


tony@tony1:~/PCRE/pcre-8.34/sljit$ diff sljitConfigInternal.h
sljitConfigInternal.h.ORIGIN
389c389
< // #define SLJIT_INDIRECT_CALL 1
---
> #define SLJIT_INDIRECT_CALL 1



tony@tony1:~/PCRE/pcre-8.34/sljit$ diff sljitNativePPC_common.c
sljitNativePPC_common.c.ORIGIN
522c522
< //#if (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL)
---
> #if (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL)

524,526c524,526
< //#else
< //    compiler->local_size = (1 + saveds + 2) * sizeof(sljit_sw) +
local_size;
< //#endif
---

> #else
>        compiler->local_size = (1 + saveds + 2) * sizeof(sljit_sw) + local_size;
> #endif

559c559
< //#if (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL)
---
> #if (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL)

561,563c561,563
< //#else
< //    compiler->local_size = (1 + saveds + 2) * sizeof(sljit_sw) +
local_size;
< //#endif
---

> #else
>        compiler->local_size = (1 + saveds + 2) * sizeof(sljit_sw) + local_size;
> #endif




export CFLAGS="-O0 -g -Wall" ; export LDFLAGS="-g" ; ./configure
--enable-shared=no --enable-pcre16 --enable-unicode-properties --enable-jit ;
make
....
Enable JIT compiling support .... : yes
....

make test
...
PASS: pcre_jit_test
PASS: pcrecpp_unittest
PASS: pcre_scanner_unittest
PASS: pcre_stringpiece_unittest
PASS: RunTest
PASS: RunGrepTest


tony@tony1:~/PCRE/pcre-8.34$ ./pcre_jit_test
Running JIT regression tests
target CPU of SLJIT compiler: PowerPC 64bit (big endian + unaligned)
in 8 bit mode with UTF-8 enabled and ucp enabled:
in 16 bit mode with UTF-16 enabled and ucp enabled:
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................................
............................................
All JIT regression tests are successfully passed.



And same success without debug mode:
make clean ; ./configure --enable-shared=no --enable-pcre16
--enable-unicode-properties --enable-jit ; make ; make test


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email