[U-Boot] [PATCH] relocation: Do not relocate NULL pointers.

Peter Tyser ptyser at xes-inc.com
Sat Oct 3 15:45:53 CEST 2009


On Sat, 2009-10-03 at 14:13 +0200, Wolfgang Denk wrote:
> Dear Joakim Tjernlund,
> 
> In message <OF3474ED49.C18DA041-ONC1257644.0033ADEB-C1257644.0034147E at transmode.se> you wrote:
> > 
> > > It seems discussion stopped here. Is it correct forme to assume that
> > > there is no patch available yet that is considered ripe to be added
> > > (to the "reloc" branch) ?
> > 
> > That is correct. Some boards(85xx) seem to have bss_start at 0 sometimes
> > and that won't play nice with this patch. Peter was looking into this but
> > seems like he isn't finished yet.
> > 
> > Also, I have been looking at moving this relocation to C-code and it isn't
> > quite ready yet. What is left is to modify all ppc boards to use this new C-code
> 
> So how should we proceed? My plan was to merge the "reloc" branch by
> the end of next week. Is this still realistic?

That plan is realistic.  The executive summary is:
The current "reloc" branch works, and is an improvement on U-Boot's
previous "semi-reolcation", so we should merge it for this release.

There are a few change which would further improve relocation that Jocke
and I want to get merged.  Whether these improvements occur in this
release or the next is not a big deal to me.
1. Fix relocation of NULL pointers.
eg the following code would print the relocation fixup offset instead of
the expected NULL.
   void weak_fun(void) __attribute__((weak));
   printf("weak_fun:%p\n", weak_fun);
This was already an issue, so we're not breaking anything in the "reloc"
branch

2. Move relocation fixup code to C-code

3. Possibly get true relocation working so that U-Boot could be located
anywhere and still execute.

Jocke has 1 and 2 mostly figured out, I just need some time to play with
the linker scripts a bit more to ensure nothing breaks.  (Sorry Jocke,
its been a busy week).

Peter



More information about the U-Boot mailing list