diff options
author | H. Peter Anvin <[email protected]> | 2012-05-08 21:22:32 +0300 |
---|---|---|
committer | H. Peter Anvin <[email protected]> | 2012-05-08 11:47:18 -0700 |
commit | 487f50ffeb142d8f86fff6e43a8852ce3d46c173 (patch) | |
tree | e826db361699b36728b8b9e9484daff9fb3f0e24 | |
parent | 2a6de3148cfd1a0240a85ea4a1cad34d250d882f (diff) |
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 <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
-rw-r--r-- | 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 91b83ea55c37..4d4afcaf5f02 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*) |