This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC:avr] use regcache instead of read_register
On Fri, 20 Jun 2003, Andrew Cagney wrote:
> > Hi,
> >
> > The ARI caught this and it seems like a trivial change. There is a bit of
> > confusion though in the use of current_regcache since the ARI says this:
> >
> > current regcache 57 Replace current_regcache with explict parameter
> >
> > What would that explicit parameter be?
> >
> > If this patch is ok, it brings the ARI count for the AVR down to 0.
>
> The patch is great. Don't be too worried about current_regcache for
> the moment.
>
> As for what parameter will be added to read_pc, I can give you several
> guesses:
>
> - made redundant by unwind_pc(frame)
> - replaced with something that takes the thread id and stop status
>
> The underlying problem is decr pc after break. Cleaning up that also
> involves read_pc, write_pc, and the update frame pc hack.
>
> Andrew
Thanks.
Committed.
I guess a similar change to d10v_read_pc.
Just noticed that the d10v seems to use d10v_unwind_sp instead of
*_read_sp. Is it a direct replacement to replace *_read_sp with
*_unwind_sp? I didn't see that before I did the commit.
Ted Roth
>
>
> > 2003-06-19 Theodore A. Roth <troth@openavr.org>
> >
> > * avr-tdep.c (avr_read_pc): Use regcache instead of read_register.
> > (avr_read_sp): Ditto.
> >
> >
> >
> >
> > 2003-06-19 Theodore A. Roth <troth@openavr.org>
> >
> > * avr-tdep.c (avr_read_pc): Use regcache instead of read_register.
> > (avr_read_sp): Ditto.
> >
> > Index: avr-tdep.c
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/avr-tdep.c,v
> > retrieving revision 1.64
> > diff -u -r1.64 avr-tdep.c
> > --- avr-tdep.c 20 Jun 2003 05:53:42 -0000 1.64
> > +++ avr-tdep.c 20 Jun 2003 06:09:27 -0000
> > @@ -324,12 +324,12 @@
> > avr_read_pc (ptid_t ptid)
> > {
> > ptid_t save_ptid;
> > - CORE_ADDR pc;
> > + ULONGEST pc;
> > CORE_ADDR retval;
> >
> > save_ptid = inferior_ptid;
> > inferior_ptid = ptid;
> > - pc = (int) read_register (AVR_PC_REGNUM);
> > + regcache_cooked_read_unsigned (current_regcache, AVR_PC_REGNUM, &pc);
> > inferior_ptid = save_ptid;
> > retval = avr_make_iaddr (pc);
> > return retval;
> > @@ -349,7 +349,10 @@
> > static CORE_ADDR
> > avr_read_sp (void)
> > {
> > - return (avr_make_saddr (read_register (AVR_SP_REGNUM)));
> > + ULONGEST sp;
> > +
> > + regcache_cooked_read_unsigned (current_regcache, AVR_SP_REGNUM, &sp);
> > + return (avr_make_saddr (sp));
> > }
> >
> > static int
>
>
>