Commit ca967258b69eb65dcb07bbab90fdf964c6d2ec45

Authored by Sam Ravnborg
1 parent 7664709b44

all-archs: consolidate .data section definition in asm-generic

With this consolidation we can now modify the .data
section definition in one spot for all archs.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Showing 29 changed files with 40 additions and 28 deletions Side-by-side Diff

arch/alpha/kernel/vmlinux.lds.S
... ... @@ -89,7 +89,7 @@
89 89  
90 90 _data = .;
91 91 .data : { /* Data */
92   - *(.data)
  92 + DATA_DATA
93 93 CONSTRUCTORS
94 94 }
95 95  
arch/arm/kernel/vmlinux.lds.S
... ... @@ -158,7 +158,7 @@
158 158 /*
159 159 * and the usual data section
160 160 */
161   - *(.data)
  161 + DATA_DATA
162 162 CONSTRUCTORS
163 163  
164 164 _edata = .;
arch/arm26/kernel/vmlinux-arm26-xip.lds.in
... ... @@ -111,7 +111,7 @@
111 111 /*
112 112 * and the usual data section
113 113 */
114   - *(.data)
  114 + DATA_DATA
115 115 CONSTRUCTORS
116 116  
117 117 *(.init.data)
arch/arm26/kernel/vmlinux-arm26.lds.in
... ... @@ -106,7 +106,7 @@
106 106 /*
107 107 * and the usual data section
108 108 */
109   - *(.data)
  109 + DATA_DATA
110 110 CONSTRUCTORS
111 111  
112 112 _edata = .;
arch/avr32/kernel/vmlinux.lds.c
... ... @@ -112,7 +112,7 @@
112 112  
113 113 /* And the rest... */
114 114 *(.data.rel*)
115   - *(.data)
  115 + DATA_DATA
116 116 CONSTRUCTORS
117 117  
118 118 _edata = .;
arch/blackfin/kernel/vmlinux.lds.S
... ... @@ -200,7 +200,7 @@
200 200 __sdata = .;
201 201 . = ALIGN(0x2000);
202 202 *(.data.init_task)
203   - *(.data)
  203 + DATA_DATA
204 204  
205 205 . = ALIGN(32);
206 206 *(.data.cacheline_aligned)
arch/frv/kernel/vmlinux.lds.S
... ... @@ -136,7 +136,8 @@
136 136  
137 137 _sdata = .;
138 138 .data : { /* Data */
139   - *(.data .data.*)
  139 + DATA_DATA
  140 + *(.data.*)
140 141 *(.exit.data)
141 142 CONSTRUCTORS
142 143 }
arch/h8300/kernel/vmlinux.lds.S
... ... @@ -103,7 +103,7 @@
103 103 . = ALIGN(0x2000) ;
104 104 *(.data.init_task)
105 105 . = ALIGN(0x4) ;
106   - *(.data)
  106 + DATA_DATA
107 107 . = ALIGN(0x4) ;
108 108 *(.data.*)
109 109  
arch/i386/kernel/vmlinux.lds.S
... ... @@ -74,7 +74,7 @@
74 74 /* writeable */
75 75 . = ALIGN(4096);
76 76 .data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */
77   - *(.data)
  77 + DATA_DATA
78 78 CONSTRUCTORS
79 79 } :data
80 80  
arch/ia64/kernel/vmlinux.lds.S
... ... @@ -214,7 +214,12 @@
214 214  
215 215 data : { } :data
216 216 .data : AT(ADDR(.data) - LOAD_OFFSET)
217   - { *(.data) *(.data1) *(.gnu.linkonce.d*) CONSTRUCTORS }
  217 + {
  218 + DATA_DATA
  219 + *(.data1)
  220 + *(.gnu.linkonce.d*)
  221 + CONSTRUCTORS
  222 + }
