Subject: Re: current kernel unbootable + fix
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-hpcsh
Date: 04/15/2003 21:31:12
On Tue, Apr 15, 2003 at 09:56:02 -0700, Jason Thorpe wrote:

> On Sunday, April 13, 2003, at 08:17  PM, Valeriy E. Ushakov wrote:
> 
> > When kernel is linked, ld issues warnings that there are no suitable
> > memory region for link_set_* sections and put them at 0x0.  This
> > happens because sys/arch/hpcsh/conf/shl-elf.x defines memory region
> > "ram" and explicitly places output .text and .data sections into that
> > region.
[...]
> > I fixed the problem with adding (rwx) attributes to the "ram" section.
> > The resulting kernel boots fine.  I'm not sure if it's a proper fixm
> > though.  Can someone with more ld clue look into this?  Jason?
> 
> Hm.  That solution will work.  Look at 
> sys/arch/evbarm/conf/ldscript.evbarm for another way that the problem 
> can be solved.
> 
> Sadly, the linker script syntax doesn't deal well with these 
> "anonymous" sections that link sets use.  When I attempted to deal with 
> this in ldd itself, my changes to make the linker scripts more friendly 
> to these sections were soundly rejected.  So, I think we're stuck with 
> annoying work-arounds such as yours and mine.

So I committed a sligthly modified fix.  I think dreamcast needs this
fix too.   Not sure about coff scripts (does link_set_* work with coff?).

Thanks.


Module Name:    src
Committed By:   uwe
Date:           Tue Apr 15 16:29:13 UTC 2003

Modified Files:
        src/sys/arch/hpcsh/conf: shl-elf.x

Log Message:
Mark 'ram' MEMORY as allocatable instead of explicitly placing
sections into it.  This also ensures that sections, not mentioned in
the linker script (currenty - link_set_*), end up in the correct
place.  Otherwise kernel panics very early, trying to access link_set
info.


To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 src/sys/arch/hpcsh/conf/shl-elf.x

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen