[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 #21 from Tony Reix <tony.reix@???> 2014-01-20 10:55:15 ---
Hi Zoltan

The patch attached to your comment #20 works fine on Fedora/PPC64-BE but fails
on Ubuntu/PPC64-LE.

============= Fedora/PPC64-BE :

# patch -p0 < ../pcre-8.34.ppc.patch
patching file sljit/sljitConfigInternal.h
patching file sljit/sljitLir.c
patching file sljit/sljitNativePPC_common.c

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


# make

# make test
...
PASS: pcre_jit_test
...

============ Ubuntu/PPC64-LE :

$ patch -p0 < ../pcre8.34.ppc.patch
patching file sljit/sljitConfigInternal.h
patching file sljit/sljitLir.c
patching file sljit/sljitNativePPC_common.c

$ ./configure --enable-shared=no --enable-pcre16 --enable-unicode-properties
--enable-jit ; make ; make test
...
Enable JIT compiling support .... : yes
...

./test-driver: line 95: 19365 Illegal instruction     (core dumped) "$@" >
$log_file 2>&1
FAIL: pcre_jit_test


$ ./pcre_jit_test (IT NOW SAYS: little endian)
Running JIT regression tests
target CPU of SLJIT compiler: PowerPC 64bit (little endian + unaligned)
in 8 bit mode with UTF-8 enabled and ucp enabled:
in 16 bit mode with UTF-16 enabled and ucp enabled:
Segmentation fault (core dumped)

Breakpoint 1, jit_machine_stack_exec (arguments=0x3fffffffceb0,
executable_func=0x3fffb7dcf2a8) at pcre_jit_compile.c:9527
9527    {
(gdb) s 6
9540    convert_executable_func.executable_func = executable_func;
(gdb) s
9541    return convert_executable_func.call_executable_func(arguments);
(gdb) display/i $pc
1: x/i $pc
=> 0x10092768 <jit_machine_stack_exec+176>:     addi    r9,r31,-32672
(gdb) si
0x000000001009276c      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x1009276c <jit_machine_stack_exec+180>:     ld      r9,32720(r9)
(gdb) si
0x0000000010092770      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10092770 <jit_machine_stack_exec+184>:     addi    r10,r31,-32672
(gdb) si
0x0000000010092774      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10092774 <jit_machine_stack_exec+188>:     ld      r3,32712(r10)
(gdb) si
0x0000000010092778      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10092778 <jit_machine_stack_exec+192>:     std     r2,24(r1)
(gdb) si
0x000000001009277c      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x1009277c <jit_machine_stack_exec+196>:     mr      r12,r9
(gdb) si
0x0000000010092780      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10092780 <jit_machine_stack_exec+200>:     mtctr   r12
(gdb) si
0x0000000010092784      9541    return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10092784 <jit_machine_stack_exec+204>:     bctrl
(gdb) si
0x00003fffb7dcf2a8 in ?? ()
1: x/i $pc
=> 0x3fffb7dcf2a8:      sthu    r30,-4080(r28)
(gdb) si


Program received signal SIGSEGV, Segmentation fault.
0x00003fffb7dcf2a8 in ?? ()


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