Always mark blrl as a return.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1451 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/guest-ppc32/toIR.c b/priv/guest-ppc32/toIR.c
index 9258d68..141e898 100644
--- a/priv/guest-ppc32/toIR.c
+++ b/priv/guest-ppc32/toIR.c
@@ -3233,7 +3233,10 @@
IRConst_U32(guest_CIA_curr_instr + 4)
));
- irbb->jumpkind = flag_LK ? Ijk_Call : Ijk_Ret;
+ /* blrl is pretty strange; it's like a return that sets the
+ return address of its caller to the insn following this
+ one. Mark it as a return. */
+ irbb->jumpkind = Ijk_Ret; /* was flag_LK ? Ijk_Call : Ijk_Ret; */
irbb->next = mkexpr(ir_nia);
break;