lkml.org 
[lkml]   [2012]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[tip:x86/trampoline] x86, realmode: Add .text64 section, make barrier symbols absolute
Commit-ID:  487f50ffeb142d8f86fff6e43a8852ce3d46c173
Gitweb: http://git.kernel.org/tip/487f50ffeb142d8f86fff6e43a8852ce3d46c173
Author: H. Peter Anvin <hpa@linux.intel.com>
AuthorDate: Tue, 8 May 2012 21:22:32 +0300
Committer: H. Peter Anvin <hpa@linux.intel.com>
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@linux.intel.com>
Link: http://lkml.kernel.org/r/1336501366-28617-10-git-send-email-jarkko.sakkinen@intel.com
---
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*)

\
 
 \ /
  Last update: 2012-05-09 00:41    [W:0.034 / U:2.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site