[2490] 2009-08-13 Pavel Roskin <[email protected]>

Pavel Roskin <[email protected]> Thu, 13 Aug 2009 05:43:15 +0000
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2490
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2490
Author:   proski
Date:     2009-08-13 05:43:14 +0000 (Thu, 13 Aug 2009)
Log Message:
-----------
2009-08-13  Pavel Roskin  <[email protected]>

	* boot/i386/pc/boot.S: Remove ABS macro, it's not required by
	any modern compilers we support.

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

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-08-13 05:34:39 UTC (rev 2489)
+++ trunk/grub2/ChangeLog	2009-08-13 05:43:14 UTC (rev 2490)
@@ -1,5 +1,8 @@
 2009-08-13  Pavel Roskin  <[email protected]>
 
+	* boot/i386/pc/boot.S: Remove ABS macro, it's not required by
+	any modern compilers we support.
+
 	* boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
 	Use local labels starting with "L_" so that Apple assembler
 	knows they are local.

Modified: trunk/grub2/boot/i386/pc/boot.S
===================================================================
--- trunk/grub2/boot/i386/pc/boot.S	2009-08-13 05:34:39 UTC (rev 2489)
+++ trunk/grub2/boot/i386/pc/boot.S	2009-08-13 05:43:14 UTC (rev 2490)
@@ -24,13 +24,8 @@
  *  defines for the code go here
  */
 
-	/* Absolute addresses
-	   This makes the assembler generate the address without support
-	   from the linker. (ELF can't relocate 16-bit addresses!) */
-#define ABS(x) (x-_start+0x7c00)
-
 	/* Print message string */
-#define MSG(x)	movw $ABS(x), %si; call L_message
+#define MSG(x)	movw $x, %si; call L_message
 
 	.file	"boot.S"
 
@@ -125,7 +120,7 @@
 	 * ljmp to the next instruction because some bogus BIOSes
 	 * jump to 07C0:0000 instead of 0000:7C00.
 	 */
-	ljmp	$0, $ABS(real_start)
+	ljmp	$0, $real_start
 
 real_start:
 
@@ -142,7 +137,7 @@
 	/*
 	 *  Check if we have a forced disk reference here
 	 */
-	movb   ABS(boot_drive), %al
+	movb   boot_drive, %al
 	cmpb	$0xff, %al
 	je	1f
 	movb	%al, %dl
@@ -154,7 +149,7 @@
 	MSG(notification_string)
 
 	/* set %si to the disk address packet */
-	movw	$ABS(disk_address_packet), %si
+	movw	$disk_address_packet, %si
 
 	/* do not probe LBA if the drive is a floppy */
 	testb	$GRUB_BOOT_MACHINE_BIOS_HD_FLAG, %dl
@@ -195,9 +190,9 @@
 	movw	$0x0010, (%si)
 
 	/* the absolute address */
-	movl	ABS(kernel_sector), %ebx
+	movl	kernel_sector, %ebx
 	movl	%ebx, 8(%si)
-	movl	ABS(kernel_sector + 4), %ebx
+	movl	kernel_sector + 4, %ebx
 	movl	%ebx, 12(%si)
 
 	/* the segment of buffer address */
@@ -265,13 +260,13 @@
 
 setup_sectors:
 	/* load logical sector start (top half) */
-	movl	ABS(kernel_sector + 4), %eax
+	movl	kernel_sector + 4, %eax
 
 	orl	%eax, %eax
 	jnz	L_geometry_error
 
 	/* load logical sector start (bottom half) */
-	movl	ABS(kernel_sector), %eax
+	movl	kernel_sector, %eax
 
 	/* zero %edx */
 	xorl	%edx, %edx
@@ -442,7 +437,7 @@
  *  Perform floppy probe.
  */
 
-	movw	$ABS(probe_values-1), %si
+	movw	$probe_values - 1, %si
 
 L_probe_loop:
 	/* reset floppy controller INT 13h AH=0 */