aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2013-11-18 12:05:11 +0000
committerPedro Alves <palves@redhat.com>2013-11-18 12:05:11 +0000
commit4b4589ada7e88f2f36d264a173d95ed5994b3acb (patch)
tree00ef37611468c6ff5dde09e35eb253b741c0ab0e /gdb/dwarf2-frame.c
parent176f037c0f8203305c2a1bde4fae1dfbb483af1e (diff)
downloadgdb-4b4589ada7e88f2f36d264a173d95ed5994b3acb.zip
gdb-4b4589ada7e88f2f36d264a173d95ed5994b3acb.tar.gz
gdb-4b4589ada7e88f2f36d264a173d95ed5994b3acb.tar.bz2
Simplify dwarf2-frame.c:read_addr_from_reg.
Since 'struct dwarf_expr_context_funcs::read_addr_from_reg' is now only used for addresses, we can make it use unpack_pointer. And since we now have 'struct dwarf_expr_context_funcs'::get_reg_value, there's no need for speculation about using values here. Tested on x86_64 Fedora 17. gdb/ 2013-11-18 Pedro Alves <palves@redhat.com> * dwarf2-frame.c (read_addr_from_reg): Remove stale comment and use unpack_pointer.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r--gdb/dwarf2-frame.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index b53c015..cd4f47c 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -298,12 +298,7 @@ read_addr_from_reg (void *baton, int reg)
buf = alloca (register_size (gdbarch, regnum));
get_frame_register (this_frame, regnum, buf);
- /* Convert the register to an integer. This returns a LONGEST
- rather than a CORE_ADDR, but unpack_pointer does the same thing
- under the covers, and this makes more sense for non-pointer
- registers. Maybe read_addr_from_reg and the associated interfaces
- should deal with "struct value" instead of CORE_ADDR. */
- return unpack_long (register_type (gdbarch, regnum), buf);
+ return unpack_pointer (register_type (gdbarch, regnum), buf);
}
/* Implement struct dwarf_expr_context_funcs' "get_reg_value" callback. */