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>