This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: The ari hits
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 27 Feb 2003 20:52:38 -0500
- Subject: Re: The ari hits
- References: <3E5E8CAA.1080304@redhat.com>
On Thu, Feb 27, 2003 at 05:09:46PM -0500, Andrew Cagney wrote:
> Daniel,
>
> The files you recently committed trip the ARI. Can you please check
> this out.
>
> Andrew
>
> http://sources.redhat.com/gdb/current/ari/
Thanks for reminding me; this patch fixes them. Almost obvious except
for a bit that I want your opinion on - the hint on the ARI
says to use register_size but I'm not convinced that's right. Is
gdbarch_register_size always big enough that I don't need to use
gdbarch_register_raw_size?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
2003-02-27 Daniel Jacobowitz <drow at mvista dot com>
* dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition.
* dwarf2loc.c (dwarf_expr_read_reg): Rename regnum argument to
dwarf_regnum. Use gdbarch_register_raw_size.
Index: dwarf2expr.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2expr.c,v
retrieving revision 1.1
diff -u -p -r1.1 dwarf2expr.c
--- dwarf2expr.c 21 Feb 2003 15:24:17 -0000 1.1
+++ dwarf2expr.c 28 Feb 2003 01:48:13 -0000
@@ -35,7 +35,7 @@ static void execute_stack_op (struct dwa
/* Create a new context for the expression evaluator. */
struct dwarf_expr_context *
-new_dwarf_expr_context ()
+new_dwarf_expr_context (void)
{
struct dwarf_expr_context *retval;
retval = xcalloc (1, sizeof (struct dwarf_expr_context));
Index: dwarf2loc.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2loc.c,v
retrieving revision 1.1
diff -u -p -r1.1 dwarf2loc.c
--- dwarf2loc.c 21 Feb 2003 15:24:17 -0000 1.1
+++ dwarf2loc.c 28 Feb 2003 01:48:13 -0000
@@ -51,17 +51,21 @@ struct dwarf_expr_baton
type will be returned in LVALP, and for lval_memory the register
save address will be returned in ADDRP. */
static CORE_ADDR
-dwarf_expr_read_reg (void *baton, int regnum, enum lval_type *lvalp,
+dwarf_expr_read_reg (void *baton, int dwarf_regnum, enum lval_type *lvalp,
CORE_ADDR *addrp)
{
- CORE_ADDR result;
struct dwarf_expr_baton *debaton = (struct dwarf_expr_baton *) baton;
- char *buf = (char *) alloca (MAX_REGISTER_RAW_SIZE);
- int optimized, realnum;
+ CORE_ADDR result;
+ char *buf;
+ int optimized, regnum, realnum, regsize;
+
+ regnum = DWARF2_REG_TO_REGNUM (dwarf_regnum);
+ regsize = gdbarch_register_raw_size (current_gdbarch, regnum);
+ buf = (char *) alloca (regsize);
- frame_register (debaton->frame, DWARF2_REG_TO_REGNUM (regnum),
- &optimized, lvalp, addrp, &realnum, buf);
- result = extract_address (buf, REGISTER_RAW_SIZE (regnum));
+ frame_register (debaton->frame, regnum, &optimized, lvalp, addrp, &realnum,
+ buf);
+ result = extract_address (buf, regsize);
return result;
}