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); |
