------- 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