218 223  
219 224 . = ALIGN(16); /* gp must be 16-byte aligned for exc. table */
220 225 .got : AT(ADDR(.got) - LOAD_OFFSET)
arch/m32r/kernel/vmlinux.lds.S
... ... @@ -50,7 +50,7 @@
50 50 .data : { /* Data */
51 51 *(.spu)
52 52 *(.spi)
53   - *(.data)
  53 + DATA_DATA
54 54 CONSTRUCTORS
55 55 }
56 56  
arch/m68k/kernel/vmlinux-std.lds
... ... @@ -28,7 +28,7 @@
28 28 _etext = .; /* End of text section */
29 29  
30 30 .data : { /* Data */
31   - *(.data)
  31 + DATA_DATA
32 32 CONSTRUCTORS
33 33 }
34 34  
arch/m68k/kernel/vmlinux-sun3.lds
... ... @@ -23,7 +23,7 @@
23 23 _etext = .; /* End of text section */
24 24  
25 25 .data : { /* Data */
26   - *(.data)
  26 + DATA_DATA
27 27 CONSTRUCTORS
28 28 . = ALIGN(16); /* Exception table */
29 29 __start___ex_table = .;
arch/m68knommu/kernel/vmlinux.lds.S
... ... @@ -133,7 +133,7 @@
133 133 .data DATA_ADDR : {
134 134 . = ALIGN(4);
135 135 _sdata = . ;
136   - *(.data)
  136 + DATA_DATA
137 137 . = ALIGN(8192) ;
138 138 *(.data.init_task)
139 139 _edata = . ;
arch/mips/kernel/vmlinux.lds.S
... ... @@ -62,7 +62,7 @@
62 62 . = ALIGN(_PAGE_SIZE);
63 63 *(.data.init_task)
64 64  
65   - *(.data)
  65 + DATA_DATA
66 66  
67 67 CONSTRUCTORS
68 68 }
arch/parisc/kernel/vmlinux.lds.S
... ... @@ -91,7 +91,7 @@
91 91  
92 92 . = ALIGN(L1_CACHE_BYTES);
93 93 .data : { /* Data */
94   - *(.data)
  94 + DATA_DATA
95 95 CONSTRUCTORS
96 96 }
97 97  
arch/powerpc/kernel/vmlinux.lds.S
... ... @@ -168,7 +168,7 @@
168 168 #ifdef CONFIG_PPC32
169 169 .data :
170 170 {
171   - *(.data)
  171 + DATA_DATA
172 172 *(.sdata)
173 173 *(.got.plt) *(.got)
174 174 }
arch/ppc/kernel/vmlinux.lds.S
... ... @@ -67,7 +67,7 @@
67 67 . = ALIGN(4096);
68 68 .data :
69 69 {
70   - *(.data)
  70 + DATA_DATA
71 71 *(.data1)
72 72 *(.sdata)
73 73 *(.sdata2)
arch/s390/kernel/vmlinux.lds.S
... ... @@ -48,7 +48,7 @@
48 48 BUG_TABLE
49 49  
50 50 .data : { /* Data */
51   - *(.data)
  51 + DATA_DATA
52 52 CONSTRUCTORS
53 53 }
54 54  
arch/sh/kernel/vmlinux.lds.S
... ... @@ -41,7 +41,7 @@
41 41 BUG_TABLE
42 42  
43 43 .data : { /* Data */
44   - *(.data)
  44 + DATA_DATA
45 45  
46 46 /* Align the initial ramdisk image (INITRD) on page boundaries. */
47 47 . = ALIGN(PAGE_SIZE);
arch/sh64/kernel/vmlinux.lds.S
... ... @@ -78,7 +78,7 @@
78 78 _etext = .; /* End of text section */
79 79  
80 80 .data : C_PHYS(.data) { /* Data */
81   - *(.data)
  81 + DATA_DATA
82 82 CONSTRUCTORS
83 83 }
84 84  
arch/sparc/kernel/vmlinux.lds.S
... ... @@ -22,7 +22,7 @@
22 22 RODATA
23 23 .data :
24 24 {
25   - *(.data)
  25 + DATA_DATA
26 26 CONSTRUCTORS
27 27 }
28 28 .data1 : { *(.data1) }
arch/sparc64/kernel/vmlinux.lds.S
... ... @@ -27,7 +27,7 @@
27 27  
28 28 .data :
29 29 {
30   - *(.data)
  30 + DATA_DATA
31 31 CONSTRUCTORS
32 32 }
33 33 .data1 : { *(.data1) }
arch/um/kernel/dyn.lds.S
... ... @@ -99,7 +99,8 @@
99 99 *(.data.init_task)
100 100 . = ALIGN(KERNEL_STACK_SIZE);
101 101 *(.data.init_irqstack)
102   - *(.data .data.* .gnu.linkonce.d.*)
  102 + DATA_DATA
  103 + *(.data.* .gnu.linkonce.d.*)
103 104 SORT(CONSTRUCTORS)
104 105 }
105 106 .data1 : { *(.data1) }
arch/um/kernel/uml.lds.S
... ... @@ -61,7 +61,7 @@
61 61 *(.data.init_task)
62 62 . = ALIGN(KERNEL_STACK_SIZE);
63 63 *(.data.init_irqstack)
64   - *(.data)
  64 + DATA_DATA
65 65 *(.gnu.linkonce.d*)
66 66 CONSTRUCTORS
67 67 }
arch/v850/kernel/vmlinux.lds.S
... ... @@ -113,7 +113,7 @@
113 113 /* Kernel data segment. */
114 114 #define DATA_CONTENTS \
115 115 __sdata = . ; \
116   - *(.data) \
  116 + DATA_DATA \
117 117 *(.exit.data) /* 2.5 convention */ \
118 118 *(.data.exit) /* 2.4 convention */ \
119 119 . = ALIGN (16) ; \
arch/x86_64/kernel/vmlinux.lds.S
... ... @@ -55,7 +55,7 @@
55 55 . = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */
56 56 /* Data */
57 57 .data : AT(ADDR(.data) - LOAD_OFFSET) {
58   - *(.data)
  58 + DATA_DATA
59 59 CONSTRUCTORS
60 60 } :data
61 61  
arch/xtensa/kernel/vmlinux.lds.S
... ... @@ -145,7 +145,8 @@
145 145 _fdata = .;
146 146 .data :
147 147 {
148   - *(.data) CONSTRUCTORS
  148 + DATA_DATA
  149 + CONSTRUCTORS
149 150 . = ALIGN(XCHAL_ICACHE_LINESIZE);
150 151 *(.data.cacheline_aligned)
151 152 }
include/asm-generic/vmlinux.lds.h
... ... @@ -9,6 +9,10 @@
9 9 /* Align . to a 8 byte boundary equals to maximum function alignment. */
10 10 #define ALIGN_FUNCTION() . = ALIGN(8)
11 11  
  12 +/* .data section */
  13 +#define DATA_DATA \
  14 + *(.data)
  15 +
12 16 #define RODATA \
13 17 . = ALIGN(4096); \
14 18 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \