]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Apple assembly doesn't handle symbol arithmetic well. So define an
authorVladimir Serbinenko <phcoder@gmail.com>
Sun, 24 Nov 2013 05:20:10 +0000 (06:20 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Sun, 24 Nov 2013 06:12:12 +0000 (07:12 +0100)
offset symbol in boot.S and use it.

ChangeLog
grub-core/boot/i386/pc/boot.S

index 751c047745695a650ae760578f7d6357eab72228..821ab2481e704807fc1614c3e8fdb9acef0a97e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Apple assembly doesn't handle symbol arithmetic well. So define an
+       offset symbol in boot.S and use it.
+
 2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Apple assembly doesn't handle symbol arithmetic well. So instead
index 8338f87b0dc7091193a515bd724283104291729b..b4975e2d029d74c9a6feba4b957f2ae515c72944 100644 (file)
@@ -31,7 +31,7 @@
        .macro floppy
 part_start:
 
-probe_values:
+LOCAL(probe_values):
        .byte   36, 18, 15, 9, 0
 
 LOCAL(floppy_probe):
@@ -39,8 +39,12 @@ LOCAL(floppy_probe):
 /*
  *  Perform floppy probe.
  */
-
-       movw    MACRO_DOLLAR(probe_values) - 1, %si
+#ifdef __APPLE__
+       LOCAL(probe_values_minus_one) = LOCAL(probe_values) - 1
+       movw    MACRO_DOLLAR(LOCAL(probe_values_minus_one)), %si
+#else
+       movw    MACRO_DOLLAR(LOCAL(probe_values)) - 1, %si
+#endif
 
 LOCAL(probe_loop):
        /* reset floppy controller INT 13h AH=0 */