[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