From 7db25d24a4f065c68b76abd75137f985cf71b922 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Fri, 1 Jan 2010 20:56:13 +0000 Subject: [PATCH] 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 --- coregrind/m_debuginfo/readdwarf.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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 } -- 2.47.3