aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-11-04 18:36:59 -0500
committerPaul Mackerras <paulus@samba.org>2005-11-04 18:36:59 -0500
commitc51e3a417bb0f295e13a5bad86302b5212eafdf3 (patch)
tree3d60529b8bf1af4eee98bfede157518520fbb423 /arch/powerpc/kernel
parent5ad570786158e327a1c5d32dd3d66f26d8de6340 (diff)
powerpc: Fix vmlinux.lds.S for 32-bit
We can't currently use asm-ppc/page.h in vmlinux.lds.S, so until we have a merged page.h, define PAGE_SIZE and KERNELBASE locally. Also gets rid of some dynamic executable cruft that we had for 32-bit. With -Ttext=$(KERNELBASE) this didn't cause any problem, but when we changed to putting . = KERNELBASE in the vmlinux.lds.S this cruft caused the text to get linked at 0xa0 instead of 0xc0000000. Oops. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S30
1 files changed, 5 insertions, 25 deletions
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 9ceaa7a7bd00..7fa7b15fd8e6 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -1,5 +1,10 @@
1#include <linux/config.h> 1#include <linux/config.h>
2#ifdef CONFIG_PPC64
2#include <asm/page.h> 3#include <asm/page.h>
4#else
5#define PAGE_SIZE 4096
6#define KERNELBASE CONFIG_KERNEL_START
7#endif
3#include <asm-generic/vmlinux.lds.h> 8#include <asm-generic/vmlinux.lds.h>
4 9
5ENTRY(_stext) 10ENTRY(_stext)
@@ -22,31 +27,6 @@ SECTIONS
22 . = KERNELBASE; 27 . = KERNELBASE;
23 28
24 /* Read-only sections, merged into text segment: */ 29 /* Read-only sections, merged into text segment: */
25#ifdef CONFIG_PPC32
26 . = + SIZEOF_HEADERS;
27 .interp : { *(.interp) }
28 .hash : { *(.hash) }
29 .dynsym : { *(.dynsym) }
30 .dynstr : { *(.dynstr) }
31 .rel.text : { *(.rel.text) }
32 .rela.text : { *(.rela.text) }
33 .rel.data : { *(.rel.data) }
34 .rela.data : { *(.rela.data) }
35 .rel.rodata : { *(.rel.rodata) }
36 .rela.rodata : { *(.rela.rodata) }
37 .rel.got : { *(.rel.got) }
38 .rela.got : { *(.rela.got) }
39 .rel.ctors : { *(.rel.ctors) }
40 .rela.ctors : { *(.rela.ctors) }
41 .rel.dtors : { *(.rel.dtors) }
42 .rela.dtors : { *(.rela.dtors) }
43 .rel.bss : { *(.rel.bss) }
44 .rela.bss : { *(.rela.bss) }
45 .rel.plt : { *(.rel.plt) }
46 .rela.plt : { *(.rela.plt) }
47/* .init : { *(.init) } =0*/
48 .plt : { *(.plt) }
49#endif
50 .text : { 30 .text : {
51 *(.text .text.*) 31 *(.text .text.*)
52 SCHED_TEXT 32 SCHED_TEXT