[OB] Simplify dwarf2-frame.c:read_addr_from_reg. (was: [RFA] Rename "read_reg" into "read_addr_from_reg" in struct dwarf_expr_context_funcs)

Pedro Alves
2013-11-18T12:07:14Z

On 11/17/2013 03:02 AM, Joel Brobecker wrote:
> Thanks! Patch now pushed.

I've pushed this obvious patch too.

-------
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.
---

gdb/ChangeLog | 5 +++++
gdb/dwarf2-frame.c | 7 +------
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 53de4fb..7fc09e0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-18 Pedro Alves <palves@redhat.com>
+
+ * dwarf2-frame.c (read_addr_from_reg): Remove stale comment and
+ use unpack_pointer.
+
2013-11-18 Joel Brobecker <brobecker@adacore.com>

* mi/mi-main.c (mi_cmd_list_features): Add "language-options"
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. */