[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