[OpenBIOS] PPC: QEMU breaks static variables in OpenBIOS

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Wed Jan 2 19:47:38 CET 2013


On 02/01/13 14:33, Alexander Graf wrote:

> Can't we manually relocate our OpenBIOS code when relocating it?
>
> Imagine we add an extra extraction step to the build process before omitting the final .elf file. In that step we copy the elf relocation info into a special data section that is accessible from within OpenBIOS.
>
> Now when we relocate our .text section down to offset 0x0 we also run a normal elf relocator to move all .data variable access down to offset 0x0.
>
> That way we could still keep globals around, right?

Possibly, yes. I've been reading around how relocation works with ELF, 
and I've found something we could potentially use here:

http://www.math.utah.edu/docs/info/ld_3.html#SEC18

See the part about the AT keyword and the corresponding C code. Could 
this be used to relocate the image to a fixed location in RAM without 
having to create a full-blown ELF relocator?

Otherwise I guess we have to have multiple .text sections; one 
containing an ELF relocator and another containing the payload itself. 
I'm not sure whether that would affect non-QEMU use of OpenBIOS though.


ATB,

Mark.



More information about the OpenBIOS mailing list