public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* Should we be able to read simulator memory immediately after a "load" command?
@ 2010-06-28 20:00 Kevin Buettner
  2010-06-28 22:25 ` Michael Snyder
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Kevin Buettner @ 2010-06-28 20:00 UTC (permalink / raw)
  To: gdb-patches

In the course of debugging a program in which the LMA and VMA of
certain segments differ, we've noticed that simulator memory cannot be
read immediately after a issuing a "load" command.  One needs to "run"
the program first in order to be able to access simulator memory.

In our debugging scenario, the fact that the LMA differs from the VMA
is only significant in that when they're the same, you tend to get the
expected results when attempting to read memory immediately after the
"load" due to the fact that GDB does memory fetches using the exec
file.   When the LMA and VMA are different, the exec file provides
access to memory at the VMA addresses, but not at LMA addresses.
When using the simulator (or a remote target), I would expect to
be able to read memory located at a valid LMA addresss.  Memory at
at a VMA address may or may not be available yet; it will most likely be
initialized early on during execution of the program.

The code responsible for disallowing access to simulator memory after
a "load", but before a "run" appears as follows in
gdbsim_xfer_inferior_memory():

  /* If no program is running yet, then ignore the simulator for
     memory.  Pass the request down to the next target, hopefully
     an exec file.  */
  if (!target_has_execution)
    return 0;

This code was added in a patch from 2006.  See:

    http://sourceware.org/ml/gdb-patches/2006-10/msg00042.html

In that posting, Daniel provides a good rationale for that patch as a
whole, but I did not see any discussion of the portion affecting
gdbsim_xfer_inferior_memory().

So, the obvious question... Is there any good reason to prohibit
access to the simulator's memory immediately after a load?

(If not, I'll post a patch removing that restriction...)

Kevin

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-07-02 23:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-28 20:00 Should we be able to read simulator memory immediately after a "load" command? Kevin Buettner
2010-06-28 22:25 ` Michael Snyder
2010-06-28 23:55   ` Kevin Buettner
2010-06-28 23:57     ` Michael Snyder
2010-06-29  0:46       ` Kevin Buettner
2010-06-28 22:28 ` Mike Frysinger
2010-06-29 19:56 ` Daniel Jacobowitz
2010-07-02 16:46   ` Kevin Buettner
2010-07-02 23:14     ` Kevin Buettner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).