diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-08-31 02:56:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-31 04:42:22 -0400 |
commit | c7ec16da5adc1c1b341b2a83bde7add17dcf811a (patch) | |
tree | 4e11748671da5c83c894f1fe96ce999f33b52e7d /arch | |
parent | 641916881322a2dee5b120d509a3bdd05a502510 (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')
-rw-r--r-- | arch/um/kernel/dyn.lds.S | 12 | ||||
-rw-r--r-- | arch/um/kernel/uml.lds.S | 11 |
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" |