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

Top Page
Delete this message
Author: Zoltan Herczeg
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 #16 from Zoltan Herczeg <hzmester@???> 2014-01-16 13:04:26 ---
I think the compiler 8.31 is way too old.

The good news is, that the JIT code clearly makes sense now, so the
instructions are in little endian mode!

The segmentation fault happens after the code returns from JIT:

addi    r1,r1,144
ld      r0,8(r1)
[...]
mtlr    r0
blr


This is clearly a bad returning address, as you noticed: 0x101db8bc

Maybe another ABI change is the culprit :(

When the JIT code enters, there must be an "st r0, 8(r1)" soon, which should
save the return address. Could you check that r0 is valid when this store
happens? (x $r0). I suspect this value is overwritten, because it overlaps with
the local_space (Could you print out the start address of the local_space just
before the JIT code is executed "p local_space"). The old ABI used a stack
chain, and the return address must be stored in the stack space of the caller
function. Maybe this is not true anymore. Could you check what
jit_machine_stack_exec does with the return address (disassembling the whole
function)?


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