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

Peter Tyser ptyser at xes-inc.com
Wed Oct 7 02:09:27 CEST 2009


On Tue, 2009-10-06 at 18:43 -0500, Peter Tyser wrote:
> > > 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.

Sorry, just to be clear, where did you want to put the fixed up bss?
Still at a low memory address, ie the original address at link time?  I
had assumed if we were adding a bss-specific fixup we'd move it to the
top of memory, near U-Boot, the malloc pool, etc.  I'd be all for
relocating it to higher in memory, but wouldn't be too excited about
leaving at a low memory address...  If we were to add bss fixups, we may
as well move it to a location that lines up with the rest of U-Boot
code, stack, and malloc, right?

Best,
Peter



More information about the U-Boot mailing list