This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC:avr] use regcache instead of read_register


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


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]