diff options
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r-- | gdb/dwarf2-frame.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index ce21112..3e3ba23 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -291,15 +291,9 @@ read_addr_from_reg (void *baton, int reg) { struct frame_info *this_frame = (struct frame_info *) baton; struct gdbarch *gdbarch = get_frame_arch (this_frame); - int regnum; - gdb_byte *buf; - - regnum = gdbarch_dwarf2_reg_to_regnum (gdbarch, reg); - - buf = alloca (register_size (gdbarch, regnum)); - get_frame_register (this_frame, regnum, buf); + int regnum = gdbarch_dwarf2_reg_to_regnum (gdbarch, reg); - return unpack_pointer (register_type (gdbarch, regnum), buf); + return address_from_register (regnum, this_frame); } /* Implement struct dwarf_expr_context_funcs' "get_reg_value" callback. */ |