[U-Boot] [PATCH 0/2] Make sure 85xx bss doesn't start at 0x0

Peter Tyser ptyser at xes-inc.com
Wed Oct 7 01:43:39 CEST 2009


 
> > The values all changed and are dependent on RAM size, but their
> > relationship to one another didn't - they all just increased by
> > 0x7fff0000.  So practically speaking, we do need to know where the bss
> > is at link time - its address is not dynamic like the malloc pool or
> > stack - its tied directly to the address of the other sections at link
> > time.  (Unless we added some bss-specific fixups I imagine)
> 
> Right, that's the current situation.
> 
> My suggestion was NOT to put the bss  at  a  fixed  _offset_  to  the
> U-Boot  image,  but to a fixed absolute address. My hope is that this
> might simplify the linker scripts at the cost of adding a little code
> to the relocation routine - for addresses in the bss we would have to
> add a different relocation offset.

I think I see what you're getting at.  If we have a bss-specific fixup
routine I don't give a hoot where the bss is located at link time.  Its
just that that bss-aware fixup routine doesn't exist right now:)

It seems like a clean solution.  Adding a bss-aware fixup routine or
putting the bss after the U-Boot image both seem good to me.  The
bss-aware fixup routine has a clearer readelf output and slightly more
complicated code while the bss-after-uboot change has a misleading
readelf output and simpler code.  In any case I'd give a thumbs up to
either of them.

Best,
Peter



More information about the U-Boot mailing list