From: "FabrÃcio de Novaes" <fabricio@dea.inpe.br>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb@sourceware.org
Subject: Re: Does GDB use VMA addresses when uploading an image to debug in a remote target?
Date: Wed, 22 Feb 2006 19:21:00 -0000 [thread overview]
Message-ID: <1140633020.8776@satelite.dea.inpe.br> (raw)
[-- Attachment #1: Type: text/plain, Size: 2835 bytes --]
Hello Daniel, what a quick answer! Thank you!
About your doubt:
> I'm not sure that what you're suggesting makes sense. How could
> GDB send the text section to its LMA, if that's a ROM address?
> The stub will be unable to write to ROM, unless (for example)
> it is transparently rewriting a flash device or shadowing it with
> RAM.
Perhaps I didn't make myself clear.
I'm using a simulator so GDB can put the sections in any address, ROM or RAM.
My .boot section, for example, is loaded into the ROM area (starting at 0x00). I'd like to do the same with the .text section, but the VMA and LMA are different, and, as you just confirmed, GDB uses VMA.
I can't make VMA and LMA the same, or the program will not run in RAM. So the question is: there's a way to tell GDB to use LMA instead of VMA when loading a program?
Regards,
Fabrício.
Daniel Jacobowitz wrote ..
> On Wed, Feb 22, 2006 at 03:12:43PM -0300, Fabrício de Novaes wrote:
> > Hi all,
> >
> >
> > I have a GCC application that will run in a board with an ERC32
> > (SPARC) processor. For many reasons, this app has to run in RAM, not
> > ROM.
> >
> > So, the ELF32 image has a ".boot" section which starts the board and
> > copies the main program from a ".text" section to RAM. This .text
> > section has different LMA (pointing to ROM) and VMA (RAM) addresses,
> > as you can see below:
> >
> > Idx Name Size VMA LMA File off Algn
> > 0 .boot 00001320 00000000 00000000 000000b4 2**0
> > CONTENTS, ALLOC, LOAD, READONLY, CODE
> > 1 .text 0001d1b0 02001000 00001320 000013d8 2**3
> > CONTENTS, ALLOC, LOAD, CODE
> > [...]
> >
> >
> > I'm trying to debug this app using GDB and a simulator. My problem is
> > that, when I load the image to debug, the .text section is already in
> > the 0x2001000 address (VMA), and the LMA area (starting from 0x1320)
> > is empty - so I can't debug appropriately the routine that copies the
> > .text section to RAM.
> >
> > I'd like to know if GDB loads sections from an ELF file to a target
> > using the VMA addresses and, if yes, if it's possible to change this
> > behavior and tell it to send my .text section to its LMA address.
>
> GDB does use the VMA, as you've surmised.
>
> I'm not sure that what you're suggesting makes sense. How could
> GDB send the text section to its LMA, if that's a ROM address?
> The stub will be unable to write to ROM, unless (for example)
> it is transparently rewriting a flash device or shadowing it with
> RAM.
>
> I recently encountered this problem in another context, where the stub
> did support reflashing; so maybe GDB needs to be more flexible about
> it. I'm not sure.
>
> --
> Daniel Jacobowitz
> CodeSourcery
next reply other threads:[~2006-02-22 18:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-22 19:21 Fabrício de Novaes [this message]
2006-02-22 19:23 ` Daniel Jacobowitz
2006-02-25 4:39 ` RES: " Fabrício de Novaes Kucinskis
-- strict thread matches above, loose matches on Subject: below --
2006-02-22 18:18 Fabrício de Novaes
2006-02-22 18:23 ` Daniel Jacobowitz
2006-02-22 18:38 ` Paul Koning
2006-09-01 16:04 ` Daniel Jacobowitz
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=1140633020.8776@satelite.dea.inpe.br \
--to=fabricio@dea.inpe.br \
--cc=drow@false.org \
--cc=gdb@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