[2262] 2009-06-04 Vladimir Serbinenko <[email protected]>

Vladimir Serbinenko <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2262
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2262
Author:   phcoder
Date:     2009-06-04 21:25:58 +0000 (Thu, 04 Jun 2009)
Log Message:
-----------
2009-06-04  Vladimir Serbinenko  <[email protected]>

	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
	

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/boot/i386/pc/lnxboot.S
    trunk/grub2/conf/i386-pc.rmk

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-06-04 21:21:31 UTC (rev 2261)
+++ trunk/grub2/ChangeLog	2009-06-04 21:25:58 UTC (rev 2262)
@@ -1,5 +1,17 @@
 2009-06-04  Vladimir Serbinenko  <[email protected]>
 
+	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  <[email protected]>
+
 	Address in trampolines based on 32-bit registers when compiled
 	with Apple's CC
 

Modified: trunk/grub2/boot/i386/pc/lnxboot.S
===================================================================
--- trunk/grub2/boot/i386/pc/lnxboot.S	2009-06-04 21:21:31 UTC (rev 2261)
+++ trunk/grub2/boot/i386/pc/lnxboot.S	2009-06-04 21:25:58 UTC (rev 2262)
@@ -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 + 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 @@
 err_int15_msg:
 	.ascii	"move memory fails\0"
 
+	/* Unsupported feature in Apple's cc.  */
+#ifndef APPLE_CC
 	. = (.  & (~0x1FF)) + 0x1FF
+#endif
 
 	.byte	0
 

Modified: trunk/grub2/conf/i386-pc.rmk
===================================================================
--- trunk/grub2/conf/i386-pc.rmk	2009-06-04 21:21:31 UTC (rev 2261)
+++ trunk/grub2/conf/i386-pc.rmk	2009-06-04 21:25:58 UTC (rev 2262)
@@ -10,8 +10,7 @@
 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_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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.