[U-Boot-Users] Destination link address

Marc Singer elf at buici.com
Tue Jul 8 16:07:00 CEST 2003


On Tue, Jul 08, 2003 at 12:56:48PM +0200, Wolfgang Denk wrote:
> In message <20030708025405.GA3093 at buici.com> you wrote:
> > Wolfgang, you say that most targets link to the NV address instead of
> 
> Not most targets. All targets  shall  do  this,  to  make  the  setup
> identical  to  all  architectures. I don't like special cases when we
> can avoid them.
> 
> > the execution address.  Doesn't this make it difficult to debug?
> 
> It doesn't make it easier, but not really difficult either.

Let me rephrase that.  It makes it impossible to use GDB since the
symbols don't point to the correct base.  I suppose that there might
be a command in GDB to move the base address.  I've never looked for
one because it is too easy to make the linker do the heavy lifting.

> > Instead, I changed the u-boot.lds file (not for KEV7A400) to properly
> > set the load address and the execution address.
> 
> What do you mean by "properly"?

When I was working on the x86 version, I wanted to be able to debug
all of the code using gdb.  This means telling the linker exactly what
is going on.  It has directives to indicate the difference between
load address and execution address for just this purpose.  So,
'proper' means that the ELF file reflects what is happen when the
program runs.

What I don't see is the utility of linking code to an address where it
definitely won't execute.  If it is moved elsewhere due to exigencies
of the target then there is nothing we can do about that.  However, if
it is likely to execute at a known address it is helpful to make that
clear in the ELF file.

Cheers.




More information about the U-Boot mailing list