]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
authorphcoder <phcoder@localhost>
Thu, 4 Jun 2009 21:25:58 +0000 (21:25 +0000)
committerphcoder <phcoder@localhost>
Thu, 4 Jun 2009 21:25:58 +0000 (21:25 +0000)
Disable lnxboot.img when compiled
with Apple's CC

* conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
* boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
[! APPLE_CC] (CODE_LENG): skip
[! APPLE_CC] (setup_sects): likewise
[! APPLE_CC]: skip filling

ChangeLog
boot/i386/pc/lnxboot.S
conf/i386-pc.rmk

index 63ef8c2e56c6e3aca6369ee4819a68025b769cb4..0c13d6089065c28baf70fa4c75414ed5a1981847 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Disable lnxboot.img when compiled
+       with Apple's CC
+
+       * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
+       pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
+       * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
+       [! APPLE_CC] (CODE_LENG): skip
+       [! APPLE_CC] (setup_sects): likewise
+       [! APPLE_CC]: skip filling
+       
 2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Address in trampolines based on 32-bit registers when compiled
index 0db6826d7e0b96fbf56230667196ef4503eb0773..f244feccfee41e05ba001cc6be4afc12ad0bf529 100644 (file)
 #include <multiboot.h>
 
         .file   "lnxboot.S"
+               
+#ifdef APPLE_CC
+#error Building lnxboot.img with Apple's as results in an unusable image
+#endif
 
 #define CODE_ADDR      0x6000
+#ifndef APPLE_CC
 #define CODE_LENG      (code_end - start)
+#endif
 #define DATA_ADDR      ((GRUB_BOOT_MACHINE_KERNEL_ADDR) + 0x200)
 
 #define BLCK_LENG      0x4000
@@ -44,7 +50,12 @@ data_start:
        . = data_start + 0x1F1
 
 setup_sects:
+/* Apple's cc can't fill this value.  */ 
+#ifdef APPLE_CC
+       .byte   0
+#else
        .byte   (CODE_LENG >> 9)
+#endif
 root_flags:
        .word   0
 syssize:
@@ -351,7 +362,10 @@ fail:
 err_int15_msg:
        .ascii  "move memory fails\0"
 
+       /* Unsupported feature in Apple's cc.  */
+#ifndef APPLE_CC
        . = (.  & (~0x1FF)) + 0x1FF
+#endif
 
        .byte   0
 
index 066b506257d29acca0824e8840d8a90afe4189f8..fe67a8f6031466eadc179afd1029b0e1bb1381da 100644 (file)
@@ -10,8 +10,7 @@ COMMON_LDFLAGS = -m32 -nostdlib
 script/sh/lexer.c_DEPENDENCIES = grub_script.tab.h
 
 # Images.
-pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img \
-               cdboot.img
+pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img cdboot.img
 
 # For boot.img.
 boot_img_SOURCES = boot/i386/pc/boot.S
@@ -32,6 +31,9 @@ diskboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)8000
 diskboot_img_FORMAT = binary
 
 # For lnxboot.img.
+ifeq ($(TARGET_APPLE_CC), 0)
+pkglib_IMAGES += lnxboot.img
+endif
 lnxboot_img_SOURCES = boot/i386/pc/lnxboot.S
 lnxboot_img_ASFLAGS = $(COMMON_ASFLAGS)
 lnxboot_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)6000