From: Julian Seward Date: Thu, 30 Apr 2015 11:45:13 +0000 (+0000) Subject: DW_CFA_def_cfa_expression: don't push the CFA on the stack before X-Git-Tag: svn/VALGRIND_3_11_0~443 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=47f7612998b456383d6233778b0d01b9e1618aa4;p=thirdparty%2Fvalgrind.git DW_CFA_def_cfa_expression: don't push the CFA on the stack before evaluation starts. For DW_CFA_val_expression and DW_CFA_expression doing so is correct, but not for DW_CFA_def_cfa_expression. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15160 --- diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c index a038a52dbb..4a0f75019c 100644 --- a/coregrind/m_debuginfo/readdwarf.c +++ b/coregrind/m_debuginfo/readdwarf.c @@ -3311,7 +3311,7 @@ static Int run_CF_instruction ( /*MOD*/UnwindContext* ctx, VG_(printf)(" DW_CFA_def_cfa_expression ("); /* Convert the expression into a dag rooted at ctx->exprs index j, or fail. */ - j = dwarfexpr_to_dag ( ctx, expr, len, True/*push CFA at start*/, + j = dwarfexpr_to_dag ( ctx, expr, len, False/*!push CFA at start*/, di->ddump_frames); if (di->ddump_frames) VG_(printf)(")\n");