]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r6599 (Correctly handle DW_CFA_def_cfa_sf)
authorJulian Seward <jseward@acm.org>
Mon, 30 Apr 2007 09:44:15 +0000 (09:44 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 30 Apr 2007 09:44:15 +0000 (09:44 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH@6714

coregrind/m_debuginfo/readdwarf.c

index 9288df0b5c68ccbd7d7d06687a6bcc513d96943a..d27246c772f6c9245b6b3576be61a244d7fa9c50 100644 (file)
@@ -2123,7 +2123,7 @@ static Int run_CF_instruction ( /*MOD*/UnwindContext* ctx,
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctx->cfa_reg    = reg;
-         ctx->cfa_offset = off;
+         ctx->cfa_offset = off * ctx->data_a_f;
          break;
 
       case DW_CFA_register:
@@ -2377,7 +2377,8 @@ static Int show_CF_instruction ( UChar* instr,
          i += nleb;
          off = read_leb128( &instr[i], &nleb, 1 );
          i += nleb;
-         VG_(printf)("DW_CFA_def_cfa_sf(r%d, off %d)\n", reg, off);
+         VG_(printf)("DW_CFA_def_cfa_sf(r%d, off %d x data_a_f)\n", 
+                     (Int)reg, (Int)off);
          break;
 
       case DW_CFA_register: