+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
#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
. = 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:
err_int15_msg:
.ascii "move memory fails\0"
+ /* Unsupported feature in Apple's cc. */
+#ifndef APPLE_CC
. = (. & (~0x1FF)) + 0x1FF
+#endif
.byte 0
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
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