diff options
Diffstat (limited to 'arch/mips/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/mips/kernel/vmlinux.lds.S | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 0bb9cd889456..cecff24cc972 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
@@ -50,6 +50,16 @@ SECTIONS | |||
50 | /* writeable */ | 50 | /* writeable */ |
51 | .data : { /* Data */ | 51 | .data : { /* Data */ |
52 | . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ | 52 | . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ |
53 | /* | ||
54 | * This ALIGN is needed as a workaround for a bug a gcc bug upto 4.1 which | ||
55 | * limits the maximum alignment to at most 32kB and results in the following | ||
56 | * warning: | ||
57 | * | ||
58 | * CC arch/mips/kernel/init_task.o | ||
59 | * arch/mips/kernel/init_task.c:30: warning: alignment of ‘init_thread_union’ | ||
60 | * is greater than maximum object file alignment. Using 32768 | ||
61 | */ | ||
62 | . = ALIGN(_PAGE_SIZE); | ||
53 | *(.data.init_task) | 63 | *(.data.init_task) |
54 | 64 | ||
55 | *(.data) | 65 | *(.data) |
@@ -91,13 +101,7 @@ SECTIONS | |||
91 | 101 | ||
92 | __initcall_start = .; | 102 | __initcall_start = .; |
93 | .initcall.init : { | 103 | .initcall.init : { |
94 | *(.initcall1.init) | 104 | INITCALLS |
95 | *(.initcall2.init) | ||
96 | *(.initcall3.init) | ||
97 | *(.initcall4.init) | ||
98 | *(.initcall5.init) | ||
99 | *(.initcall6.init) | ||
100 | *(.initcall7.init) | ||
101 | } | 105 | } |
102 | __initcall_end = .; | 106 | __initcall_end = .; |
103 | 107 | ||
@@ -108,6 +112,7 @@ SECTIONS | |||
108 | /* .exit.text is discarded at runtime, not link time, to deal with | 112 | /* .exit.text is discarded at runtime, not link time, to deal with |
109 | references from .rodata */ | 113 | references from .rodata */ |
110 | .exit.text : { *(.exit.text) } | 114 | .exit.text : { *(.exit.text) } |
115 | .exit.data : { *(.exit.data) } | ||
111 | . = ALIGN(_PAGE_SIZE); | 116 | . = ALIGN(_PAGE_SIZE); |
112 | __initramfs_start = .; | 117 | __initramfs_start = .; |
113 | .init.ramfs : { *(.init.ramfs) } | 118 | .init.ramfs : { *(.init.ramfs) } |
@@ -135,7 +140,6 @@ SECTIONS | |||
135 | 140 | ||
136 | /* Sections to be discarded */ | 141 | /* Sections to be discarded */ |
137 | /DISCARD/ : { | 142 | /DISCARD/ : { |
138 | *(.exit.data) | ||
139 | *(.exitcall.exit) | 143 | *(.exitcall.exit) |
140 | 144 | ||
141 | /* ABI crap starts here */ | 145 | /* ABI crap starts here */ |