From: Julian Seward Date: Fri, 1 Jan 2010 20:56:13 +0000 (+0000) Subject: initUnwindContext: put back into the loop, some initialisations for X-Git-Tag: svn/VALGRIND_3_6_0~435 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7db25d24a4f065c68b76abd75137f985cf71b922;p=thirdparty%2Fvalgrind.git initUnwindContext: put back into the loop, some initialisations for 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 --- diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c index 836ad7625b..d4204806ba 100644 --- a/coregrind/m_debuginfo/readdwarf.c +++ b/coregrind/m_debuginfo/readdwarf.c @@ -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 }