[U-Boot] [PATCH 0/2] [RFC] DEBUG: relocate to fixed address

Scott Wood scottwood at freescale.com
Tue Nov 27 23:22:31 CET 2012


On 11/21/2012 02:22:32 AM, Wolfgang Denk wrote:
> Dear Tetsuyuki Kobayashi,
> 
> In message <1353476660-18018-1-git-send-email-koba at kmckk.co.jp> you  
> wrote:
> >
> > U-Boot from NOR flash relocates itself to RAM erea. The relocation  
> address is
> > calaculated at runtime to get maxium contiguous space to load  
> kernel. So it may
> > vary after code changed. In the early debug phase it would be  
> easier to handle
> > if the relocation address does not change per build.
> 
> No, it is not.

Maybe not for you, but for some of us it definitely would make things  
easier.  I usually end up randomly peeking at some likely destinations  
until I find the expected content.

> You still need to determine where it gets relocated to,
> and iot makes no difference for debugging wehter you enter one number
> or another one.
> 
> Any debugger out there today allows you to automatemost such
> operations by scripts or functions or macros you can define to help
> you doing that.

Just because you've managed to compensate for it doesn't mean it isn't  
annoying.

How am I going to script gdb to figure out the relocation address when  
I'm just running it on the image to get symbols, not actually  
connecting to the target?

Is such a script published anywhere?

> > My idea is define fixed address as CONFIG_DEBUG_RELOC_FIX_ADDR in  
> config file
> > and relocate to the address. Then you don't need to execute  
> 'bdinfo' command to
> > get actual relocated address. It is done by the first patch.
> 
> I'm not willing to accept such change.  It appears to ad a (minimal)
> easement at first glance, but at the same time it bears potential to
> break a large number of other things, and not unlikely in areas which
> are why you need to run a debugger in the first place.
> 
> This makes no sense.
> 
> > The second patch is for u-boot_r, which is linked for fixed  
> relocation address.
> > When you want to symbolic debug after relocation, flash  
> 'u-boot.bin' and
> > load symbol from 'u-boot_r' to debugger.
> > (CF. When you want to symblic debug before relocation, load symbol  
> from 'u-boot'
> >  to debugger.)
> 
> Why would that be needed?  The standard ELF file has all debug
> information you ever may need.

If the symbols in the ELF ‎file match where U-Boot is actually located,  
that avoids the need to manually apply the relocation offset every time  
you want to look at something.

> Just to save the "load symbol table" command?

Where would you get the symbol table to load that matches U-Boot  
post-relocation?

-Scott


More information about the U-Boot mailing list