From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3058 invoked by alias); 1 Sep 2006 16:04:20 -0000 Received: (qmail 3047 invoked by uid 22791); 1 Sep 2006 16:04:19 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Fri, 01 Sep 2006 16:04:16 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GJBV4-0003eH-1o; Fri, 01 Sep 2006 12:04:10 -0400 Date: Fri, 01 Sep 2006 16:04:00 -0000 From: Daniel Jacobowitz To: =?iso-8859-1?Q?Fabr=EDcio?= de Novaes , Paul Koning Cc: gdb@sourceware.org Subject: Re: Does GDB use VMA addresses when uploading an image to debug in a remote target? Message-ID: <20060901160410.GA13927@nevyn.them.org> Mail-Followup-To: =?iso-8859-1?Q?Fabr=EDcio?= de Novaes , Paul Koning , gdb@sourceware.org References: <1140631963.8331@satelite.dea.inpe.br> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1140631963.8331@satelite.dea.inpe.br> User-Agent: Mutt/1.5.11+cvs20060403 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00014.txt.bz2 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. > > Any answer or comment will be very appreciated. Replying to this old report again... I was absolutely convinced for a long time that GDB's "load" wrote to the VMA, a very confusing behavior. I remember another bug being reported that seemed to illustrate this also, but I can't find it. However, today I actually tried it, and it did exactly the right thing: wrote to the LMA! Fabrício, if you still can reproduce this problem, could you send me the output of "load" and tell me what version of GDB you were using? -- Daniel Jacobowitz CodeSourcery