mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
49 lines
1.2 KiB
Diff
49 lines
1.2 KiB
Diff
|
--- a/stage2/asm.S
|
||
|
+++ b/stage2/asm.S
|
||
|
@@ -95,14 +95,16 @@ VARIABLE(stage2_id)
|
||
|
VARIABLE(force_lba)
|
||
|
.byte 0
|
||
|
VARIABLE(version_string)
|
||
|
- .string VERSION
|
||
|
+ .ascii VERSION
|
||
|
+ .byte 0
|
||
|
VARIABLE(config_file)
|
||
|
#ifndef STAGE1_5
|
||
|
- .string "/boot/grub/menu.lst"
|
||
|
+ .ascii "/boot/grub/menu.lst"
|
||
|
#else /* STAGE1_5 */
|
||
|
.long 0xffffffff
|
||
|
- .string "/boot/grub/stage2"
|
||
|
+ .ascii "/boot/grub/stage2"
|
||
|
#endif /* STAGE1_5 */
|
||
|
+ .byte 0
|
||
|
|
||
|
/*
|
||
|
* Leave some breathing room for the config file name.
|
||
|
@@ -762,7 +764,9 @@ ENTRY(chain_stage1)
|
||
|
call EXT_C(prot_to_real)
|
||
|
.code16
|
||
|
|
||
|
-#ifdef ABSOLUTE_WITHOUT_ASTERISK
|
||
|
+#ifdef __APPLE__
|
||
|
+ DATA32 ADDR32 ljmp offset
|
||
|
+#elif defined(ABSOLUTE_WITHOUT_ASTERISK)
|
||
|
DATA32 ADDR32 ljmp (offset)
|
||
|
#else
|
||
|
DATA32 ADDR32 ljmp *(offset)
|
||
|
--- a/stage2/char_io.c
|
||
|
+++ b/stage2/char_io.c
|
||
|
@@ -1345,5 +1345,12 @@ grub_strcpy (char *dest, const char *src
|
||
|
#ifndef GRUB_UTIL
|
||
|
# undef memcpy
|
||
|
/* GCC emits references to memcpy() for struct copies etc. */
|
||
|
+#ifdef __APPLE__
|
||
|
+void *memcpy (void *dest, const void *src, int n)
|
||
|
+{
|
||
|
+ return grub_memmove(dest, src, n);
|
||
|
+}
|
||
|
+#else
|
||
|
void *memcpy (void *dest, const void *src, int n) __attribute__ ((alias ("grub_memmove")));
|
||
|
#endif
|
||
|
+#endif
|