ELF loader problem with CFE on ASUS WL500g

M. Warner Losh imp at bsdimp.com
Mon Oct 13 18:58:24 UTC 2008


In message: <48F39798.3010606 at incunabulum.net>
            Bruce M Simpson <bms at 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


More information about the freebsd-embedded mailing list