This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[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)
- From: Pedro Alves <palves at redhat dot com>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 18 Nov 2013 12:07:01 +0000
- Subject: [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)
- Authentication-results: sourceware.org; auth=none
- References: <5286326C dot 8010204 at redhat dot com> <1384573853-25378-1-git-send-email-brobecker at adacore dot com> <52876113 dot 9090701 at redhat dot com> <20131117030202 dot GA3481 at adacore dot com>
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. */