"which function is called when updating a register?"
Xinan Tang
xinan@tidalnetworks.net
Mon Jul 19 18:50:00 GMT 2004
Hi
Thanks for the reply.
My problem is that after I building a new target, I could not see the
registers being updated except PC. For example, after I did "set $sp =
0x80001000", and then "info reg", I still saw $sp is ZERO.
I am trying to fig out what was wrong with my build. One way to do this is
to trace the simulator execution. However I don't have a clear picture about
the interface between the simulator execution and gdb. For example, which
data structures are read by "info reg" command and which ones are touched by
the simulator. How could GDB get those register content being updated by the
simulator?
Thanks
--Xinan
-----Original Message-----
From: Andrew Cagney [mailto:cagney@gnu.org]
Sent: Sunday, July 18, 2004 11:32 AM
To: Xinan Tang
Cc: gdb@sources.redhat.com
Subject: Re: "which function is called when updating a register?"
> Hi
>
> I set breakpoints on both:
>
> -- gdbsim_fetch_register and
> -- gdbsim_store_register
>
> when single stepping the instruction execution, I noticed that
> gdbsim_fetech_register was called but gdbsim_store_register.
>
> Which function is actually called to update a register content within
gdb
> using a built-in simulator?
GDB rarely has the need to write to the inferiors registers (if it did
gdbsim_store_register would be called though). Try something like:
set $pc = 0
When the simulator is running a program it updates registers locally and
directly.
Andrew
More information about the Gdb
mailing list