From 029a67e44a62a6048ff821161544a14e536c3f7d Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Thu, 21 Aug 2008 20:13:08 +0000 Subject: [PATCH] * frame.h (frame_map_regnum_to_name): Remove prototype. (frame_map_name_to_regnum): Remove prototype. * frame.c (frame_map_regnum_to_name): Remove. (frame_map_name_to_regnum): Remove. (frame_unwind_register_value): Use user_reg_map_regnum_to_name instead of frame_map_regnum_to_name. * ax-gdb.c: Include "user-regs.h". (gen_expr): Use user_reg_map_name_to_regnum instead of frame_map_name_to_regnum. * eval.c: Include "user-regs.h". (evaluate_subexp_standard): Use user_reg_map_name_to_regnum instead of frame_map_name_to_regnum. * infcmd.c (registers_info): Likewise. * parse.c: Include "user-regs.h". (write_dollar_variable): Use user_reg_map_name_to_regnum instead of frame_map_name_to_regnum. * tracepoint.c: Include "user-regs.h". (encode_actions): Use user_reg_map_name_to_regnum instead of frame_map_name_to_regnum. * valops.c: Include "user-regs.h". (value_fetch_lazy): Use user_reg_map_regnum_to_name instead of frame_map_regnum_to_name. --- gdb/ChangeLog | 25 +++++++++++++++++++++++++ gdb/ax-gdb.c | 5 +++-- gdb/eval.c | 5 +++-- gdb/frame.c | 19 ++----------------- gdb/frame.h | 10 ---------- gdb/infcmd.c | 2 +- gdb/parse.c | 5 +++-- gdb/tracepoint.c | 5 +++-- gdb/valops.c | 9 +++++---- 9 files changed, 45 insertions(+), 40 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7cbefa3..1721554 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,30 @@ 2008-08-21 Ulrich Weigand + * frame.h (frame_map_regnum_to_name): Remove prototype. + (frame_map_name_to_regnum): Remove prototype. + * frame.c (frame_map_regnum_to_name): Remove. + (frame_map_name_to_regnum): Remove. + (frame_unwind_register_value): Use user_reg_map_regnum_to_name + instead of frame_map_regnum_to_name. + * ax-gdb.c: Include "user-regs.h". + (gen_expr): Use user_reg_map_name_to_regnum instead of + frame_map_name_to_regnum. + * eval.c: Include "user-regs.h". + (evaluate_subexp_standard): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * infcmd.c (registers_info): Likewise. + * parse.c: Include "user-regs.h". + (write_dollar_variable): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * tracepoint.c: Include "user-regs.h". + (encode_actions): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * valops.c: Include "user-regs.h". + (value_fetch_lazy): Use user_reg_map_regnum_to_name instead + of frame_map_regnum_to_name. + +2008-08-21 Ulrich Weigand + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Read and manually relocate .opd contents from BFD instead of reading them from target memory. diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 80e8aaf..1a1ecda 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -33,6 +33,7 @@ #include "gdb_string.h" #include "block.h" #include "regcache.h" +#include "user-regs.h" /* To make sense of this file, you should read doc/agentexpr.texi. Then look at the types and enums in ax-gdb.h. For the code itself, @@ -1592,8 +1593,8 @@ gen_expr (union exp_element **pc, struct agent_expr *ax, const char *name = &(*pc)[2].string; int reg; (*pc) += 4 + BYTES_TO_EXP_ELEM ((*pc)[1].longconst + 1); - reg = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (), - name, strlen (name)); + reg = user_reg_map_name_to_regnum (current_gdbarch, + name, strlen (name)); if (reg == -1) internal_error (__FILE__, __LINE__, _("Register $%s not available"), name); diff --git a/gdb/eval.c b/gdb/eval.c index bbd7539..ca36762 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -38,6 +38,7 @@ #include "ui-out.h" #include "exceptions.h" #include "regcache.h" +#include "user-regs.h" #include "gdb_assert.h" @@ -538,8 +539,8 @@ evaluate_subexp_standard (struct type *expect_type, struct value *val; (*pos) += 3 + BYTES_TO_EXP_ELEM (exp->elts[pc + 1].longconst + 1); - regno = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (), - name, strlen (name)); + regno = user_reg_map_name_to_regnum (current_gdbarch, + name, strlen (name)); if (regno == -1) error (_("Register $%s not available."), name); diff --git a/gdb/frame.c b/gdb/frame.c index f5e0fad..c4f85fe 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -619,7 +619,8 @@ frame_unwind_register_value (struct frame_info *frame, int regnum) fprintf_unfiltered (gdb_stdlog, "\ { frame_unwind_register_value (frame=%d,regnum=%d(%s),...) ", frame->level, regnum, - frame_map_regnum_to_name (frame, regnum)); + user_reg_map_regnum_to_name + (get_frame_arch (frame), regnum)); } /* Find the unwinder. */ @@ -834,22 +835,6 @@ put_frame_register_bytes (struct frame_info *frame, int regnum, } } -/* Map between a frame register number and its name. A frame register - space is a superset of the cooked register space --- it also - includes builtin registers. */ - -int -frame_map_name_to_regnum (struct frame_info *frame, const char *name, int len) -{ - return user_reg_map_name_to_regnum (get_frame_arch (frame), name, len); -} - -const char * -frame_map_regnum_to_name (struct frame_info *frame, int regnum) -{ - return user_reg_map_regnum_to_name (get_frame_arch (frame), regnum); -} - /* Create a sentinel frame. */ static struct frame_info * diff --git a/gdb/frame.h b/gdb/frame.h index 3e8f023..1441e12 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -501,16 +501,6 @@ extern void put_frame_register_bytes (struct frame_info *frame, int regnum, CORE_ADDR offset, int len, const gdb_byte *myaddr); -/* Map between a frame register number and its name. A frame register - space is a superset of the cooked register space --- it also - includes builtin registers. If NAMELEN is negative, use the NAME's - length when doing the comparison. */ - -extern int frame_map_name_to_regnum (struct frame_info *frame, - const char *name, int namelen); -extern const char *frame_map_regnum_to_name (struct frame_info *frame, - int regnum); - /* Unwind the PC. Strictly speaking return the resume address of the calling frame. For GDB, `pc' is the resume address and not a specific register. */ diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 02ec980..76793bd 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1783,7 +1783,7 @@ registers_info (char *addr_exp, int fpregs) /* A register name? */ { - int regnum = frame_map_name_to_regnum (frame, start, end - start); + int regnum = user_reg_map_name_to_regnum (gdbarch, start, end - start); if (regnum >= 0) { /* User registers lie completely outside of the range of diff --git a/gdb/parse.c b/gdb/parse.c index b587ec3..1d2d501 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -53,6 +53,7 @@ #include "source.h" #include "objfiles.h" #include "exceptions.h" +#include "user-regs.h" /* Standard set of definitions for printing, dumping, prefixifying, * and evaluating expressions. */ @@ -543,8 +544,8 @@ write_dollar_variable (struct stoken str) /* Handle tokens that refer to machine registers: $ followed by a register name. */ - i = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (), - str.ptr + 1, str.length - 1); + i = user_reg_map_name_to_regnum (current_gdbarch, + str.ptr + 1, str.length - 1); if (i >= 0) goto handle_register; diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index e6d579e..671a63a 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -37,6 +37,7 @@ #include "block.h" #include "dictionary.h" #include "observer.h" +#include "user-regs.h" #include "ax.h" #include "ax-gdb.h" @@ -1574,8 +1575,8 @@ encode_actions (struct tracepoint *t, char ***tdp_actions, { const char *name = &exp->elts[2].string; - i = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (), - name, strlen (name)); + i = user_reg_map_name_to_regnum (current_gdbarch, + name, strlen (name)); if (i == -1) internal_error (__FILE__, __LINE__, _("Register $%s not available"), diff --git a/gdb/valops.c b/gdb/valops.c index 8c99218..4910649 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -37,6 +37,7 @@ #include "dictionary.h" #include "cp-support.h" #include "dfp.h" +#include "user-regs.h" #include #include "gdb_string.h" @@ -663,13 +664,15 @@ value_fetch_lazy (struct value *val) if (frame_debug) { + struct gdbarch *gdbarch; frame = frame_find_by_id (VALUE_FRAME_ID (val)); regnum = VALUE_REGNUM (val); + gdbarch = get_frame_arch (frame); fprintf_unfiltered (gdb_stdlog, "\ { value_fetch_lazy (frame=%d,regnum=%d(%s),...) ", frame_relative_level (frame), regnum, - frame_map_regnum_to_name (frame, regnum)); + user_reg_map_regnum_to_name (gdbarch, regnum)); fprintf_unfiltered (gdb_stdlog, "->"); if (value_optimized_out (new_val)) @@ -690,9 +693,7 @@ value_fetch_lazy (struct value *val) fprintf_unfiltered (gdb_stdlog, " bytes="); fprintf_unfiltered (gdb_stdlog, "["); - for (i = 0; - i < register_size (get_frame_arch (frame), regnum); - i++) + for (i = 0; i < register_size (gdbarch, regnum); i++) fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]); fprintf_unfiltered (gdb_stdlog, "]"); } -- 2.7.4