diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-03-08 05:41:21 -0500 |
---|---|---|
committer | Paul Mundt <lethal@hera.kernel.org> | 2007-05-06 22:10:53 -0400 |
commit | fa69151173b1fc6fa3ced0edd5c2ea83b5d32bc1 (patch) | |
tree | e7af97ccddc06d54dd6d6982a64cbf4982693379 /arch/sh/kernel/vmlinux.lds.S | |
parent | 45ed285b54930767937deb0eaf718b1d08c3c475 (diff) |
sh: generic BUG() support.
Wire up GENERIC_BUG for SH. This moves off of the special bug
frame and on to the generic struct bug_entry. Roughly the same
semantics are retained, and we can kill off some of the verbose
BUG() reporting code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/sh/kernel/vmlinux.lds.S | 47 |
1 files changed, 10 insertions, 37 deletions
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 2f606d0ce1f6..d83143cc5ca9 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S | |||
@@ -34,9 +34,11 @@ SECTIONS | |||
34 | __ex_table : { *(__ex_table) } | 34 | __ex_table : { *(__ex_table) } |
35 | __stop___ex_table = .; | 35 | __stop___ex_table = .; |
36 | 36 | ||
37 | _etext = .; /* End of text section */ | ||
38 | |||
37 | RODATA | 39 | RODATA |
38 | 40 | ||
39 | _etext = .; /* End of text section */ | 41 | BUG_TABLE |
40 | 42 | ||
41 | .data : { /* Data */ | 43 | .data : { /* Data */ |
42 | *(.data) | 44 | *(.data) |
@@ -53,6 +55,10 @@ SECTIONS | |||
53 | 55 | ||
54 | . = ALIGN(PAGE_SIZE); | 56 | . = ALIGN(PAGE_SIZE); |
55 | .data.page_aligned : { *(.data.page_aligned) } | 57 | .data.page_aligned : { *(.data.page_aligned) } |
58 | __nosave_begin = .; | ||
59 | .data_nosave : { *(.data.nosave) } | ||
60 | . = ALIGN(PAGE_SIZE); | ||
61 | __nosave_end = .; | ||
56 | 62 | ||
57 | . = ALIGN(PAGE_SIZE); | 63 | . = ALIGN(PAGE_SIZE); |
58 | __per_cpu_start = .; | 64 | __per_cpu_start = .; |
@@ -110,43 +116,10 @@ SECTIONS | |||
110 | * it's a module. | 116 | * it's a module. |
111 | */ | 117 | */ |
112 | /DISCARD/ : { | 118 | /DISCARD/ : { |
113 | *(.exit.text) | ||
114 | *(.exit.data) | ||
115 | *(.exitcall.exit) | 119 | *(.exitcall.exit) |
116 | } | 120 | } |
117 | 121 | ||
118 | /* Stabs debugging sections. */ | 122 | STABS_DEBUG |
119 | .stab 0 : { *(.stab) } | 123 | |
120 | .stabstr 0 : { *(.stabstr) } | 124 | DWARF_DEBUG |
121 | .stab.excl 0 : { *(.stab.excl) } | ||
122 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
123 | .stab.index 0 : { *(.stab.index) } | ||
124 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
125 | .comment 0 : { *(.comment) } | ||
126 | /* DWARF debug sections. | ||
127 | Symbols in the DWARF debugging section are relative to the beginning | ||
128 | of the section so we begin .debug at 0. */ | ||
129 | /* DWARF 1 */ | ||
130 | .debug 0 : { *(.debug) } | ||
131 | .line 0 : { *(.line) } | ||
132 | /* GNU DWARF 1 extensions */ | ||
133 | .debug_srcinfo 0 : { *(.debug_srcinfo) } | ||
134 | .debug_sfnames 0 : { *(.debug_sfnames) } | ||
135 | /* DWARF 1.1 and DWARF 2 */ | ||
136 | .debug_aranges 0 : { *(.debug_aranges) } | ||
137 | .debug_pubnames 0 : { *(.debug_pubnames) } | ||
138 | /* DWARF 2 */ | ||
139 | .debug_info 0 : { *(.debug_info) } | ||
140 | .debug_abbrev 0 : { *(.debug_abbrev) } | ||
141 | .debug_line 0 : { *(.debug_line) } | ||
142 | .debug_frame 0 : { *(.debug_frame) } | ||
143 | .debug_str 0 : { *(.debug_str) } | ||
144 | .debug_loc 0 : { *(.debug_loc) } | ||
145 | .debug_macinfo 0 : { *(.debug_macinfo) } | ||
146 | /* SGI/MIPS DWARF 2 extensions */ | ||
147 | .debug_weaknames 0 : { *(.debug_weaknames) } | ||
148 | .debug_funcnames 0 : { *(.debug_funcnames) } | ||
149 | .debug_typenames 0 : { *(.debug_typenames) } | ||
150 | .debug_varnames 0 : { *(.debug_varnames) } | ||
151 | /* These must appear regardless of . */ | ||
152 | } | 125 | } |