[coreboot] issues with seabios on the m2a-vm
Kevin O'Connor
kevin at koconnor.net
Fri Feb 27 02:24:12 CET 2009
On Thu, Feb 26, 2009 at 08:10:33PM -0500, Ward Vandewege wrote:
> On Thu, Feb 26, 2009 at 07:38:56PM -0500, Kevin O'Connor wrote:
> > Wow, this looks like a compiler bug. When disassembling I see:
>
> $ gcc --version
> gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Yeah, I realized I could pull your compiler version out of the .o
files. I can also confirm that my Ubuntu virtual machines are also
miscompiling seabios. (What's Ubuntu doing to their compilers?)
Looks like it can't handle ebp being in a clobber list. Can you see
if the patch below works for you?
-Kevin
--- a/src/util.c
+++ b/src/util.c
@@ -22,7 +22,7 @@ call16(struct bregs *callregs)
#endif
: "+a" (callregs), "+m" (*callregs)
:
- : "ebx", "ecx", "edx", "esi", "edi", "ebp", "cc", "memory");
+ : "ebx", "ecx", "edx", "esi", "edi", "cc", "memory");
}
inline void
@@ -36,7 +36,7 @@ call16big(struct bregs *callregs)
"calll __call16big_from32\n"
: "+a" (callregs), "+m" (*callregs)
:
- : "ebx", "ecx", "edx", "esi", "edi", "ebp", "cc", "memory");
+ : "ebx", "ecx", "edx", "esi", "edi", "cc", "memory");
}
inline void
More information about the coreboot
mailing list