[coreboot] seabios failure with v2 and -fomit-frame-pointer

Kevin O'Connor kevin at koconnor.net
Thu Mar 19 02:55:31 CET 2009


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.

-Kevin




More information about the coreboot mailing list