aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-11-28 17:28:29 +0000
committerDaniel Jacobowitz <drow@false.org>2006-11-28 17:28:29 +0000
commit3e9a2e524520a867aebe55f44cb1e4a094ed8410 (patch)
tree84ea010fdc00c19d6b736814b3b4334be4931b28
parentacd65feb7ed6511f571de5b5ec7f2dd759819fe5 (diff)
downloadgdb-3e9a2e524520a867aebe55f44cb1e4a094ed8410.zip
gdb-3e9a2e524520a867aebe55f44cb1e4a094ed8410.tar.gz
gdb-3e9a2e524520a867aebe55f44cb1e4a094ed8410.tar.bz2
* dwarf2-frame.c (decode_frame_entry_1): Skip unknown augmentations
without skipping the CIE.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2-frame.c11
2 files changed, 9 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c1c6026..fbf1326 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2-frame.c (decode_frame_entry_1): Skip unknown augmentations
+ without skipping the CIE.
+
2006-11-28 Vladimir Prus <vladimir@codesourcery.com>
Fetch varobj values from memory in a single place,
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index edd9a75..861e19d 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -1674,15 +1674,12 @@ decode_frame_entry_1 (struct comp_unit *unit, gdb_byte *start, int eh_frame_p)
augmentation++;
}
- /* Otherwise we have an unknown augmentation.
- Bail out unless we saw a 'z' prefix. */
+ /* Otherwise we have an unknown augmentation. Assume that either
+ there is no augmentation data, or we saw a 'z' prefix. */
else
{
- if (cie->initial_instructions == NULL)
- return end;
-
- /* Skip unknown augmentations. */
- buf = cie->initial_instructions;
+ if (cie->initial_instructions)
+ buf = cie->initial_instructions;
break;
}
}