------- 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 #13 from Tony Reix <tony.reix@???> 2014-01-15 16:13:52 ---
On Linux Fedora on PPC / BE, your test works perfectly:
# gdb --args ./pcretest -s+
GNU gdb (GDB) Fedora (7.6-30.fc19)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
For bug reporting instructions, please see:
<
http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/tony/pcre-8.34/pcretest...done.
(gdb) run
Starting program: /home/tony/pcre-8.34/pcretest -s+
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/power6/libthread_db.so.1".
PCRE version 8.34 2013-12-15
re> /ab+c/
data> abbc
0: abbc
And 'make test' is OK for JIT :
PASS: pcre_jit_test
(gdb) s
9541 return convert_executable_func.call_executable_func(arguments);
(gdb) si
0x0000000010091fb8 9541 return
convert_executable_func.call_executable_func(arguments);
(gdb) display/i $pc
1: x/i $pc
=> 0x10091fb8 <jit_machine_stack_exec+152>: addis r10,r31,1
(gdb) si
0x0000000010091fbc 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fbc <jit_machine_stack_exec+156>: ld r3,-32544(r10)
(gdb) si
0x0000000010091fc0 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fc0 <jit_machine_stack_exec+160>: ld r10,0(r9)
(gdb) si
0x0000000010091fc4 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fc4 <jit_machine_stack_exec+164>: std r2,40(r1)
(gdb) si
0x0000000010091fc8 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fc8 <jit_machine_stack_exec+168>: ld r11,16(r9)
(gdb) si
0x0000000010091fcc 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fcc <jit_machine_stack_exec+172>: mtctr r10
(gdb) si
0x0000000010091fd0 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fd0 <jit_machine_stack_exec+176>: ld r2,8(r9)
(gdb) si
0x0000000010091fd4 9541 return
convert_executable_func.call_executable_func(arguments);
1: x/i $pc
=> 0x10091fd4 <jit_machine_stack_exec+180>: bctrl
(gdb) si
0x00003fffb7fb0010 in ?? ()
1: x/i $pc
=> 0x3fffb7fb0010: mflr r0
(gdb) x 0x00003fffb7fb0010
0x3fffb7fb0010: 0x7c0802a6
(gdb) x/20 0x00003fffb7fb0010
0x3fffb7fb0010: 0x7c0802a6 0xfbe1fff8 0xfbc1fff0 0xfba1ffe8
0x3fffb7fb0020: 0xfb81ffe0 0xfb61ffd8 0xfb41ffd0 0xf8010008
0x3fffb7fb0030: 0x3be00000 0x7c7e1b78 0xf821ff11 0xe91e0010
0x3fffb7fb0040: 0x3868ffff 0xf86100a8 0xf8610098 0x7fdbf378
0x3fffb7fb0050: 0x7fc3f378 0xebc30008 0xeba30018 0xe8a30000
(gdb) disassemble $pc,$pc+80
Dump of assembler code from 0x3fffb7fb0010 to 0x3fffb7fb0060:
=> 0x00003fffb7fb0010: mflr r0
0x00003fffb7fb0014: std r31,-8(r1)
0x00003fffb7fb0018: std r30,-16(r1)
0x00003fffb7fb001c: std r29,-24(r1)
0x00003fffb7fb0020: std r28,-32(r1)
0x00003fffb7fb0024: std r27,-40(r1)
0x00003fffb7fb0028: std r26,-48(r1)
0x00003fffb7fb002c: std r0,8(r1)
0x00003fffb7fb0030: li r31,0
0x00003fffb7fb0034: mr r30,r3
0x00003fffb7fb0038: stdu r1,-240(r1)
0x00003fffb7fb003c: ld r8,16(r30)
0x00003fffb7fb0040: addi r3,r8,-1
0x00003fffb7fb0044: std r3,168(r1)
0x00003fffb7fb0048: std r3,152(r1)
0x00003fffb7fb004c: mr r27,r30
0x00003fffb7fb0050: mr r3,r30
0x00003fffb7fb0054: ld r30,8(r3)
0x00003fffb7fb0058: ld r29,24(r3)
0x00003fffb7fb005c: ld r5,0(r3)
End of assembler dump.
(gdb) disassemble jit_machine_stack_exec
Dump of assembler code for function jit_machine_stack_exec:
0x0000000010091f20 <+0>: mflr r0
0x0000000010091f24 <+4>: std r0,16(r1)
0x0000000010091f28 <+8>: std r31,-8(r1)
0x0000000010091f2c <+12>: lis r0,-1
0x0000000010091f30 <+16>: ori r0,r0,32592
0x0000000010091f34 <+20>: stdux r1,r1,r0
0x0000000010091f38 <+24>: mr r31,r1
0x0000000010091f3c <+28>: addis r9,r31,1
0x0000000010091f40 <+32>: std r3,-32544(r9)
0x0000000010091f44 <+36>: addis r10,r31,1
0x0000000010091f48 <+40>: std r4,-32536(r10)
0x0000000010091f4c <+44>: addi r10,r31,120
0x0000000010091f50 <+48>: addis r9,r31,1
0x0000000010091f54 <+52>: std r10,-32648(r9)
0x0000000010091f58 <+56>: addis r9,r31,1
0x0000000010091f5c <+60>: ld r10,-32648(r9)
0x0000000010091f60 <+64>: addis r9,r31,1
0x0000000010091f64 <+68>: std r10,-32640(r9)
0x0000000010091f68 <+72>: addis r9,r31,1
0x0000000010091f6c <+76>: ld r9,-32640(r9)
0x0000000010091f70 <+80>: addis r9,r9,1
0x0000000010091f74 <+84>: addi r10,r9,-32768
0x0000000010091f78 <+88>: addis r9,r31,1
0x0000000010091f7c <+92>: std r10,-32632(r9)
0x0000000010091f80 <+96>: addis r9,r31,1
0x0000000010091f84 <+100>: ld r10,-32632(r9)
0x0000000010091f88 <+104>: addis r9,r31,1
0x0000000010091f8c <+108>: std r10,-32624(r9)
0x0000000010091f90 <+112>: addis r10,r31,1
0x0000000010091f94 <+116>: ld r9,-32544(r10)
0x0000000010091f98 <+120>: addi r10,r31,112
0x0000000010091f9c <+124>: addis r10,r10,1
0x0000000010091fa0 <+128>: addi r10,r10,-32760
0x0000000010091fa4 <+132>: std r10,0(r9)
0x0000000010091fa8 <+136>: addis r10,r31,1
0x0000000010091fac <+140>: ld r9,-32536(r10)
0x0000000010091fb0 <+144>: std r9,112(r31)
0x0000000010091fb4 <+148>: ld r9,112(r31)
0x0000000010091fb8 <+152>: addis r10,r31,1
0x0000000010091fbc <+156>: ld r3,-32544(r10)
0x0000000010091fc0 <+160>: ld r10,0(r9)
0x0000000010091fc4 <+164>: std r2,40(r1)
0x0000000010091fc8 <+168>: ld r11,16(r9)
0x0000000010091fcc <+172>: mtctr r10
0x0000000010091fd0 <+176>: ld r2,8(r9)
0x0000000010091fd4 <+180>: bctrl
0x0000000010091fd8 <+184>: ld r2,40(r1)
0x0000000010091fdc <+188>: mr r9,r3
---Type <return> to continue, or q <return> to quit---
0x0000000010091fe0 <+192>: mr r3,r9
0x0000000010091fe4 <+196>: ld r1,0(r1)
0x0000000010091fe8 <+200>: ld r0,16(r1)
0x0000000010091fec <+204>: mtlr r0
0x0000000010091ff0 <+208>: ld r31,-8(r1)
0x0000000010091ff4 <+212>: blr
0x0000000010091ff8 <+216>: .long 0x0
0x0000000010091ffc <+220>: .long 0x1
0x0000000010092000 <+224>: lwz r0,1(r1)
End of assembler dump.
# ./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:
in 32 bit mode with UTF-32 enabled and ucp enabled:
............................................................
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email