diff options
29 files changed, 37 insertions, 28 deletions
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S index cf1e6fc6c686..ab60e81540b5 100644 --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S | |||
@@ -15,7 +15,7 @@ SECTIONS | |||
15 | 15 | ||
16 | _text = .; /* Text and read-only data */ | 16 | _text = .; /* Text and read-only data */ |
17 | .text : { | 17 | .text : { |
18 | *(.text) | 18 | TEXT_TEXT |
19 | SCHED_TEXT | 19 | SCHED_TEXT |
20 | LOCK_TEXT | 20 | LOCK_TEXT |
21 | *(.fixup) | 21 | *(.fixup) |
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index e4156e7868ce..8d4e248a9544 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -90,7 +90,7 @@ SECTIONS | |||
90 | __exception_text_start = .; | 90 | __exception_text_start = .; |
91 | *(.exception.text) | 91 | *(.exception.text) |
92 | __exception_text_end = .; | 92 | __exception_text_end = .; |
93 | *(.text) | 93 | TEXT_TEXT |
94 | SCHED_TEXT | 94 | SCHED_TEXT |
95 | LOCK_TEXT | 95 | LOCK_TEXT |
96 | #ifdef CONFIG_MMU | 96 | #ifdef CONFIG_MMU |
diff --git a/arch/arm26/kernel/vmlinux-arm26-xip.lds.in b/arch/arm26/kernel/vmlinux-arm26-xip.lds.in index 046a85054018..89c806a3a51b 100644 --- a/arch/arm26/kernel/vmlinux-arm26-xip.lds.in +++ b/arch/arm26/kernel/vmlinux-arm26-xip.lds.in | |||
@@ -64,7 +64,7 @@ SECTIONS | |||
64 | 64 | ||
65 | .text : { /* Real text segment */ | 65 | .text : { /* Real text segment */ |
66 | _text = .; /* Text and read-only data */ | 66 | _text = .; /* Text and read-only data */ |
67 | *(.text) | 67 | TEXT_TEXT |
68 | SCHED_TEXT | 68 | SCHED_TEXT |
69 | LOCK_TEXT /* FIXME - borrowed from arm32 - check*/ | 69 | LOCK_TEXT /* FIXME - borrowed from arm32 - check*/ |
70 | *(.fixup) | 70 | *(.fixup) |
diff --git a/arch/arm26/kernel/vmlinux-arm26.lds.in b/arch/arm26/kernel/vmlinux-arm26.lds.in index 1d2949e83be8..e3f9b18d9d23 100644 --- a/arch/arm26/kernel/vmlinux-arm26.lds.in +++ b/arch/arm26/kernel/vmlinux-arm26.lds.in | |||
@@ -65,7 +65,7 @@ SECTIONS | |||
65 | 65 | ||
66 | .text : { /* Real text segment */ | 66 | .text : { /* Real text segment */ |
67 | _text = .; /* Text and read-only data */ | 67 | _text = .; /* Text and read-only data */ |
68 | *(.text) | 68 | TEXT_TEXT |
69 | SCHED_TEXT | 69 | SCHED_TEXT |
70 | LOCK_TEXT | 70 | LOCK_TEXT |
71 | *(.fixup) | 71 | *(.fixup) |
diff --git a/arch/avr32/kernel/vmlinux.lds.c b/arch/avr32/kernel/vmlinux.lds.c index e7f72c995a32..dbba3912f7ce 100644 --- a/arch/avr32/kernel/vmlinux.lds.c +++ b/arch/avr32/kernel/vmlinux.lds.c | |||
@@ -76,7 +76,7 @@ SECTIONS | |||
76 | . = 0x100; | 76 | . = 0x100; |
77 | *(.scall.text) | 77 | *(.scall.text) |
78 | *(.irq.text) | 78 | *(.irq.text) |
79 | *(.text) | 79 | TEXT_TEXT |
80 | SCHED_TEXT | 80 | SCHED_TEXT |
81 | LOCK_TEXT | 81 | LOCK_TEXT |
82 | KPROBES_TEXT | 82 | KPROBES_TEXT |
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 6ae9ebbd8e58..36fcc777ea81 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -54,7 +54,7 @@ SECTIONS | |||
54 | { | 54 | { |
55 | _text = .; | 55 | _text = .; |
56 | __stext = .; | 56 | __stext = .; |
57 | *(.text) | 57 | TEXT_TEXT |
58 | SCHED_TEXT | 58 | SCHED_TEXT |
59 | *(.text.lock) | 59 | *(.text.lock) |
60 | . = ALIGN(16); | 60 | . = ALIGN(16); |
diff --git a/arch/frv/kernel/vmlinux.lds.S b/arch/frv/kernel/vmlinux.lds.S index 28eae9735ad6..7e0998f7f70f 100644 --- a/arch/frv/kernel/vmlinux.lds.S +++ b/arch/frv/kernel/vmlinux.lds.S | |||
@@ -101,13 +101,14 @@ SECTIONS | |||
101 | _stext = .; | 101 | _stext = .; |
102 | .text : { | 102 | .text : { |
103 | *( | 103 | *( |
104 | .text.start .text .text.* | 104 | .text.start .text.* |
105 | #ifdef CONFIG_DEBUG_INFO | 105 | #ifdef CONFIG_DEBUG_INFO |
106 | .init.text | 106 | .init.text |
107 | .exit.text | 107 | .exit.text |
108 | .exitcall.exit | 108 | .exitcall.exit |
109 | #endif | 109 | #endif |
110 | ) | 110 | ) |
111 | TEXT_TEXT | ||
111 | SCHED_TEXT | 112 | SCHED_TEXT |
112 | LOCK_TEXT | 113 | LOCK_TEXT |
113 | *(.fixup) | 114 | *(.fixup) |
diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S index 65f1cdc5ee04..4365162952e4 100644 --- a/arch/h8300/kernel/vmlinux.lds.S +++ b/arch/h8300/kernel/vmlinux.lds.S | |||
@@ -75,7 +75,7 @@ SECTIONS | |||
75 | *(.int_redirect) | 75 | *(.int_redirect) |
76 | #endif | 76 | #endif |
77 | __stext = . ; | 77 | __stext = . ; |
78 | *(.text) | 78 | TEXT_TEXT |
79 | SCHED_TEXT | 79 | SCHED_TEXT |
80 | LOCK_TEXT | 80 | LOCK_TEXT |
81 | __etext = . ; | 81 | __etext = . ; |
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S index 80bec6640230..dfc439a570d0 100644 --- a/arch/i386/kernel/vmlinux.lds.S +++ b/arch/i386/kernel/vmlinux.lds.S | |||
@@ -44,7 +44,7 @@ SECTIONS | |||
44 | 44 | ||
45 | /* read-only */ | 45 | /* read-only */ |
46 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | 46 | .text : AT(ADDR(.text) - LOAD_OFFSET) { |
47 | *(.text) | 47 | TEXT_TEXT |
48 | SCHED_TEXT | 48 | SCHED_TEXT |
49 | LOCK_TEXT | 49 | LOCK_TEXT |
50 | KPROBES_TEXT | 50 | KPROBES_TEXT |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index 692382642118..19108d0bb060 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
@@ -44,7 +44,7 @@ SECTIONS | |||
44 | .text : AT(ADDR(.text) - LOAD_OFFSET) | 44 | .text : AT(ADDR(.text) - LOAD_OFFSET) |
45 | { | 45 | { |
46 | IVT_TEXT | 46 | IVT_TEXT |
47 | *(.text) | 47 | TEXT_TEXT |
48 | SCHED_TEXT | 48 | SCHED_TEXT |
49 | LOCK_TEXT | 49 | LOCK_TEXT |
50 | KPROBES_TEXT | 50 | KPROBES_TEXT |
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S index 6c73bca3f478..bb1a2f50255e 100644 --- a/arch/m32r/kernel/vmlinux.lds.S +++ b/arch/m32r/kernel/vmlinux.lds.S | |||
@@ -27,7 +27,7 @@ SECTIONS | |||
27 | _text = .; /* Text and read-only data */ | 27 | _text = .; /* Text and read-only data */ |
28 | .boot : { *(.boot) } = 0 | 28 | .boot : { *(.boot) } = 0 |
29 | .text : { | 29 | .text : { |
30 | *(.text) | 30 | TEXT_TEXT |
31 | SCHED_TEXT | 31 | SCHED_TEXT |
32 | LOCK_TEXT | 32 | LOCK_TEXT |
33 | *(.fixup) | 33 | *(.fixup) |
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds index 437b4f8d86c5..a65cef826976 100644 --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds | |||
@@ -11,7 +11,7 @@ SECTIONS | |||
11 | . = 0x1000; | 11 | . = 0x1000; |
12 | _text = .; /* Text and read-only data */ | 12 | _text = .; /* Text and read-only data */ |
13 | .text : { | 13 | .text : { |
14 | *(.text) | 14 | TEXT_TEXT |
15 | SCHED_TEXT | 15 | SCHED_TEXT |
16 | LOCK_TEXT | 16 | LOCK_TEXT |
17 | *(.fixup) | 17 | *(.fixup) |
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index 2868e206fc76..fa44d6c49acc 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds | |||
@@ -12,7 +12,7 @@ SECTIONS | |||
12 | _text = .; /* Text and read-only data */ | 12 | _text = .; /* Text and read-only data */ |
13 | .text : { | 13 | .text : { |
14 | *(.head) | 14 | *(.head) |
15 | *(.text) | 15 | TEXT_TEXT |
16 | SCHED_TEXT | 16 | SCHED_TEXT |
17 | LOCK_TEXT | 17 | LOCK_TEXT |
18 | *(.fixup) | 18 | *(.fixup) |
diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S index c86a1bf589d4..6d4585eb6e79 100644 --- a/arch/m68knommu/kernel/vmlinux.lds.S +++ b/arch/m68knommu/kernel/vmlinux.lds.S | |||
@@ -62,7 +62,7 @@ SECTIONS { | |||
62 | .text : { | 62 | .text : { |
63 | _text = .; | 63 | _text = .; |
64 | _stext = . ; | 64 | _stext = . ; |
65 | *(.text) | 65 | TEXT_TEXT |
66 | SCHED_TEXT | 66 | SCHED_TEXT |
67 | *(.text.lock) | 67 | *(.text.lock) |
68 | 68 | ||
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 043f637e3d10..cfe4b67ef268 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
@@ -27,7 +27,7 @@ SECTIONS | |||
27 | /* read-only */ | 27 | /* read-only */ |
28 | _text = .; /* Text and read-only data */ | 28 | _text = .; /* Text and read-only data */ |
29 | .text : { | 29 | .text : { |
30 | *(.text) | 30 | TEXT_TEXT |
31 | SCHED_TEXT | 31 | SCHED_TEXT |
32 | LOCK_TEXT | 32 | LOCK_TEXT |
33 | *(.fixup) | 33 | *(.fixup) |
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index c74585990598..321de82fa867 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
@@ -51,7 +51,7 @@ SECTIONS | |||
51 | 51 | ||
52 | _text = .; /* Text and read-only data */ | 52 | _text = .; /* Text and read-only data */ |
53 | .text ALIGN(16) : { | 53 | .text ALIGN(16) : { |
54 | *(.text) | 54 | TEXT_TEXT |
55 | SCHED_TEXT | 55 | SCHED_TEXT |
56 | LOCK_TEXT | 56 | LOCK_TEXT |
57 | *(.text.do_softirq) | 57 | *(.text.do_softirq) |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 132067313147..f26620988860 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -34,7 +34,8 @@ SECTIONS | |||
34 | /* Text and gots */ | 34 | /* Text and gots */ |
35 | .text : { | 35 | .text : { |
36 | _text = .; | 36 | _text = .; |
37 | *(.text .text.*) | 37 | *(.text.*) |
38 | TEXT_TEXT | ||
38 | SCHED_TEXT | 39 | SCHED_TEXT |
39 | LOCK_TEXT | 40 | LOCK_TEXT |
40 | KPROBES_TEXT | 41 | KPROBES_TEXT |
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S index 44cd128fb719..419ef7e8e384 100644 --- a/arch/ppc/kernel/vmlinux.lds.S +++ b/arch/ppc/kernel/vmlinux.lds.S | |||
@@ -32,7 +32,7 @@ SECTIONS | |||
32 | .text : | 32 | .text : |
33 | { | 33 | { |
34 | _text = .; | 34 | _text = .; |
35 | *(.text) | 35 | TEXT_TEXT |
36 | SCHED_TEXT | 36 | SCHED_TEXT |
37 | LOCK_TEXT | 37 | LOCK_TEXT |
38 | *(.fixup) | 38 | *(.fixup) |
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index e9d3432aba60..89c2ec5c85ff 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
@@ -21,7 +21,7 @@ SECTIONS | |||
21 | . = 0x00000000; | 21 | . = 0x00000000; |
22 | _text = .; /* Text and read-only data */ | 22 | _text = .; /* Text and read-only data */ |
23 | .text : { | 23 | .text : { |
24 | *(.text) | 24 | TEXT_TEXT |
25 | SCHED_TEXT | 25 | SCHED_TEXT |
26 | LOCK_TEXT | 26 | LOCK_TEXT |
27 | KPROBES_TEXT | 27 | KPROBES_TEXT |
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index d83143cc5ca9..2367869d2141 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S | |||
@@ -22,7 +22,7 @@ SECTIONS | |||
22 | *(.empty_zero_page) | 22 | *(.empty_zero_page) |
23 | } = 0 | 23 | } = 0 |
24 | .text : { | 24 | .text : { |
25 | *(.text) | 25 | TEXT_TEXT |
26 | SCHED_TEXT | 26 | SCHED_TEXT |
27 | LOCK_TEXT | 27 | LOCK_TEXT |
28 | *(.fixup) | 28 | *(.fixup) |
diff --git a/arch/sh64/kernel/vmlinux.lds.S b/arch/sh64/kernel/vmlinux.lds.S index 4f9616f39830..fdf72ceff869 100644 --- a/arch/sh64/kernel/vmlinux.lds.S +++ b/arch/sh64/kernel/vmlinux.lds.S | |||
@@ -54,7 +54,7 @@ SECTIONS | |||
54 | } = 0 | 54 | } = 0 |
55 | 55 | ||
56 | .text : C_PHYS(.text) { | 56 | .text : C_PHYS(.text) { |
57 | *(.text) | 57 | TEXT_TEXT |
58 | *(.text64) | 58 | *(.text64) |
59 | *(.text..SHmedia32) | 59 | *(.text..SHmedia32) |
60 | SCHED_TEXT | 60 | SCHED_TEXT |
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S index f0bb6e60e620..5cb600e29875 100644 --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S | |||
@@ -12,7 +12,7 @@ SECTIONS | |||
12 | .text 0xf0004000 : | 12 | .text 0xf0004000 : |
13 | { | 13 | { |
14 | _text = .; | 14 | _text = .; |
15 | *(.text) | 15 | TEXT_TEXT |
16 | SCHED_TEXT | 16 | SCHED_TEXT |
17 | LOCK_TEXT | 17 | LOCK_TEXT |
18 | *(.gnu.warning) | 18 | *(.gnu.warning) |
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S index 13fa2a2e4513..f06da20533f5 100644 --- a/arch/sparc64/kernel/vmlinux.lds.S +++ b/arch/sparc64/kernel/vmlinux.lds.S | |||
@@ -14,7 +14,7 @@ SECTIONS | |||
14 | .text 0x0000000000404000 : | 14 | .text 0x0000000000404000 : |
15 | { | 15 | { |
16 | _text = .; | 16 | _text = .; |
17 | *(.text) | 17 | TEXT_TEXT |
18 | SCHED_TEXT | 18 | SCHED_TEXT |
19 | LOCK_TEXT | 19 | LOCK_TEXT |
20 | KPROBES_TEXT | 20 | KPROBES_TEXT |
diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S index 87a4e4427d8d..ec8477d0feb3 100644 --- a/arch/um/kernel/dyn.lds.S +++ b/arch/um/kernel/dyn.lds.S | |||
@@ -62,7 +62,7 @@ SECTIONS | |||
62 | } =0x90909090 | 62 | } =0x90909090 |
63 | .plt : { *(.plt) } | 63 | .plt : { *(.plt) } |
64 | .text : { | 64 | .text : { |
65 | *(.text) | 65 | TEXT_TEXT |
66 | SCHED_TEXT | 66 | SCHED_TEXT |
67 | LOCK_TEXT | 67 | LOCK_TEXT |
68 | *(.fixup) | 68 | *(.fixup) |
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S index bc59f97e34d0..84351059c356 100644 --- a/arch/um/kernel/uml.lds.S +++ b/arch/um/kernel/uml.lds.S | |||
@@ -37,7 +37,7 @@ SECTIONS | |||
37 | 37 | ||
38 | .text : | 38 | .text : |
39 | { | 39 | { |
40 | *(.text) | 40 | TEXT_TEXT |
41 | SCHED_TEXT | 41 | SCHED_TEXT |
42 | LOCK_TEXT | 42 | LOCK_TEXT |
43 | *(.fixup) | 43 | *(.fixup) |
diff --git a/arch/v850/kernel/vmlinux.lds.S b/arch/v850/kernel/vmlinux.lds.S index 356308221251..9e2b4bc06c68 100644 --- a/arch/v850/kernel/vmlinux.lds.S +++ b/arch/v850/kernel/vmlinux.lds.S | |||
@@ -92,7 +92,7 @@ | |||
92 | #define TEXT_CONTENTS \ | 92 | #define TEXT_CONTENTS \ |
93 | _text = .; \ | 93 | _text = .; \ |
94 | __stext = . ; \ | 94 | __stext = . ; \ |
95 | *(.text) \ | 95 | TEXT_TEXT \ |
96 | SCHED_TEXT \ | 96 | SCHED_TEXT \ |
97 | *(.exit.text) /* 2.5 convention */ \ | 97 | *(.exit.text) /* 2.5 convention */ \ |
98 | *(.text.exit) /* 2.4 convention */ \ | 98 | *(.text.exit) /* 2.4 convention */ \ |
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 88cfa50b424d..c77142d9fba9 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
@@ -31,7 +31,7 @@ SECTIONS | |||
31 | *(.bootstrap.text) | 31 | *(.bootstrap.text) |
32 | _stext = .; | 32 | _stext = .; |
33 | /* Then the rest */ | 33 | /* Then the rest */ |
34 | *(.text) | 34 | TEXT_TEXT |
35 | SCHED_TEXT | 35 | SCHED_TEXT |
36 | LOCK_TEXT | 36 | LOCK_TEXT |
37 | KPROBES_TEXT | 37 | KPROBES_TEXT |
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index 4fbd66a52a88..7d2dfb286a92 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -84,7 +84,8 @@ SECTIONS | |||
84 | { | 84 | { |
85 | /* The .head.text section must be the first section! */ | 85 | /* The .head.text section must be the first section! */ |
86 | *(.head.text) | 86 | *(.head.text) |
87 | *(.literal .text) | 87 | *(.literal) |
88 | TEXT_TEXT | ||
88 | *(.srom.text) | 89 | *(.srom.text) |
89 | VMLINUX_SYMBOL(__sched_text_start) = .; | 90 | VMLINUX_SYMBOL(__sched_text_start) = .; |
90 | *(.sched.literal .sched.text) | 91 | *(.sched.literal .sched.text) |
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index f3806a74c478..a464227a66b1 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
@@ -139,6 +139,12 @@ | |||
139 | VMLINUX_SYMBOL(__security_initcall_end) = .; \ | 139 | VMLINUX_SYMBOL(__security_initcall_end) = .; \ |
140 | } | 140 | } |
141 | 141 | ||
142 | /* .text section. Map to function alignment to avoid address changes | ||
143 | * during second ld run in second ld pass when generating System.map */ | ||
144 | #define TEXT_TEXT \ | ||
145 | ALIGN_FUNCTION(); \ | ||
146 | *(.text) | ||
147 | |||
142 | /* sched.text is aling to function alignment to secure we have same | 148 | /* sched.text is aling to function alignment to secure we have same |
143 | * address even at second ld pass when generating System.map */ | 149 | * address even at second ld pass when generating System.map */ |
144 | #define SCHED_TEXT \ | 150 | #define SCHED_TEXT \ |