Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2008 12:56:48 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        bms@incunabulum.net
Cc:        freebsd-embedded@FreeBSD.org
Subject:   Re: ELF loader problem with CFE on ASUS WL500g
Message-ID:  <20081013.125648.1239212699.imp@bsdimp.com>
In-Reply-To: <48F39798.3010606@incunabulum.net>
References:  <48F39798.3010606@incunabulum.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <48F39798.3010606@incunabulum.net>
            Bruce M Simpson <bms@incunabulum.net> writes:
: Hi,
: 
: I just tried to boot the WGT634U kernel on the ASUS WL500g.
: 
: CFE version is 1.0.37.
: 
: It appears there's yet another problem with the ELF loader there -- it 
: now looks at the p_paddr field. As this is out of range for physical 
: memory (GNU ld set it the same as p_vaddr), it balks.

I thought you could fix this with linker script tweaks...

: Any suggestions for workarounds? I tried using the GNU ld "MEMORY" 
: directive, however, it seems to munge p_vaddr also.

bummer...  It sounds a bit like we need to do the normal tricks of
'early' boot loaders: turn on the mmu and then jump to . to transition
from PA to VA addresses...

: It looks like objcopy's --change-section-lma option, with a negative 
: offset, would do what I want, however it will need to be scripted to 
: work on named sections.

You might try to mock-up a test with a newer version of binutils than
2.15 we're using?

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081013.125648.1239212699.imp>