Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sourceware.org
Subject: Re: the "load" command and the .bss section
Date: Mon, 28 Apr 2008 08:34:00 -0000	[thread overview]
Message-ID: <200804271745.37849.vapier@gentoo.org> (raw)
In-Reply-To: <20080427135600.GA9356@caradoc.them.org>


[-- Attachment #1.1: Type: text/plain, Size: 1442 bytes --]

On Sunday 27 April 2008, Daniel Jacobowitz wrote:
> On Sun, Apr 27, 2008 at 05:09:31AM -0400, Mike Frysinger wrote:
> > i was doing a new board port using jtag and so was leveraging the "load"
> > command to setup the initial ELF in the relevant memory regions.  things
> > kept crashing on me and then i realized that the loading process wasnt
> > actually zeroing out the bss.  is there a reason for this ?  i googled
> > and flipped through the manual, but the details on what exactly the
> > "load" command is supposed to do is a bit on sketchy side.  from what i
> > can tell from the gdb source code and the actual output from running the
> > command, it walks the section headers (rather than the program headers ?)
> > and loads up everything that is in the file.  since the bss section
> > doesnt actually exist in the file and is only allocated, that is why it
> > gets skipped ?
>
> Load puts things at their LMA rather than their VMA.  So it assumes
> that whatever sets up load -> virtual also handles bss; it's more like
> flash programming than like the Linux kernel's loader.  Heck,
> sometimes it is flash programming...

ah, now that i know the intentions, may i suggest the following to the 
documentation.
-mike

2008-04-27  Mike Frysinger  <vapier@gentoo.org>

	* gdb.texinfo (Commands for Managing Targets): Clarify load command
	wrt load/virtual addresses and handling of allocated sections.

[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 827 bytes --]

[-- Attachment #2: gdb-clarify-load.patch --]
[-- Type: text/x-diff, Size: 1278 bytes --]

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.487
diff -u -p -r1.487 gdb.texinfo
--- gdb.texinfo	24 Apr 2008 12:09:49 -0000	1.487
+++ gdb.texinfo	27 Apr 2008 21:43:57 -0000
@@ -12795,10 +12795,12 @@ If your @value{GDBN} does not have a @co
 execute it gets the error message ``@code{You can't do that when your
 target is @dots{}}''
 
-The file is loaded at whatever address is specified in the executable.
-For some object file formats, you can specify the load address when you
-link the program; for other formats, like a.out, the object file format
-specifies a fixed address.
+The file is loaded according to the load addresses (rather than virtual) as
+is specified in the executable.  It is expected that the target system will
+do the actual relocation, and in the process, handle such things as setup of
+allocated sections (e.g. the bss).  For some object file formats, you can
+specify the load address when you link the program; for other formats, like
+a.out, the object file format specifies a fixed address.
 @c FIXME! This would be a good place for an xref to the GNU linker doc.
 
 Depending on the remote side capabilities, @value{GDBN} may be able to

       reply	other threads:[~2008-04-27 21:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200804270509.34308.vapier@gentoo.org>
     [not found] ` <20080427135600.GA9356@caradoc.them.org>
2008-04-28  8:34   ` Mike Frysinger [this message]
2008-04-28  8:39     ` Eli Zaretskii
2008-04-28 14:07       ` Mike Frysinger
2008-04-28 22:54         ` Eli Zaretskii
2008-04-28 19:08       ` Michael Snyder
2008-04-29  1:10         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200804271745.37849.vapier@gentoo.org \
    --to=vapier@gentoo.org \
    --cc=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox