diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-11-28 17:28:29 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-11-28 17:28:29 +0000 |
commit | 3e9a2e524520a867aebe55f44cb1e4a094ed8410 (patch) | |
tree | 84ea010fdc00c19d6b736814b3b4334be4931b28 | |
parent | acd65feb7ed6511f571de5b5ec7f2dd759819fe5 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2-frame.c | 11 |
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; } } |