This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Rename "read_reg" into "read_addr_from_reg" in struct dwarf_expr_context_funcs
- From: Joel Brobecker <brobecker at adacore dot com>
- To: gdb-patches at sourceware dot org
- Cc: Pedro Alves <palves at redhat dot com>
- Date: Sat, 16 Nov 2013 07:50:53 +0400
- Subject: [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>
Hello,
This implements the suggestion discussed at:
http://www.sourceware.org/ml/gdb-patches/2013-11/msg00412.html
~~~
This is to help make it slightly clearer how this method is expected
to extract data from the given register.
gdb/ChangeLog:
* dwarf2expr.h (struct dwarf_expr_context_funcs)
<read_addr_from_reg>: Renames "read_reg".
* dwarf2-frame.c (read_addr_from_reg): Renames "read_reg".
Adjust comment.
(dwarf2_frame_ctx_funcs, execute_stack_op, dwarf2_frame_cache):
Use read_addr_from_reg in place of read_reg.
* dwarf2expr.c (execute_stack_op): Use read_addr_from_reg
in place of read_reg.
* dwarf2loc.c (dwarf_expr_read_addr_from_reg): Renames
dwarf_expr_read_reg.
(dwarf_expr_ctx_funcs): Replace dwarf_expr_read_reg
with dwarf_expr_read_addr_from_reg.
(needs_frame_read_addr_from_reg): Renames needs_frame_read_reg.
(needs_frame_ctx_funcs): Replace needs_frame_read_reg with
needs_frame_read_addr_from_reg.
Tested on x86_64-linux. OK to commit?
Thank you,
--
Joel
---
gdb/dwarf2-frame.c | 13 +++++++------
gdb/dwarf2expr.c | 10 ++++++----
gdb/dwarf2expr.h | 2 +-
gdb/dwarf2loc.c | 8 ++++----
4 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h
index b4c943e..c06c556 100644
--- a/gdb/dwarf2expr.h
+++ b/gdb/dwarf2expr.h
@@ -33,7 +33,7 @@ struct dwarf_expr_context_funcs
{
/* Return the value of register number REGNUM (a DWARF register number),
read as an address. */
- CORE_ADDR (*read_reg) (void *baton, int regnum);
+ CORE_ADDR (*read_addr_from_reg) (void *baton, int regnum);
/* Return a value of type TYPE, stored in register number REGNUM
of the frame associated to the given BATON.
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index b425d94..b53c015 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -286,7 +286,7 @@ dwarf2_frame_state_free (void *p)
/* Helper functions for execute_stack_op. */
static CORE_ADDR
-read_reg (void *baton, int reg)
+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);
@@ -301,8 +301,8 @@ read_reg (void *baton, int reg)
/* 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_reg and the associated interfaces should
- deal with "struct value" instead of CORE_ADDR. */
+ 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);
}
@@ -358,7 +358,7 @@ register %s (#%d) at %s"),
static const struct dwarf_expr_context_funcs dwarf2_frame_ctx_funcs =
{
- read_reg,
+ read_addr_from_reg,
get_reg_value,
read_mem,
ctx_no_get_frame_base,
@@ -397,7 +397,8 @@ execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size,
if (ctx->location == DWARF_VALUE_MEMORY)
result = dwarf_expr_fetch_address (ctx, 0);
else if (ctx->location == DWARF_VALUE_REGISTER)
- result = read_reg (this_frame, value_as_long (dwarf_expr_fetch (ctx, 0)));
+ result = read_addr_from_reg (this_frame,
+ value_as_long (dwarf_expr_fetch (ctx, 0)));
else
{
/* This is actually invalid DWARF, but if we ever do run across
@@ -1110,7 +1111,7 @@ dwarf2_frame_cache (struct frame_info *this_frame, void **this_cache)
switch (fs->regs.cfa_how)
{
case CFA_REG_OFFSET:
- cache->cfa = read_reg (this_frame, fs->regs.cfa_reg);
+ cache->cfa = read_addr_from_reg (this_frame, fs->regs.cfa_reg);
if (fs->armcc_cfa_offsets_reversed)
cache->cfa -= fs->regs.cfa_offset;
else
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index 25e9dc4..69c08c2 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -921,7 +921,8 @@ execute_stack_op (struct dwarf_expr_context *ctx,
case DW_OP_breg31:
{
op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
- result = (ctx->funcs->read_reg) (ctx->baton, op - DW_OP_breg0);
+ result = (ctx->funcs->read_addr_from_reg) (ctx->baton,
+ op - DW_OP_breg0);
result += offset;
result_val = value_from_ulongest (address_type, result);
}
@@ -930,7 +931,7 @@ execute_stack_op (struct dwarf_expr_context *ctx,
{
op_ptr = safe_read_uleb128 (op_ptr, op_end, ®);
op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset);
- result = (ctx->funcs->read_reg) (ctx->baton, reg);
+ result = (ctx->funcs->read_addr_from_reg) (ctx->baton, reg);
result += offset;
result_val = value_from_ulongest (address_type, result);
}
@@ -955,8 +956,9 @@ execute_stack_op (struct dwarf_expr_context *ctx,
if (ctx->location == DWARF_VALUE_MEMORY)
result = dwarf_expr_fetch_address (ctx, 0);
else if (ctx->location == DWARF_VALUE_REGISTER)
- result = (ctx->funcs->read_reg) (ctx->baton,
- value_as_long (dwarf_expr_fetch (ctx, 0)));
+ result = (ctx->funcs->read_addr_from_reg)
+ (ctx->baton,
+ value_as_long (dwarf_expr_fetch (ctx, 0)));
else
error (_("Not implemented: computing frame "
"base using explicit value operator"));
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 2879ead..1664f6a 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -313,7 +313,7 @@ struct dwarf_expr_baton
/* Using the frame specified in BATON, return the value of register
REGNUM, treated as a pointer. */
static CORE_ADDR
-dwarf_expr_read_reg (void *baton, int dwarf_regnum)
+dwarf_expr_read_addr_from_reg (void *baton, int dwarf_regnum)
{
struct dwarf_expr_baton *debaton = (struct dwarf_expr_baton *) baton;
struct gdbarch *gdbarch = get_frame_arch (debaton->frame);
@@ -2194,7 +2194,7 @@ static const struct lval_funcs pieced_value_funcs = {
static const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs =
{
- dwarf_expr_read_reg,
+ dwarf_expr_read_addr_from_reg,
dwarf_expr_get_reg_value,
dwarf_expr_read_mem,
dwarf_expr_frame_base,
@@ -2441,7 +2441,7 @@ struct needs_frame_baton
/* Reads from registers do require a frame. */
static CORE_ADDR
-needs_frame_read_reg (void *baton, int regnum)
+needs_frame_read_addr_from_reg (void *baton, int regnum)
{
struct needs_frame_baton *nf_baton = baton;
@@ -2541,7 +2541,7 @@ needs_get_addr_index (void *baton, unsigned int index)
static const struct dwarf_expr_context_funcs needs_frame_ctx_funcs =
{
- needs_frame_read_reg,
+ needs_frame_read_addr_from_reg,
needs_frame_get_reg_value,
needs_frame_read_mem,
needs_frame_frame_base,
--
1.8.1.2