aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/vmlinux.lds.S8
-rw-r--r--arch/arm/kernel/vmlinux.lds.S10
-rw-r--r--arch/avr32/kernel/vmlinux.lds.S8
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S8
-rw-r--r--arch/cris/arch-v10/vmlinux.lds.S8
-rw-r--r--arch/cris/arch-v32/vmlinux.lds.S8
-rw-r--r--arch/frv/kernel/vmlinux.lds.S14
-rw-r--r--arch/h8300/kernel/vmlinux.lds.S8
-rw-r--r--arch/ia64/kernel/vmlinux.lds.S8
-rw-r--r--arch/m32r/kernel/vmlinux.lds.S12
-rw-r--r--arch/m68k/kernel/vmlinux-std.lds8
-rw-r--r--arch/m68k/kernel/vmlinux-sun3.lds8
-rw-r--r--arch/m68knommu/kernel/vmlinux.lds.S8
-rw-r--r--arch/mips/kernel/vmlinux.lds.S8
-rw-r--r--arch/parisc/kernel/vmlinux.lds.S8
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S10
-rw-r--r--arch/ppc/kernel/vmlinux.lds.S8
-rw-r--r--arch/s390/kernel/vmlinux.lds.S8
-rw-r--r--arch/sh/kernel/vmlinux_32.lds.S8
-rw-r--r--arch/sh/kernel/vmlinux_64.lds.S8
-rw-r--r--arch/sparc/kernel/vmlinux.lds.S8
-rw-r--r--arch/sparc64/kernel/vmlinux.lds.S8
-rw-r--r--arch/um/kernel/dyn.lds.S4
-rw-r--r--arch/um/kernel/uml.lds.S4
-rw-r--r--arch/v850/kernel/vmlinux.lds.S10
-rw-r--r--arch/x86/kernel/vmlinux_32.lds.S14
-rw-r--r--arch/x86/kernel/vmlinux_64.lds.S19
-rw-r--r--arch/xtensa/kernel/vmlinux.lds.S9
28 files changed, 133 insertions, 117 deletions
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 55c05b511f4c..f13249be17c5 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -46,11 +46,11 @@ SECTIONS
46 __init_begin = .; 46 __init_begin = .;
47 .init.text : { 47 .init.text : {
48 _sinittext = .; 48 _sinittext = .;
49 *(.init.text) 49 INIT_TEXT
50 _einittext = .; 50 _einittext = .;
51 } 51 }
52 .init.data : { 52 .init.data : {
53 *(.init.data) 53 INIT_DATA
54 } 54 }
55 55
56 . = ALIGN(16); 56 . = ALIGN(16);
@@ -136,8 +136,8 @@ SECTIONS
136 136
137 /* Sections to be discarded */ 137 /* Sections to be discarded */
138 /DISCARD/ : { 138 /DISCARD/ : {
139 *(.exit.text) 139 EXIT_TEXT
140 *(.exit.data) 140 EXIT_DATA
141 *(.exitcall.exit) 141 *(.exitcall.exit)
142 } 142 }
143 143
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
index 30f732c7fdb5..4898bdcfe7dd 100644
--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -30,7 +30,7 @@ SECTIONS
30 } 30 }
31 31
32 .init : { /* Init code and data */ 32 .init : { /* Init code and data */
33 *(.init.text) 33 INIT_TEXT
34 _einittext = .; 34 _einittext = .;
35 __proc_info_begin = .; 35 __proc_info_begin = .;
36 *(.proc.info.init) 36 *(.proc.info.init)
@@ -70,15 +70,15 @@ SECTIONS
70 __per_cpu_end = .; 70 __per_cpu_end = .;
71#ifndef CONFIG_XIP_KERNEL 71#ifndef CONFIG_XIP_KERNEL
72 __init_begin = _stext; 72 __init_begin = _stext;
73 *(.init.data) 73 INIT_DATA
74 . = ALIGN(4096); 74 . = ALIGN(4096);
75 __init_end = .; 75 __init_end = .;
76#endif 76#endif
77 } 77 }
78 78
79 /DISCARD/ : { /* Exit code and data */ 79 /DISCARD/ : { /* Exit code and data */
80 *(.exit.text) 80 EXIT_TEXT
81 *(.exit.data) 81 EXIT_DATA
82 *(.exitcall.exit) 82 *(.exitcall.exit)
83#ifndef CONFIG_MMU 83#ifndef CONFIG_MMU
84 *(.fixup) 84 *(.fixup)
@@ -130,7 +130,7 @@ SECTIONS
130#ifdef CONFIG_XIP_KERNEL 130#ifdef CONFIG_XIP_KERNEL
131 . = ALIGN(4096); 131 . = ALIGN(4096);
132 __init_begin = .; 132 __init_begin = .;
133 *(.init.data) 133 INIT_DATA
134 . = ALIGN(4096); 134 . = ALIGN(4096);
135 __init_end = .; 135 __init_end = .;
136#endif 136#endif
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S
index 11f08e35a2eb..481cfd40c053 100644
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
@@ -27,19 +27,19 @@ SECTIONS
27 __init_begin = .; 27 __init_begin = .;
28 _sinittext = .; 28 _sinittext = .;
29 *(.text.reset) 29 *(.text.reset)
30 *(.init.text) 30 INIT_TEXT
31 /* 31 /*
32 * .exit.text is discarded at runtime, not 32 * .exit.text is discarded at runtime, not
33 * link time, to deal with references from 33 * link time, to deal with references from
34 * __bug_table 34 * __bug_table
35 */ 35 */
36 *(.exit.text) 36 EXIT_TEXT
37 _einittext = .; 37 _einittext = .;
38 . = ALIGN(4); 38 . = ALIGN(4);
39 __tagtable_begin = .; 39 __tagtable_begin = .;
40 *(.taglist.init) 40 *(.taglist.init)
41 __tagtable_end = .; 41 __tagtable_end = .;
42 *(.init.data) 42 INIT_DATA
43 . = ALIGN(16); 43 . = ALIGN(16);
44 __setup_start = .; 44 __setup_start = .;
45 *(.init.setup) 45 *(.init.setup)
@@ -135,7 +135,7 @@ SECTIONS
135 * thrown away, as cleanup code is never called unless it's a module. 135 * thrown away, as cleanup code is never called unless it's a module.
136 */ 136 */
137 /DISCARD/ : { 137 /DISCARD/ : {
138 *(.exit.data) 138 EXIT_DATA
139 *(.exitcall.exit) 139 *(.exitcall.exit)
140 } 140 }
141 141
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index 9b75bc83c71f..858722421b40 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -91,13 +91,13 @@ SECTIONS
91 { 91 {
92 . = ALIGN(PAGE_SIZE); 92 . = ALIGN(PAGE_SIZE);
93 __sinittext = .; 93 __sinittext = .;
94 *(.init.text) 94 INIT_TEXT
95 __einittext = .; 95 __einittext = .;
96 } 96 }
97 .init.data : 97 .init.data :
98 { 98 {
99 . = ALIGN(16); 99 . = ALIGN(16);
100 *(.init.data) 100 INIT_DATA
101 } 101 }
102 .init.setup : 102 .init.setup :
103 { 103 {
@@ -198,8 +198,8 @@ SECTIONS
198 198
199 /DISCARD/ : 199 /DISCARD/ :
200 { 200 {
201 *(.exit.text) 201 EXIT_TEXT
202 *(.exit.data) 202 EXIT_DATA
203 *(.exitcall.exit) 203 *(.exitcall.exit)
204 } 204 }
205} 205}
diff --git a/arch/cris/arch-v10/vmlinux.lds.S b/arch/cris/arch-v10/vmlinux.lds.S
index 97a7876ed681..93c9f0ea286b 100644
--- a/arch/cris/arch-v10/vmlinux.lds.S
+++ b/arch/cris/arch-v10/vmlinux.lds.S
@@ -57,10 +57,10 @@ SECTIONS
57 __init_begin = .; 57 __init_begin = .;
58 .init.text : { 58 .init.text : {
59 _sinittext = .; 59 _sinittext = .;
60 *(.init.text) 60 INIT_TEXT
61 _einittext = .; 61 _einittext = .;
62 } 62 }
63 .init.data : { *(.init.data) } 63 .init.data : { INIT_DATA }
64 . = ALIGN(16); 64 . = ALIGN(16);
65 __setup_start = .; 65 __setup_start = .;
66 .init.setup : { *(.init.setup) } 66 .init.setup : { *(.init.setup) }
@@ -109,8 +109,8 @@ SECTIONS
109 109
110 /* Sections to be discarded */ 110 /* Sections to be discarded */
111 /DISCARD/ : { 111 /DISCARD/ : {
112 *(.text.exit) 112 EXIT_TEXT
113 *(.data.exit) 113 EXIT_DATA
114 *(.exitcall.exit) 114 *(.exitcall.exit)
115 } 115 }
116 116
diff --git a/arch/cris/arch-v32/vmlinux.lds.S b/arch/cris/arch-v32/vmlinux.lds.S
index b076c134c0bb..fead8c59ea63 100644
--- a/arch/cris/arch-v32/vmlinux.lds.S
+++ b/arch/cris/arch-v32/vmlinux.lds.S
@@ -61,10 +61,10 @@ SECTIONS
61 __init_begin = .; 61 __init_begin = .;
62 .init.text : { 62 .init.text : {
63 _sinittext = .; 63 _sinittext = .;
64 *(.init.text) 64 INIT_TEXT
65 _einittext = .; 65 _einittext = .;
66 } 66 }
67 .init.data : { *(.init.data) } 67 .init.data : { INIT_DATA }
68 . = ALIGN(16); 68 . = ALIGN(16);
69 __setup_start = .; 69 __setup_start = .;
70 .init.setup : { *(.init.setup) } 70 .init.setup : { *(.init.setup) }
@@ -124,8 +124,8 @@ SECTIONS
124 124
125 /* Sections to be discarded */ 125 /* Sections to be discarded */
126 /DISCARD/ : { 126 /DISCARD/ : {
127 *(.text.exit) 127 EXIT_TEXT
128 *(.data.exit) 128 EXIT_DATA
129 *(.exitcall.exit) 129 *(.exitcall.exit)
130 } 130 }
131 131
diff --git a/arch/frv/kernel/vmlinux.lds.S b/arch/frv/kernel/vmlinux.lds.S
index a17a81d58bf6..f42b328b1dd0 100644
--- a/arch/frv/kernel/vmlinux.lds.S
+++ b/arch/frv/kernel/vmlinux.lds.S
@@ -28,14 +28,14 @@ SECTIONS
28 .init.text : { 28 .init.text : {
29 *(.text.head) 29 *(.text.head)
30#ifndef CONFIG_DEBUG_INFO 30#ifndef CONFIG_DEBUG_INFO
31 *(.init.text) 31 INIT_TEXT
32 *(.exit.text) 32 EXIT_TEXT
33 *(.exit.data) 33 EXIT_DATA
34 *(.exitcall.exit) 34 *(.exitcall.exit)
35#endif 35#endif
36 } 36 }
37 _einittext = .; 37 _einittext = .;
38 .init.data : { *(.init.data) } 38 .init.data : { INIT_DATA }
39 39
40 . = ALIGN(8); 40 . = ALIGN(8);
41 __setup_start = .; 41 __setup_start = .;
@@ -106,8 +106,8 @@ SECTIONS
106 LOCK_TEXT 106 LOCK_TEXT
107#ifdef CONFIG_DEBUG_INFO 107#ifdef CONFIG_DEBUG_INFO
108 *( 108 *(
109 .init.text 109 INIT_TEXT
110 .exit.text 110 EXIT_TEXT
111 .exitcall.exit 111 .exitcall.exit
112 ) 112 )
113#endif 113#endif
@@ -138,7 +138,7 @@ SECTIONS
138 .data : { /* Data */ 138 .data : { /* Data */
139 DATA_DATA 139 DATA_DATA
140 *(.data.*) 140 *(.data.*)
141 *(.exit.data) 141 EXIT_DATA
142 CONSTRUCTORS 142 CONSTRUCTORS
143 } 143 }
144 144
diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S
index a2e72d495551..43a87b9085b6 100644
--- a/arch/h8300/kernel/vmlinux.lds.S
+++ b/arch/h8300/kernel/vmlinux.lds.S
@@ -110,9 +110,9 @@ SECTIONS
110 . = ALIGN(0x4) ; 110 . = ALIGN(0x4) ;
111 ___init_begin = .; 111 ___init_begin = .;
112 __sinittext = .; 112 __sinittext = .;
113 *(.init.text) 113 INIT_TEXT
114 __einittext = .; 114 __einittext = .;
115 *(.init.data) 115 INIT_DATA
116 . = ALIGN(0x4) ; 116 . = ALIGN(0x4) ;
117 ___setup_start = .; 117 ___setup_start = .;
118 *(.init.setup) 118 *(.init.setup)
@@ -124,8 +124,8 @@ SECTIONS
124 ___con_initcall_start = .; 124 ___con_initcall_start = .;
125 *(.con_initcall.init) 125 *(.con_initcall.init)
126 ___con_initcall_end = .; 126 ___con_initcall_end = .;
127 *(.exit.text) 127 EXIT_TEXT
128 *(.exit.data) 128 EXIT_DATA
129#if defined(CONFIG_BLK_DEV_INITRD) 129#if defined(CONFIG_BLK_DEV_INITRD)
130 . = ALIGN(4); 130 . = ALIGN(4);
131 ___initramfs_start = .; 131 ___initramfs_start = .;
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 757e419ebcf8..80622acc95de 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -27,8 +27,8 @@ SECTIONS
27{ 27{
28 /* Sections to be discarded */ 28 /* Sections to be discarded */
29 /DISCARD/ : { 29 /DISCARD/ : {
30 *(.exit.text) 30 EXIT_TEXT
31 *(.exit.data) 31 EXIT_DATA
32 *(.exitcall.exit) 32 *(.exitcall.exit)
33 *(.IA_64.unwind.exit.text) 33 *(.IA_64.unwind.exit.text)
34 *(.IA_64.unwind_info.exit.text) 34 *(.IA_64.unwind_info.exit.text)
@@ -119,12 +119,12 @@ SECTIONS
119 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) 119 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET)
120 { 120 {
121 _sinittext = .; 121 _sinittext = .;
122 *(.init.text) 122 INIT_TEXT
123 _einittext = .; 123 _einittext = .;
124 } 124 }
125 125
126 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) 126 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET)
127 { *(.init.data) } 127 { INIT_DATA }
128 128
129#ifdef CONFIG_BLK_DEV_INITRD 129#ifdef CONFIG_BLK_DEV_INITRD
130 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) 130 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET)
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S
index 942a8c7a4417..41b07854fcc6 100644
--- a/arch/m32r/kernel/vmlinux.lds.S
+++ b/arch/m32r/kernel/vmlinux.lds.S
@@ -76,10 +76,10 @@ SECTIONS
76 __init_begin = .; 76 __init_begin = .;
77 .init.text : { 77 .init.text : {
78 _sinittext = .; 78 _sinittext = .;
79 *(.init.text) 79 INIT_TEXT
80 _einittext = .; 80 _einittext = .;
81 } 81 }
82 .init.data : { *(.init.data) } 82 .init.data : { INIT_DATA }
83 . = ALIGN(16); 83 . = ALIGN(16);
84 __setup_start = .; 84 __setup_start = .;
85 .init.setup : { *(.init.setup) } 85 .init.setup : { *(.init.setup) }
@@ -100,8 +100,8 @@ SECTIONS
100 .altinstr_replacement : { *(.altinstr_replacement) } 100 .altinstr_replacement : { *(.altinstr_replacement) }
101 /* .exit.text is discard at runtime, not link time, to deal with references 101 /* .exit.text is discard at runtime, not link time, to deal with references
102 from .altinstructions and .eh_frame */ 102 from .altinstructions and .eh_frame */
103 .exit.text : { *(.exit.text) } 103 .exit.text : { EXIT_TEXT }
104 .exit.data : { *(.exit.data) } 104 .exit.data : { EXIT_DATA }
105 105
106#ifdef CONFIG_BLK_DEV_INITRD 106#ifdef CONFIG_BLK_DEV_INITRD
107 . = ALIGN(4096); 107 . = ALIGN(4096);
@@ -124,8 +124,8 @@ SECTIONS
124 124
125 /* Sections to be discarded */ 125 /* Sections to be discarded */
126 /DISCARD/ : { 126 /DISCARD/ : {
127 *(.exit.text) 127 EXIT_TEXT
128 *(.exit.data) 128 EXIT_DATA
129 *(.exitcall.exit) 129 *(.exitcall.exit)
130 } 130 }
131 131
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds
index 59fe285865ec..7537cc5e6159 100644
--- a/arch/m68k/kernel/vmlinux-std.lds
+++ b/arch/m68k/kernel/vmlinux-std.lds
@@ -45,10 +45,10 @@ SECTIONS
45 __init_begin = .; 45 __init_begin = .;
46 .init.text : { 46 .init.text : {
47 _sinittext = .; 47 _sinittext = .;
48 *(.init.text) 48 INIT_TEXT
49 _einittext = .; 49 _einittext = .;
50 } 50 }
51 .init.data : { *(.init.data) } 51 .init.data : { INIT_DATA }
52 . = ALIGN(16); 52 . = ALIGN(16);
53 __setup_start = .; 53 __setup_start = .;
54 .init.setup : { *(.init.setup) } 54 .init.setup : { *(.init.setup) }
@@ -82,8 +82,8 @@ SECTIONS
82 82
83 /* Sections to be discarded */ 83 /* Sections to be discarded */
84 /DISCARD/ : { 84 /DISCARD/ : {
85 *(.exit.text) 85 EXIT_TEXT
86 *(.exit.data) 86 EXIT_DATA
87 *(.exitcall.exit) 87 *(.exitcall.exit)
88 } 88 }
89 89
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds
index 4adffefb5c48..cdc313e7c299 100644
--- a/arch/m68k/kernel/vmlinux-sun3.lds
+++ b/arch/m68k/kernel/vmlinux-sun3.lds
@@ -38,10 +38,10 @@ SECTIONS
38__init_begin = .; 38__init_begin = .;
39 .init.text : { 39 .init.text : {
40 _sinittext = .; 40 _sinittext = .;
41 *(.init.text) 41 INIT_TEXT
42 _einittext = .; 42 _einittext = .;
43 } 43 }
44 .init.data : { *(.init.data) } 44 .init.data : { INIT_DATA }
45 . = ALIGN(16); 45 . = ALIGN(16);
46 __setup_start = .; 46 __setup_start = .;
47 .init.setup : { *(.init.setup) } 47 .init.setup : { *(.init.setup) }
@@ -77,8 +77,8 @@ __init_begin = .;
77 77
78 /* Sections to be discarded */ 78 /* Sections to be discarded */
79 /DISCARD/ : { 79 /DISCARD/ : {
80 *(.exit.text) 80 EXIT_TEXT
81 *(.exit.data) 81 EXIT_DATA
82 *(.exitcall.exit) 82 *(.exitcall.exit)
83 } 83 }
84 84
diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index 07a0055602f4..b44edb08e212 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -143,9 +143,9 @@ SECTIONS {
143 . = ALIGN(4096); 143 . = ALIGN(4096);
144 __init_begin = .; 144 __init_begin = .;
145 _sinittext = .; 145 _sinittext = .;
146 *(.init.text) 146 INIT_TEXT
147 _einittext = .; 147 _einittext = .;
148 *(.init.data) 148 INIT_DATA
149 . = ALIGN(16); 149 . = ALIGN(16);
150 __setup_start = .; 150 __setup_start = .;
151 *(.init.setup) 151 *(.init.setup)
@@ -170,8 +170,8 @@ SECTIONS {
170 } > INIT 170 } > INIT
171 171
172 /DISCARD/ : { 172 /DISCARD/ : {
173 *(.exit.text) 173 EXIT_TEXT
174 *(.exit.data) 174 EXIT_DATA
175 *(.exitcall.exit) 175 *(.exitcall.exit)
176 } 176 }
177 177
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 5fc2398bdb76..b5470ceb418b 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -114,11 +114,11 @@ SECTIONS
114 __init_begin = .; 114 __init_begin = .;
115 .init.text : { 115 .init.text : {
116 _sinittext = .; 116 _sinittext = .;
117 *(.init.text) 117 INIT_TEXT
118 _einittext = .; 118 _einittext = .;
119 } 119 }
120 .init.data : { 120 .init.data : {
121 *(.init.data) 121 INIT_DATA
122 } 122 }
123 . = ALIGN(16); 123 . = ALIGN(16);
124 .init.setup : { 124 .init.setup : {
@@ -144,10 +144,10 @@ SECTIONS
144 * references from .rodata 144 * references from .rodata
145 */ 145 */
146 .exit.text : { 146 .exit.text : {
147 *(.exit.text) 147 EXIT_TEXT
148 } 148 }
149 .exit.data : { 149 .exit.data : {
150 *(.exit.data) 150 EXIT_DATA
151 } 151 }
152#if defined(CONFIG_BLK_DEV_INITRD) 152#if defined(CONFIG_BLK_DEV_INITRD)
153 . = ALIGN(_PAGE_SIZE); 153 . = ALIGN(_PAGE_SIZE);
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
index 40d0ff9b81ab..50b4a3a25d0a 100644
--- a/arch/parisc/kernel/vmlinux.lds.S
+++ b/arch/parisc/kernel/vmlinux.lds.S
@@ -172,11 +172,11 @@ SECTIONS
172 __init_begin = .; 172 __init_begin = .;
173 .init.text : { 173 .init.text : {
174 _sinittext = .; 174 _sinittext = .;
175 *(.init.text) 175 INIT_TEXT
176 _einittext = .; 176 _einittext = .;
177 } 177 }
178 .init.data : { 178 .init.data : {
179 *(.init.data) 179 INIT_DATA
180 } 180 }
181 . = ALIGN(16); 181 . = ALIGN(16);
182 .init.setup : { 182 .init.setup : {
@@ -215,10 +215,10 @@ SECTIONS
215 * from .altinstructions and .eh_frame 215 * from .altinstructions and .eh_frame
216 */ 216 */
217 .exit.text : { 217 .exit.text : {
218 *(.exit.text) 218 EXIT_TEXT
219 } 219 }
220 .exit.data : { 220 .exit.data : {
221 *(.exit.data) 221 EXIT_DATA
222 } 222 }
223#ifdef CONFIG_BLK_DEV_INITRD 223#ifdef CONFIG_BLK_DEV_INITRD
224 . = ALIGN(PAGE_SIZE); 224 . = ALIGN(PAGE_SIZE);
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index f66fa5d966b0..0afb9e31d2a0 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -23,7 +23,7 @@ SECTIONS
23 /* Sections to be discarded. */ 23 /* Sections to be discarded. */
24 /DISCARD/ : { 24 /DISCARD/ : {
25 *(.exitcall.exit) 25 *(.exitcall.exit)
26 *(.exit.data) 26 EXIT_DATA
27 } 27 }
28 28
29 . = KERNELBASE; 29 . = KERNELBASE;
@@ -76,17 +76,19 @@ SECTIONS
76 76
77 .init.text : { 77 .init.text : {
78 _sinittext = .; 78 _sinittext = .;
79 *(.init.text) 79 INIT_TEXT
80 _einittext = .; 80 _einittext = .;
81 } 81 }
82 82
83 /* .exit.text is discarded at runtime, not link time, 83 /* .exit.text is discarded at runtime, not link time,
84 * to deal with references from __bug_table 84 * to deal with references from __bug_table
85 */ 85 */
86 .exit.text : { *(.exit.text) } 86 .exit.text : {
87 EXIT_TEXT
88 }
87 89
88 .init.data : { 90 .init.data : {
89 *(.init.data); 91 INIT_DATA
90 __vtop_table_begin = .; 92 __vtop_table_begin = .;
91 *(.vtop_fixup); 93 *(.vtop_fixup);
92 __vtop_table_end = .; 94 __vtop_table_end = .;
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S
index 98c1212674f6..52b64fcbdfc5 100644
--- a/arch/ppc/kernel/vmlinux.lds.S
+++ b/arch/ppc/kernel/vmlinux.lds.S
@@ -97,14 +97,14 @@ SECTIONS
97 __init_begin = .; 97 __init_begin = .;
98 .init.text : { 98 .init.text : {
99 _sinittext = .; 99 _sinittext = .;
100 *(.init.text) 100 INIT_TEXT
101 _einittext = .; 101 _einittext = .;
102 } 102 }
103 /* .exit.text is discarded at runtime, not link time, 103 /* .exit.text is discarded at runtime, not link time,
104 to deal with references from __bug_table */ 104 to deal with references from __bug_table */
105 .exit.text : { *(.exit.text) } 105 .exit.text : { EXIT_TEXT }
106 .init.data : { 106 .init.data : {
107 *(.init.data); 107 INIT_DATA
108 __vtop_table_begin = .; 108 __vtop_table_begin = .;
109 *(.vtop_fixup); 109 *(.vtop_fixup);
110 __vtop_table_end = .; 110 __vtop_table_end = .;
@@ -164,6 +164,6 @@ SECTIONS
164 /* Sections to be discarded. */ 164 /* Sections to be discarded. */
165 /DISCARD/ : { 165 /DISCARD/ : {
166 *(.exitcall.exit) 166 *(.exitcall.exit)
167 *(.exit.data) 167 EXIT_DATA
168 } 168 }
169} 169}
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 936159199346..7d43c3cd3ef3 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -97,7 +97,7 @@ SECTIONS
97 __init_begin = .; 97 __init_begin = .;
98 .init.text : { 98 .init.text : {
99 _sinittext = .; 99 _sinittext = .;
100 *(.init.text) 100 INIT_TEXT
101 _einittext = .; 101 _einittext = .;
102 } 102 }
103 /* 103 /*
@@ -105,11 +105,11 @@ SECTIONS
105 * to deal with references from __bug_table 105 * to deal with references from __bug_table
106 */ 106 */
107 .exit.text : { 107 .exit.text : {
108 *(.exit.text) 108 EXIT_TEXT
109 } 109 }
110 110
111 .init.data : { 111 .init.data : {
112 *(.init.data) 112 INIT_DATA
113 } 113 }
114 . = ALIGN(0x100); 114 . = ALIGN(0x100);
115 .init.setup : { 115 .init.setup : {
@@ -156,7 +156,7 @@ SECTIONS
156 156
157 /* Sections to be discarded */ 157 /* Sections to be discarded */
158 /DISCARD/ : { 158 /DISCARD/ : {
159 *(.exit.data) 159 EXIT_DATA
160 *(.exitcall.exit) 160 *(.exitcall.exit)
161 } 161 }
162 162
diff --git a/arch/sh/kernel/vmlinux_32.lds.S b/arch/sh/kernel/vmlinux_32.lds.S
index d549fac6d3e7..c7113786ecd4 100644
--- a/arch/sh/kernel/vmlinux_32.lds.S
+++ b/arch/sh/kernel/vmlinux_32.lds.S
@@ -84,9 +84,9 @@ SECTIONS
84 . = ALIGN(PAGE_SIZE); /* Init code and data */ 84 . = ALIGN(PAGE_SIZE); /* Init code and data */
85 __init_begin = .; 85 __init_begin = .;
86 _sinittext = .; 86 _sinittext = .;
87 .init.text : { *(.init.text) } 87 .init.text : { INIT_TEXT }
88 _einittext = .; 88 _einittext = .;
89 .init.data : { *(.init.data) } 89 .init.data : { INIT_DATA }
90 90
91 . = ALIGN(16); 91 . = ALIGN(16);
92 __setup_start = .; 92 __setup_start = .;
@@ -122,8 +122,8 @@ SECTIONS
122 * .exit.text is discarded at runtime, not link time, to deal with 122 * .exit.text is discarded at runtime, not link time, to deal with
123 * references from __bug_table 123 * references from __bug_table
124 */ 124 */
125 .exit.text : { *(.exit.text) } 125 .exit.text : { EXIT_TEXT }
126 .exit.data : { *(.exit.data) } 126 .exit.data : { EXIT_DATA }
127 127
128 . = ALIGN(PAGE_SIZE); 128 . = ALIGN(PAGE_SIZE);
129 .bss : { 129 .bss : {
diff --git a/arch/sh/kernel/vmlinux_64.lds.S b/arch/sh/kernel/vmlinux_64.lds.S
index 2fd0f7401484..3f1bd6392bb3 100644
--- a/arch/sh/kernel/vmlinux_64.lds.S
+++ b/arch/sh/kernel/vmlinux_64.lds.S
@@ -96,9 +96,9 @@ SECTIONS
96 . = ALIGN(PAGE_SIZE); /* Init code and data */ 96 . = ALIGN(PAGE_SIZE); /* Init code and data */
97 __init_begin = .; 97 __init_begin = .;
98 _sinittext = .; 98 _sinittext = .;
99 .init.text : C_PHYS(.init.text) { *(.init.text) } 99 .init.text : C_PHYS(.init.text) { INIT_TEXT }
100 _einittext = .; 100 _einittext = .;
101 .init.data : C_PHYS(.init.data) { *(.init.data) } 101 .init.data : C_PHYS(.init.data) { INIT_DATA }
102 . = ALIGN(L1_CACHE_BYTES); /* Better if Cache Line aligned */ 102 . = ALIGN(L1_CACHE_BYTES); /* Better if Cache Line aligned */
103 __setup_start = .; 103 __setup_start = .;
104 .init.setup : C_PHYS(.init.setup) { *(.init.setup) } 104 .init.setup : C_PHYS(.init.setup) { *(.init.setup) }
@@ -134,8 +134,8 @@ SECTIONS
134 * .exit.text is discarded at runtime, not link time, to deal with 134 * .exit.text is discarded at runtime, not link time, to deal with
135 * references from __bug_table 135 * references from __bug_table
136 */ 136 */
137 .exit.text : C_PHYS(.exit.text) { *(.exit.text) } 137 .exit.text : C_PHYS(.exit.text) { EXIT_TEXT }
138 .exit.data : C_PHYS(.exit.data) { *(.exit.data) } 138 .exit.data : C_PHYS(.exit.data) { EXIT_DATA }
139 139
140 . = ALIGN(PAGE_SIZE); 140 . = ALIGN(PAGE_SIZE);
141 .bss : C_PHYS(.bss) { 141 .bss : C_PHYS(.bss) {
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index a8b4200f9cc3..216147d6e61f 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -48,12 +48,12 @@ SECTIONS
48 __init_begin = .; 48 __init_begin = .;
49 .init.text : { 49 .init.text : {
50 _sinittext = .; 50 _sinittext = .;
51 *(.init.text) 51 INIT_TEXT
52 _einittext = .; 52 _einittext = .;
53 } 53 }
54 __init_text_end = .; 54 __init_text_end = .;
55 .init.data : { 55 .init.data : {
56 *(.init.data) 56 INIT_DATA
57 } 57 }
58 . = ALIGN(16); 58 . = ALIGN(16);
59 .init.setup : { 59 .init.setup : {
@@ -102,8 +102,8 @@ SECTIONS
102 _end = . ; 102 _end = . ;
103 PROVIDE (end = .); 103 PROVIDE (end = .);
104 /DISCARD/ : { 104 /DISCARD/ : {
105 *(.exit.text) 105 EXIT_TEXT
106 *(.exit.data) 106 EXIT_DATA
107 *(.exitcall.exit) 107 *(.exitcall.exit)
108 } 108 }
109 109
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S
index 9fcd503bc04a..01f809617e5e 100644
--- a/arch/sparc64/kernel/vmlinux.lds.S
+++ b/arch/sparc64/kernel/vmlinux.lds.S
@@ -56,11 +56,11 @@ SECTIONS
56 .init.text : { 56 .init.text : {
57 __init_begin = .; 57 __init_begin = .;
58 _sinittext = .; 58 _sinittext = .;
59 *(.init.text) 59 INIT_TEXT
60 _einittext = .; 60 _einittext = .;
61 } 61 }
62 .init.data : { 62 .init.data : {
63 *(.init.data) 63 INIT_DATA
64 } 64 }
65 . = ALIGN(16); 65 . = ALIGN(16);
66 .init.setup : { 66 .init.setup : {
@@ -137,8 +137,8 @@ SECTIONS
137 PROVIDE (end = .); 137 PROVIDE (end = .);
138 138
139 /DISCARD/ : { 139 /DISCARD/ : {
140 *(.exit.text) 140 EXIT_TEXT
141 *(.exit.data) 141 EXIT_DATA
142 *(.exitcall.exit) 142 *(.exitcall.exit)
143 } 143 }
144 144
diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S
index 3866f4960f04..26090b7f323e 100644
--- a/arch/um/kernel/dyn.lds.S
+++ b/arch/um/kernel/dyn.lds.S
@@ -17,7 +17,7 @@ SECTIONS
17 __init_begin = .; 17 __init_begin = .;
18 .init.text : { 18 .init.text : {
19 _sinittext = .; 19 _sinittext = .;
20 *(.init.text) 20 INIT_TEXT
21 _einittext = .; 21 _einittext = .;
22 } 22 }
23 23
@@ -84,7 +84,7 @@ SECTIONS
84 84
85 #include "asm/common.lds.S" 85 #include "asm/common.lds.S"
86 86
87 init.data : { *(.init.data) } 87 init.data : { INIT_DATA }
88 88
89 /* Ensure the __preinit_array_start label is properly aligned. We 89 /* Ensure the __preinit_array_start label is properly aligned. We
90 could instead move the label definition inside the section, but 90 could instead move the label definition inside the section, but
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S
index 13df191e2b41..5828c1d54505 100644
--- a/arch/um/kernel/uml.lds.S
+++ b/arch/um/kernel/uml.lds.S
@@ -23,7 +23,7 @@ SECTIONS
23 __init_begin = .; 23 __init_begin = .;
24 .init.text : { 24 .init.text : {
25 _sinittext = .; 25 _sinittext = .;
26 *(.init.text) 26 INIT_TEXT
27 _einittext = .; 27 _einittext = .;
28 } 28 }
29 . = ALIGN(4096); 29 . = ALIGN(4096);
@@ -48,7 +48,7 @@ SECTIONS
48 48
49 #include "asm/common.lds.S" 49 #include "asm/common.lds.S"
50 50
51 init.data : { *(init.data) } 51 init.data : { INIT_DATA }
52 .data : 52 .data :
53 { 53 {
54 . = ALIGN(KERNEL_STACK_SIZE); /* init_task */ 54 . = ALIGN(KERNEL_STACK_SIZE); /* init_task */
diff --git a/arch/v850/kernel/vmlinux.lds.S b/arch/v850/kernel/vmlinux.lds.S
index 6172599b4ce2..d08cd1d27f27 100644
--- a/arch/v850/kernel/vmlinux.lds.S
+++ b/arch/v850/kernel/vmlinux.lds.S
@@ -114,7 +114,7 @@
114#define DATA_CONTENTS \ 114#define DATA_CONTENTS \
115 __sdata = . ; \ 115 __sdata = . ; \
116 DATA_DATA \ 116 DATA_DATA \
117 *(.exit.data) /* 2.5 convention */ \ 117 EXIT_DATA /* 2.5 convention */ \
118 *(.data.exit) /* 2.4 convention */ \ 118 *(.data.exit) /* 2.4 convention */ \
119 . = ALIGN (16) ; \ 119 . = ALIGN (16) ; \
120 *(.data.cacheline_aligned) \ 120 *(.data.cacheline_aligned) \
@@ -157,9 +157,9 @@
157 . = ALIGN (4096) ; \ 157 . = ALIGN (4096) ; \
158 __init_start = . ; \ 158 __init_start = . ; \
159 __sinittext = .; \ 159 __sinittext = .; \
160 *(.init.text) /* 2.5 convention */ \ 160 INIT_TEXT /* 2.5 convention */ \
161 __einittext = .; \ 161 __einittext = .; \
162 *(.init.data) \ 162 INIT_DATA \
163 *(.text.init) /* 2.4 convention */ \ 163 *(.text.init) /* 2.4 convention */ \
164 *(.data.init) \ 164 *(.data.init) \
165 INITCALL_CONTENTS \ 165 INITCALL_CONTENTS \
@@ -170,7 +170,7 @@
170#define ROMK_INIT_RAM_CONTENTS \ 170#define ROMK_INIT_RAM_CONTENTS \
171 . = ALIGN (4096) ; \ 171 . = ALIGN (4096) ; \
172 __init_start = . ; \ 172 __init_start = . ; \
173 *(.init.data) /* 2.5 convention */ \ 173 INIT_DATA /* 2.5 convention */ \
174 *(.data.init) /* 2.4 convention */ \ 174 *(.data.init) /* 2.4 convention */ \
175 __init_end = . ; \ 175 __init_end = . ; \
176 . = ALIGN (4096) ; 176 . = ALIGN (4096) ;
@@ -179,7 +179,7 @@
179 should go into ROM. */ 179 should go into ROM. */
180#define ROMK_INIT_ROM_CONTENTS \ 180#define ROMK_INIT_ROM_CONTENTS \
181 _sinittext = .; \ 181 _sinittext = .; \
182 *(.init.text) /* 2.5 convention */ \ 182 INIT_TEXT /* 2.5 convention */ \
183 _einittext = .; \ 183 _einittext = .; \
184 *(.text.init) /* 2.4 convention */ \ 184 *(.text.init) /* 2.4 convention */ \
185 INITCALL_CONTENTS \ 185 INITCALL_CONTENTS \
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S
index 7d72cce00529..84c913f38f98 100644
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -131,10 +131,12 @@ SECTIONS
131 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { 131 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
132 __init_begin = .; 132 __init_begin = .;
133 _sinittext = .; 133 _sinittext = .;
134 *(.init.text) 134 INIT_TEXT
135 _einittext = .; 135 _einittext = .;
136 } 136 }
137 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { *(.init.data) } 137 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
138 INIT_DATA
139 }
138 . = ALIGN(16); 140 . = ALIGN(16);
139 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { 141 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
140 __setup_start = .; 142 __setup_start = .;
@@ -169,8 +171,12 @@ SECTIONS
169 } 171 }
170 /* .exit.text is discard at runtime, not link time, to deal with references 172 /* .exit.text is discard at runtime, not link time, to deal with references
171 from .altinstructions and .eh_frame */ 173 from .altinstructions and .eh_frame */
172 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } 174 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) {
173 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } 175 EXIT_TEXT
176 }
177 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) {
178 EXIT_DATA
179 }
174#if defined(CONFIG_BLK_DEV_INITRD) 180#if defined(CONFIG_BLK_DEV_INITRD)
175 . = ALIGN(4096); 181 . = ALIGN(4096);
176 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { 182 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
index ba8ea97abd21..ea5386944e67 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -155,12 +155,15 @@ SECTIONS
155 __init_begin = .; 155 __init_begin = .;
156 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { 156 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
157 _sinittext = .; 157 _sinittext = .;
158 *(.init.text) 158 INIT_TEXT
159 _einittext = .; 159 _einittext = .;
160 } 160 }
161 __initdata_begin = .; 161 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
162 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { *(.init.data) } 162 __initdata_begin = .;
163 __initdata_end = .; 163 INIT_DATA
164 __initdata_end = .;
165 }
166
164 . = ALIGN(16); 167 . = ALIGN(16);
165 __setup_start = .; 168 __setup_start = .;
166 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { *(.init.setup) } 169 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { *(.init.setup) }
@@ -187,8 +190,12 @@ SECTIONS
187 } 190 }
188 /* .exit.text is discard at runtime, not link time, to deal with references 191 /* .exit.text is discard at runtime, not link time, to deal with references
189 from .altinstructions and .eh_frame */ 192 from .altinstructions and .eh_frame */
190 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } 193 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) {
191 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } 194 EXIT_TEXT
195 }
196 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) {
197 EXIT_DATA
198 }
192 199
193/* vdso blob that is mapped into user space */ 200/* vdso blob that is mapped into user space */
194 vdso_start = . ; 201 vdso_start = . ;
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S
index ac4ed52034db..7d0f55a4982d 100644
--- a/arch/xtensa/kernel/vmlinux.lds.S
+++ b/arch/xtensa/kernel/vmlinux.lds.S
@@ -136,13 +136,13 @@ SECTIONS
136 __init_begin = .; 136 __init_begin = .;
137 .init.text : { 137 .init.text : {
138 _sinittext = .; 138 _sinittext = .;
139 *(.init.literal) *(.init.text) 139 *(.init.literal) INIT_TEXT
140 _einittext = .; 140 _einittext = .;
141 } 141 }
142 142
143 .init.data : 143 .init.data :
144 { 144 {
145 *(.init.data) 145 INIT_DATA
146 . = ALIGN(0x4); 146 . = ALIGN(0x4);
147 __tagtable_begin = .; 147 __tagtable_begin = .;
148 *(.taglist) 148 *(.taglist)
@@ -278,8 +278,9 @@ SECTIONS
278 /* Sections to be discarded */ 278 /* Sections to be discarded */
279 /DISCARD/ : 279 /DISCARD/ :
280 { 280 {
281 *(.exit.literal .exit.text) 281 *(.exit.literal)
282 *(.exit.data) 282 EXIT_TEXT
283 EXIT_DATA
283 *(.exitcall.exit) 284 *(.exitcall.exit)
284 } 285 }
285 286