]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
initUnwindContext: put back into the loop, some initialisations for
authorJulian Seward <jseward@acm.org>
Fri, 1 Jan 2010 20:56:13 +0000 (20:56 +0000)
committerJulian Seward <jseward@acm.org>
Fri, 1 Jan 2010 20:56:13 +0000 (20:56 +0000)
ARM which were originally in the loop but inadvertantly got lifted out
during recent merging.  This appears to make stack unwinding work
again on ARM-Linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10988

coregrind/m_debuginfo/readdwarf.c

index 836ad7625b7ae6dd7ca9bc456a015549c5a718b8..d4204806babf8fbc91e1a071fdaed0821e110767 100644 (file)
@@ -2015,16 +2015,16 @@ static void initUnwindContext ( /*OUT*/UnwindContext* ctx )
            ctx->state[j].reg[i].tag = RR_Undef;
          /* ctx->state[j].reg[i].arg = 0; */
       }
+#     if defined(VGA_arm)
+      /* All callee-saved registers (or at least the ones we are
+         summarising for) should start out as RR_Same, on ARM. */
+      ctx->state[j].reg[11].tag = RR_Same;
+      /* ctx->state[j].reg[13].tag = RR_Same; */
+      ctx->state[j].reg[14].tag = RR_Same;
+      ctx->state[j].reg[12].tag = RR_Same;
+      /* this can't be right though: R12 (IP) isn't callee saved. */
+#     endif
    }
-#  if defined(VGA_arm)
-   /* All callee-saved registers (or at least the ones we are
-      summarising for) should start out as RR_Same, on ARM. */
-   ctx->state[j].reg[11].tag = RR_Same;
-   /* ctx->state[j].reg[13].tag = RR_Same; */
-   ctx->state[j].reg[14].tag = RR_Same;
-   ctx->state[j].reg[12].tag = RR_Same;
-   /* this can't be right though: R12 (IP) isn't callee saved. */
-#  endif
 }