aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-08-31 02:56:17 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-31 04:42:22 -0400
commitc7ec16da5adc1c1b341b2a83bde7add17dcf811a (patch)
tree4e11748671da5c83c894f1fe96ce999f33b52e7d /arch/um
parent641916881322a2dee5b120d509a3bdd05a502510 (diff)
uml: fix linker script alignment bugs
Fix a class of bugs in the UML linker scripts which caused section boundary variables to sometimes not line up with their sections. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/kernel/dyn.lds.S12
-rw-r--r--arch/um/kernel/uml.lds.S11
2 files changed, 13 insertions, 10 deletions
diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S
index 24547741b205..41850906116e 100644
--- a/arch/um/kernel/dyn.lds.S
+++ b/arch/um/kernel/dyn.lds.S
@@ -71,11 +71,13 @@ SECTIONS
71 *(.gnu.warning) 71 *(.gnu.warning)
72 72
73 . = ALIGN(4096); 73 . = ALIGN(4096);
74 __syscall_stub_start = .;
75 *(.__syscall_stub*)
76 __syscall_stub_end = .;
77 . = ALIGN(4096);
78 } =0x90909090 74 } =0x90909090
75 . = ALIGN(4096);
76 .syscall_stub : {
77 __syscall_stub_start = .;
78 *(.__syscall_stub*)
79 __syscall_stub_end = .;
80 }
79 .fini : { 81 .fini : {
80 KEEP (*(.fini)) 82 KEEP (*(.fini))
81 } =0x90909090 83 } =0x90909090
@@ -138,8 +140,8 @@ SECTIONS
138 .got : { *(.got.plt) *(.got) } 140 .got : { *(.got.plt) *(.got) }
139 _edata = .; 141 _edata = .;
140 PROVIDE (edata = .); 142 PROVIDE (edata = .);
141 __bss_start = .;
142 .bss : { 143 .bss : {
144 __bss_start = .;
143 *(.dynbss) 145 *(.dynbss)
144 *(.bss .bss.* .gnu.linkonce.b.*) 146 *(.bss .bss.* .gnu.linkonce.b.*)
145 *(COMMON) 147 *(COMMON)
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S
index 307b9373676b..81acdc24348e 100644
--- a/arch/um/kernel/uml.lds.S
+++ b/arch/um/kernel/uml.lds.S
@@ -44,12 +44,13 @@ SECTIONS
44 /* .gnu.warning sections are handled specially by elf32.em. */ 44 /* .gnu.warning sections are handled specially by elf32.em. */
45 *(.gnu.warning) 45 *(.gnu.warning)
46 *(.gnu.linkonce.t*) 46 *(.gnu.linkonce.t*)
47 }
47 48
48 . = ALIGN(4096); 49 . = ALIGN(4096);
49 __syscall_stub_start = .; 50 .syscall_stub : {
50 *(.__syscall_stub*) 51 __syscall_stub_start = .;
51 __syscall_stub_end = .; 52 *(.__syscall_stub*)
52 . = ALIGN(4096); 53 __syscall_stub_end = .;
53 } 54 }
54 55
55 #include "asm/common.lds.S" 56 #include "asm/common.lds.S"