summaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.c
diff options
context:
space:
mode:
authorFrederic Riss <frederic.riss@st.com>2005-11-29 07:52:39 +0000
committerFrederic Riss <frederic.riss@st.com>2005-11-29 07:52:39 +0000
commit810649701bdd53f8142e2baab7f654d29e5dd316 (patch)
treedeee776efa783d3b97db482f451da5337b9023dc /gdb/dwarf2-frame.c
parenta55eff590624586febd17f94bbd7c704bd632ca0 (diff)
downloadgdb-810649701bdd53f8142e2baab7f654d29e5dd316.tar.gz
* dwarf2-frame.c (dwarf2_frame_prev_register): Handle
DWARF2_FRAME_REG_CFA_OFFSET. * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add DWARF2_FRAME_REG_CFA_OFFSET.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r--gdb/dwarf2-frame.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index c65967fcff4..81e862b9c0f 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -928,6 +928,19 @@ dwarf2_frame_prev_register (struct frame_info *next_frame, void **this_cache,
}
break;
+ case DWARF2_FRAME_REG_CFA_OFFSET:
+ *optimizedp = 0;
+ *lvalp = not_lval;
+ *addrp = 0;
+ *realnump = -1;
+ if (valuep)
+ {
+ /* Store the value. */
+ store_typed_address (valuep, builtin_type_void_data_ptr,
+ cache->cfa + cache->reg[regnum].loc.offset);
+ }
+ break;
+
case DWARF2_FRAME_REG_RA_OFFSET:
*optimizedp = 0;
*lvalp = not_lval;