[coreboot] seabios failure with v2 and -fomit-frame-pointer
mylesgw at gmail.com
Thu Mar 19 22:21:04 CET 2009
On Wed, Mar 18, 2009 at 7:55 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
> On Thu, Mar 19, 2009 at 01:49:23AM +0100, Stefan Reinauer wrote:
>> Kevin O'Connor wrote:
>> > On Wed, Mar 18, 2009 at 02:17:57PM -0600, Myles Watson wrote:
>> >> I think the breakage is occurring before the payload executes, but I'm
>> >> not sure of that.
>> >> qemu: fatal: Trying to execute code outside RAM or ROM at 0xf10002ba
>> > The bug is in src/arch/i386/boot/boot.c. The inline assembly in
>> > jmp_to_elf_entry uses the "g" flag to pass in parameters. However,
>> > "g" allows gcc to use stack relative addressing of parameters.
>> Does it? I could not find that in the GCC Inline Assembly FAQ.
> Somewhere it says it can be an offsettable memory address.
>> Would changing the parameters to "m" solve the problem?
> I don't think so. Easiest fix would be to change "g" to "ri" - put
> the parameter either in a register or as an immediate value.
That fixes it for me. Patch attached.
Signed-off-by: Myles Watson <mylesgw at gmail.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 634 bytes
Desc: not available
More information about the coreboot