]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
authorphcoder <phcoder@localhost>
Thu, 4 Jun 2009 21:45:32 +0000 (21:45 +0000)
committerphcoder <phcoder@localhost>
Thu, 4 Jun 2009 21:45:32 +0000 (21:45 +0000)
* kern/i386/pc/startup.S [APPLE_CC]: block of nops to
compensate a compiler bug

ChangeLog
kern/i386/pc/startup.S

index 2e6fde625a1bbfe2b71fd599937193f77a1b3e53..83322bb10fe2a64ef0826f239837d2a4785e65e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * kern/i386/pc/startup.S [APPLE_CC]: block of nops to 
+       compensate a compiler bug
+
 2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitely define as 8
index 6cdc79a1d74755f6caf82bc1b3bde0c3b7287c19..cd323125fd61a75ef5c39d8e92b9a5ec822daa8b 100644 (file)
@@ -1120,6 +1120,17 @@ FUNCTION(grub_get_mmap_entry)
 xnosmap:
        xorl    %ecx, %ecx
 
+/*     Apple's cc jumps few bytes before the correct
+       label in this context. Hence nops. */
+#ifdef APPLE_CC
+       nop
+       nop
+       nop
+       nop
+       nop
+       nop
+#endif
+
 xsmap:
        DATA32  call    real_to_prot
        .code32