]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Always mark blrl as a return.
authorJulian Seward <jseward@acm.org>
Sat, 12 Nov 2005 12:56:31 +0000 (12:56 +0000)
committerJulian Seward <jseward@acm.org>
Sat, 12 Nov 2005 12:56:31 +0000 (12:56 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1451

VEX/priv/guest-ppc32/toIR.c

index 9258d681d9e9a494a6edac264eb6ff8028acc1b6..141e898d4ed4b9a869b825b5be77ab1eecdb8329 100644 (file)
@@ -3233,7 +3233,10 @@ static Bool dis_branch ( UInt theInstr,
                   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;