[coreboot-gerrit] New patch to review for coreboot: b95111f x86 bootblock: improve clang compatibility

Patrick Georgi (patrick@georgi-clan.de) gerrit at coreboot.org
Sat Jan 18 18:29:45 CET 2014


Patrick Georgi (patrick at georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4714

-gerrit

commit b95111fe0de3299bd32326850481a7fe80c0f490
Author: Patrick Georgi <patrick at georgi-clan.de>
Date:   Sat Jan 18 16:24:24 2014 +0100

    x86 bootblock: improve clang compatibility
    
    Its linker doesn't like "." arithmetics, so use .org,
    while its assembler doesn't like data32 prefixes.
    
    Change-Id: I3f5bbb350493d6510b8013df15d44c44c5db63c7
    Signed-off-by: Patrick Georgi <patrick at georgi-clan.de>
---
 src/cpu/x86/16bit/entry16.inc | 4 ++--
 src/cpu/x86/16bit/reset16.inc | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/cpu/x86/16bit/entry16.inc b/src/cpu/x86/16bit/entry16.inc
index e4613bf..c82edfd 100644
--- a/src/cpu/x86/16bit/entry16.inc
+++ b/src/cpu/x86/16bit/entry16.inc
@@ -105,7 +105,7 @@ _start:
 	lidt	%cs:(%bx)
 	movw	$gdtptr16_offset, %bx
 	subw	%ax, %bx
-	data32  lgdt %cs:(%bx)
+	lgdtl	%cs:(%bx)
 
 	movl	%cr0, %eax
 	andl	$0x7FFAFFD1, %eax /* PG,AM,WP,NE,TS,EM,MP = 0 */
@@ -116,7 +116,7 @@ _start:
 	movl	%ebp, %eax
 
 	/* Now that we are in protected mode jump to a 32 bit code segment. */
-	data32	ljmp	$ROM_CODE_SEG, $__protected_start
+	ljmpl	$ROM_CODE_SEG, $__protected_start
 
 	/**
 	 * The gdt is defined in entry32.inc, it has a 4 Gb code segment
diff --git a/src/cpu/x86/16bit/reset16.inc b/src/cpu/x86/16bit/reset16.inc
index 1be0e3a..33712d1 100644
--- a/src/cpu/x86/16bit/reset16.inc
+++ b/src/cpu/x86/16bit/reset16.inc
@@ -10,7 +10,7 @@ reset_vector:
 	 * instead of the weird 16 bit relocations that binutils does not
 	 * handle consistenly between versions because they are used so rarely.
 	 */
-	. = 0x8;
+	.org 0x8;
 	.code32
 	jmp	protected_start
 	.previous



More information about the coreboot-gerrit mailing list