-- 
Regards
Vladimir 'phcoder' Serbinenko
diff --git a/boot/i386/pc/lnxboot.S b/boot/i386/pc/lnxboot.S
index 0db6826..f244fec 100644
--- a/boot/i386/pc/lnxboot.S
+++ b/boot/i386/pc/lnxboot.S
@@ -24,9 +24,15 @@
 #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
 
diff --git a/conf/i386-pc.rmk b/conf/i386-pc.rmk
index f75117b..f1e18fb 100644
--- a/conf/i386-pc.rmk
+++ b/conf/i386-pc.rmk
@@ -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
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to