From 4f03cc66f7b8b57980d830f47de4220c3cfd85c4 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Tue, 25 Mar 2014 09:10:30 +0100 Subject: [PATCH] [mc] Fix broken DW_OP_call_frame_cfa For some reason, it seems the value of CFA is still wrong but it might come from somewhere else. --- src/mc/mc_dwarf_expression.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mc/mc_dwarf_expression.c b/src/mc/mc_dwarf_expression.c index 0bc9dcca06..09e4143927 100644 --- a/src/mc/mc_dwarf_expression.c +++ b/src/mc/mc_dwarf_expression.c @@ -64,7 +64,7 @@ int mc_dwarf_execute_expression( return MC_EXPRESSION_E_MISSING_STACK_CONTEXT; unw_get_reg(state->cursor, register_id, &res); - error = mc_dwarf_push_value(state, res + op->number); + error = mc_dwarf_push_value(state, res); break; } @@ -78,6 +78,7 @@ int mc_dwarf_execute_expression( break; } + // Constants: case DW_OP_lit0: case DW_OP_lit1: case DW_OP_lit2: case DW_OP_lit3: -- 2.20.1