[tip:x86/trampoline] x86, realmode: Add .text64 section, make barrier symbols absolute

From: tip-bot for H. Peter Anvin
Date: Tue May 08 2012 - 18:20:57 EST


Commit-ID: 487f50ffeb142d8f86fff6e43a8852ce3d46c173
Gitweb: http://git.kernel.org/tip/487f50ffeb142d8f86fff6e43a8852ce3d46c173
Author: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
AuthorDate: Tue, 8 May 2012 21:22:32 +0300
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Tue, 8 May 2012 11:47:18 -0700

x86, realmode: Add .text64 section, make barrier symbols absolute

Add a .text64 section. The purpose of this is to keep 16-, 32- and
64-bit code segregated into separate sections, mainly to keep
disassembly sane.

Move barrier symbols out of sections to avoid the "symbol in empty
section" problem in some versions of GNU ld.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1336501366-28617-10-git-send-email-jarkko.sakkinen@xxxxxxxxx
---
arch/x86/realmode/rm/realmode.lds.S | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/arch/x86/realmode/rm/realmode.lds.S b/arch/x86/realmode/rm/realmode.lds.S
index 91b83ea..4d4afca 100644
--- a/arch/x86/realmode/rm/realmode.lds.S
+++ b/arch/x86/realmode/rm/realmode.lds.S
@@ -32,8 +32,8 @@ SECTIONS
}

. = ALIGN(PAGE_SIZE);
+ pa_text_start = .;
.text : {
- pa_text_start = .;
*(.text)
*(.text.*)
}
@@ -41,9 +41,14 @@ SECTIONS
.text32 : {
*(.text32)
*(.text32.*)
- pa_ro_end = .;
}

+ .text64 : {
+ *(.text64)
+ *(.text64.*)
+ }
+ pa_ro_end = .;
+
. = ALIGN(PAGE_SIZE);
.data : {
*(.data)
@@ -59,8 +64,8 @@ SECTIONS
. = ALIGN(4);
.signature : {
*(.signature)
- pa_end = .;
}
+ pa_end = .;

/DISCARD/ : {
*(.note*)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/