From f07f493d2632dfd889c2bd03c95f6f92ad225adb Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Thu, 2 Dec 2010 14:22:36 +0000 Subject: [PATCH] When unwinding the stack frame, correctly account for the number of bytes of augmentation data that were skipped. Fixes some of the problems seen with, e.g. StyledEdit in the Debugger, though it doesn't help explain the corresponding problems seen with gdb as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39703 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/dwarf/DwarfFile.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/apps/debugger/dwarf/DwarfFile.cpp b/src/apps/debugger/dwarf/DwarfFile.cpp index 1ab1208808..519424c879 100644 --- a/src/apps/debugger/dwarf/DwarfFile.cpp +++ b/src/apps/debugger/dwarf/DwarfFile.cpp @@ -666,12 +666,14 @@ DwarfFile::UnwindCallFrame(CompilationUnit* unit, // read the FDE augmentation data (if any) FDEAugmentation fdeAugmentation; + off_t fdeOffset = dataReader.Offset(); error = cieAugmentation.ReadFDEData(dataReader, fdeAugmentation); if (error != B_OK) { TRACE_CFI(" failed to read FDE augmentation data!\n"); return error; } + remaining -= dataReader.Offset() - fdeOffset; error = context.SaveInitialRuleSet(); if (error != B_OK)