diff options
Diffstat (limited to 'arch/sh/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/sh/kernel/vmlinux.lds.S | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 95fdd9135fcf..5eb930918186 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S | |||
@@ -2,6 +2,7 @@ | |||
2 | * ld script to make SuperH Linux kernel | 2 | * ld script to make SuperH Linux kernel |
3 | * Written by Niibe Yutaka | 3 | * Written by Niibe Yutaka |
4 | */ | 4 | */ |
5 | #include <asm/thread_info.h> | ||
5 | #include <asm-generic/vmlinux.lds.h> | 6 | #include <asm-generic/vmlinux.lds.h> |
6 | 7 | ||
7 | #ifdef CONFIG_CPU_LITTLE_ENDIAN | 8 | #ifdef CONFIG_CPU_LITTLE_ENDIAN |
@@ -13,7 +14,7 @@ OUTPUT_ARCH(sh) | |||
13 | ENTRY(_start) | 14 | ENTRY(_start) |
14 | SECTIONS | 15 | SECTIONS |
15 | { | 16 | { |
16 | . = 0x80000000 + CONFIG_MEMORY_START + CONFIG_ZERO_PAGE_OFFSET; | 17 | . = CONFIG_PAGE_OFFSET + CONFIG_MEMORY_START + CONFIG_ZERO_PAGE_OFFSET; |
17 | _text = .; /* Text and read-only data */ | 18 | _text = .; /* Text and read-only data */ |
18 | text = .; /* Text and read-only data */ | 19 | text = .; /* Text and read-only data */ |
19 | .empty_zero_page : { | 20 | .empty_zero_page : { |
@@ -40,16 +41,16 @@ SECTIONS | |||
40 | *(.data) | 41 | *(.data) |
41 | 42 | ||
42 | /* Align the initial ramdisk image (INITRD) on page boundaries. */ | 43 | /* Align the initial ramdisk image (INITRD) on page boundaries. */ |
43 | . = ALIGN(4096); | 44 | . = ALIGN(PAGE_SIZE); |
44 | __rd_start = .; | 45 | __rd_start = .; |
45 | *(.initrd) | 46 | *(.initrd) |
46 | . = ALIGN(4096); | 47 | . = ALIGN(PAGE_SIZE); |
47 | __rd_end = .; | 48 | __rd_end = .; |
48 | 49 | ||
49 | CONSTRUCTORS | 50 | CONSTRUCTORS |
50 | } | 51 | } |
51 | 52 | ||
52 | . = ALIGN(4096); | 53 | . = ALIGN(PAGE_SIZE); |
53 | .data.page_aligned : { *(.data.idt) } | 54 | .data.page_aligned : { *(.data.idt) } |
54 | 55 | ||
55 | . = ALIGN(32); | 56 | . = ALIGN(32); |
@@ -60,12 +61,10 @@ SECTIONS | |||
60 | 61 | ||
61 | _edata = .; /* End of data section */ | 62 | _edata = .; /* End of data section */ |
62 | 63 | ||
63 | . = ALIGN(8192); /* init_task */ | 64 | . = ALIGN(THREAD_SIZE); /* init_task */ |
64 | .data.init_task : { *(.data.init_task) } | 65 | .data.init_task : { *(.data.init_task) } |
65 | /* stack */ | ||
66 | .stack : { stack = .; _stack = .; } | ||
67 | 66 | ||
68 | . = ALIGN(4096); /* Init code and data */ | 67 | . = ALIGN(PAGE_SIZE); /* Init code and data */ |
69 | __init_begin = .; | 68 | __init_begin = .; |
70 | _sinittext = .; | 69 | _sinittext = .; |
71 | .init.text : { *(.init.text) } | 70 | .init.text : { *(.init.text) } |
@@ -96,7 +95,7 @@ SECTIONS | |||
96 | __machvec_start = .; | 95 | __machvec_start = .; |
97 | .init.machvec : { *(.init.machvec) } | 96 | .init.machvec : { *(.init.machvec) } |
98 | __machvec_end = .; | 97 | __machvec_end = .; |
99 | . = ALIGN(4096); | 98 | . = ALIGN(PAGE_SIZE); |
100 | __init_end = .; | 99 | __init_end = .; |
101 | 100 | ||
102 | . = ALIGN(4); | 101 | . = ALIGN(4); |