On Thu, Mar 19, 2015 at 7:53 PM, Julius Werner <[email protected]> wrote:
>>   145a8a:       83 c3 14                add    $0x14,%ebx
>
> Okay, sorry, I didn't know you looked that closely into this. That's
> quite unrefuteable.
>
> The only question that I still have is then WTF the compiler was
> thinking... this just sounds like a plain bug somewhere (but I agree
> that doesn't really help us much). We could still work around it with
> an explicit __attribute__((aligned, 4)) or __attribute__((packed)) if
> that works... I guess if the compiler does this for no apparent
> reason, then there's no real guarantee that a simple list of pointers
> won't also get screwed up like this?

Well... I was working the assumption an array of pointers couldn't
possibly get hosed. That's about all I got for that. ;)

As for decorating the structures it's just sort of a pain in that you
need to match alignment of the symbol in the linker script and the
structure declaration -- for every object that we place like this in
the linker scripts. Definitely doable though. Something to keep in
one's back pocket.

-Aaron

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to