diff options
| author | Andrew Morton <akpm@osdl.org> | 2006-10-27 14:41:44 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-27 18:34:51 -0400 |
| commit | 61ce1efe6e40233663d27ab8ac9ba9710eebcaad (patch) | |
| tree | 782640f26f39b96fbce595883dabbeadb550dd15 | |
| parent | e80391500078b524083ba51c3df01bbaaecc94bb (diff) | |
[PATCH] vmlinux.lds: consolidate initcall sections
Add a vmlinux.lds.h helper macro for defining the eight-level initcall table,
teach all the architectures to use it.
This is a prerequisite for a patch which performs initcall synchronisation for
multithreaded-probing.
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
[ Added AVR32 as well ]
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | arch/alpha/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/avr32/kernel/vmlinux.lds.c | 8 | ||||
| -rw-r--r-- | arch/frv/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/h8300/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/i386/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/ia64/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/m32r/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/m68knommu/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/mips/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/parisc/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/powerpc/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/ppc/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/s390/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/sh/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/sh64/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/sparc/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/sparc64/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/v850/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | arch/xtensa/kernel/vmlinux.lds.S | 8 | ||||
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 10 |
22 files changed, 31 insertions, 147 deletions
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S index 71470e9d93ba..76bf071e376c 100644 --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S | |||
| @@ -48,13 +48,7 @@ SECTIONS | |||
| 48 | . = ALIGN(8); | 48 | . = ALIGN(8); |
| 49 | __initcall_start = .; | 49 | __initcall_start = .; |
| 50 | .initcall.init : { | 50 | .initcall.init : { |
| 51 | *(.initcall1.init) | 51 | INITCALLS |
| 52 | *(.initcall2.init) | ||
| 53 | *(.initcall3.init) | ||
| 54 | *(.initcall4.init) | ||
| 55 | *(.initcall5.init) | ||
| 56 | *(.initcall6.init) | ||
| 57 | *(.initcall7.init) | ||
| 58 | } | 52 | } |
| 59 | __initcall_end = .; | 53 | __initcall_end = .; |
| 60 | 54 | ||
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 3ca574ee2772..a8fa75ea07a9 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
| @@ -45,13 +45,7 @@ SECTIONS | |||
| 45 | *(.early_param.init) | 45 | *(.early_param.init) |
| 46 | __early_end = .; | 46 | __early_end = .; |
| 47 | __initcall_start = .; | 47 | __initcall_start = .; |
| 48 | *(.initcall1.init) | 48 | INITCALLS |
| 49 | *(.initcall2.init) | ||
| 50 | *(.initcall3.init) | ||
| 51 | *(.initcall4.init) | ||
| 52 | *(.initcall5.init) | ||
| 53 | *(.initcall6.init) | ||
| 54 | *(.initcall7.init) | ||
| 55 | __initcall_end = .; | 49 | __initcall_end = .; |
| 56 | __con_initcall_start = .; | 50 | __con_initcall_start = .; |
| 57 | *(.con_initcall.init) | 51 | *(.con_initcall.init) |
diff --git a/arch/avr32/kernel/vmlinux.lds.c b/arch/avr32/kernel/vmlinux.lds.c index cdd627c6b7dc..5c4424e362b5 100644 --- a/arch/avr32/kernel/vmlinux.lds.c +++ b/arch/avr32/kernel/vmlinux.lds.c | |||
| @@ -38,13 +38,7 @@ SECTIONS | |||
| 38 | __setup_end = .; | 38 | __setup_end = .; |
| 39 | . = ALIGN(4); | 39 | . = ALIGN(4); |
| 40 | __initcall_start = .; | 40 | __initcall_start = .; |
| 41 | *(.initcall1.init) | 41 | INITCALLS |
| 42 | *(.initcall2.init) | ||
| 43 | *(.initcall3.init) | ||
| 44 | *(.initcall4.init) | ||
| 45 | *(.initcall5.init) | ||
| 46 | *(.initcall6.init) | ||
| 47 | *(.initcall7.init) | ||
| 48 | __initcall_end = .; | 42 | __initcall_end = .; |
| 49 | __con_initcall_start = .; | 43 | __con_initcall_start = .; |
| 50 | *(.con_initcall.init) | 44 | *(.con_initcall.init) |
diff --git a/arch/frv/kernel/vmlinux.lds.S b/arch/frv/kernel/vmlinux.lds.S index f474534ba78a..9c1fb12367fa 100644 --- a/arch/frv/kernel/vmlinux.lds.S +++ b/arch/frv/kernel/vmlinux.lds.S | |||
| @@ -44,13 +44,7 @@ SECTIONS | |||
| 44 | 44 | ||
| 45 | __initcall_start = .; | 45 | __initcall_start = .; |
| 46 | .initcall.init : { | 46 | .initcall.init : { |
| 47 | *(.initcall1.init) | 47 | INITCALLS |
| 48 | *(.initcall2.init) | ||
| 49 | *(.initcall3.init) | ||
| 50 | *(.initcall4.init) | ||
| 51 | *(.initcall5.init) | ||
| 52 | *(.initcall6.init) | ||
| 53 | *(.initcall7.init) | ||
| 54 | } | 48 | } |
| 55 | __initcall_end = .; | 49 | __initcall_end = .; |
| 56 | __con_initcall_start = .; | 50 | __con_initcall_start = .; |
diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S index 6406c388f88a..756325dd480e 100644 --- a/arch/h8300/kernel/vmlinux.lds.S +++ b/arch/h8300/kernel/vmlinux.lds.S | |||
| @@ -118,13 +118,7 @@ SECTIONS | |||
| 118 | . = ALIGN(0x4) ; | 118 | . = ALIGN(0x4) ; |
| 119 | ___setup_end = .; | 119 | ___setup_end = .; |
| 120 | ___initcall_start = .; | 120 | ___initcall_start = .; |
| 121 | *(.initcall1.init) | 121 | INITCALLS |
| 122 | *(.initcall2.init) | ||
| 123 | *(.initcall3.init) | ||
| 124 | *(.initcall4.init) | ||
| 125 | *(.initcall5.init) | ||
| 126 | *(.initcall6.init) | ||
| 127 | *(.initcall7.init) | ||
| 128 | ___initcall_end = .; | 122 | ___initcall_end = .; |
| 129 | ___con_initcall_start = .; | 123 | ___con_initcall_start = .; |
| 130 | *(.con_initcall.init) | 124 | *(.con_initcall.init) |
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S index 1e7ac1c44ddc..adc1f232afee 100644 --- a/arch/i386/kernel/vmlinux.lds.S +++ b/arch/i386/kernel/vmlinux.lds.S | |||
| @@ -126,13 +126,7 @@ SECTIONS | |||
| 126 | __setup_end = .; | 126 | __setup_end = .; |
| 127 | __initcall_start = .; | 127 | __initcall_start = .; |
| 128 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | 128 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { |
| 129 | *(.initcall1.init) | 129 | INITCALLS |
| 130 | *(.initcall2.init) | ||
| 131 | *(.initcall3.init) | ||
| 132 | *(.initcall4.init) | ||
| 133 | *(.initcall5.init) | ||
| 134 | *(.initcall6.init) | ||
| 135 | *(.initcall7.init) | ||
| 136 | } | 130 | } |
| 137 | __initcall_end = .; | 131 | __initcall_end = .; |
| 138 | __con_initcall_start = .; | 132 | __con_initcall_start = .; |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index b3b2e389d6b2..d6083a0936f4 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
| @@ -128,13 +128,7 @@ SECTIONS | |||
| 128 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) | 128 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) |
| 129 | { | 129 | { |
| 130 | __initcall_start = .; | 130 | __initcall_start = .; |
| 131 | *(.initcall1.init) | 131 | INITCALLS |
| 132 | *(.initcall2.init) | ||
| 133 | *(.initcall3.init) | ||
| 134 | *(.initcall4.init) | ||
| 135 | *(.initcall5.init) | ||
| 136 | *(.initcall6.init) | ||
| 137 | *(.initcall7.init) | ||
| 138 | __initcall_end = .; | 132 | __initcall_end = .; |
| 139 | } | 133 | } |
| 140 | 134 | ||
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S index 13c7bb698e37..358b9cee2c65 100644 --- a/arch/m32r/kernel/vmlinux.lds.S +++ b/arch/m32r/kernel/vmlinux.lds.S | |||
| @@ -83,13 +83,7 @@ SECTIONS | |||
| 83 | __setup_end = .; | 83 | __setup_end = .; |
| 84 | __initcall_start = .; | 84 | __initcall_start = .; |
| 85 | .initcall.init : { | 85 | .initcall.init : { |
| 86 | *(.initcall1.init) | 86 | INITCALLS |
| 87 | *(.initcall2.init) | ||
| 88 | *(.initcall3.init) | ||
| 89 | *(.initcall4.init) | ||
| 90 | *(.initcall5.init) | ||
| 91 | *(.initcall6.init) | ||
| 92 | *(.initcall7.init) | ||
| 93 | } | 87 | } |
| 94 | __initcall_end = .; | 88 | __initcall_end = .; |
| 95 | __con_initcall_start = .; | 89 | __con_initcall_start = .; |
diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S index ccd2ceb05cfb..58afa8be604e 100644 --- a/arch/m68knommu/kernel/vmlinux.lds.S +++ b/arch/m68knommu/kernel/vmlinux.lds.S | |||
| @@ -140,13 +140,7 @@ SECTIONS { | |||
| 140 | *(.init.setup) | 140 | *(.init.setup) |
| 141 | __setup_end = .; | 141 | __setup_end = .; |
| 142 | __initcall_start = .; | 142 | __initcall_start = .; |
| 143 | *(.initcall1.init) | 143 | INITCALLS |
| 144 | *(.initcall2.init) | ||
| 145 | *(.initcall3.init) | ||
| 146 | *(.initcall4.init) | ||
| 147 | *(.initcall5.init) | ||
| 148 | *(.initcall6.init) | ||
| 149 | *(.initcall7.init) | ||
| 150 | __initcall_end = .; | 144 | __initcall_end = .; |
| 151 | __con_initcall_start = .; | 145 | __con_initcall_start = .; |
| 152 | *(.con_initcall.init) | 146 | *(.con_initcall.init) |
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 0bb9cd889456..25ed3337ce35 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
| @@ -91,13 +91,7 @@ SECTIONS | |||
| 91 | 91 | ||
| 92 | __initcall_start = .; | 92 | __initcall_start = .; |
| 93 | .initcall.init : { | 93 | .initcall.init : { |
| 94 | *(.initcall1.init) | 94 | INITCALLS |
| 95 | *(.initcall2.init) | ||
| 96 | *(.initcall3.init) | ||
| 97 | *(.initcall4.init) | ||
| 98 | *(.initcall5.init) | ||
| 99 | *(.initcall6.init) | ||
| 100 | *(.initcall7.init) | ||
| 101 | } | 95 | } |
| 102 | __initcall_end = .; | 96 | __initcall_end = .; |
| 103 | 97 | ||
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index b3677fc8eef5..7b943b45f7cd 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
| @@ -153,13 +153,7 @@ SECTIONS | |||
| 153 | __setup_end = .; | 153 | __setup_end = .; |
| 154 | __initcall_start = .; | 154 | __initcall_start = .; |
| 155 | .initcall.init : { | 155 | .initcall.init : { |
| 156 | *(.initcall1.init) | 156 | INITCALLS |
| 157 | *(.initcall2.init) | ||
| 158 | *(.initcall3.init) | ||
| 159 | *(.initcall4.init) | ||
| 160 | *(.initcall5.init) | ||
| 161 | *(.initcall6.init) | ||
| 162 | *(.initcall7.init) | ||
| 163 | } | 157 | } |
| 164 | __initcall_end = .; | 158 | __initcall_end = .; |
| 165 | __con_initcall_start = .; | 159 | __con_initcall_start = .; |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index cb0e8d46c3e8..e8342d867536 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
| @@ -108,13 +108,7 @@ SECTIONS | |||
| 108 | 108 | ||
| 109 | .initcall.init : { | 109 | .initcall.init : { |
| 110 | __initcall_start = .; | 110 | __initcall_start = .; |
| 111 | *(.initcall1.init) | 111 | INITCALLS |
| 112 | *(.initcall2.init) | ||
| 113 | *(.initcall3.init) | ||
| 114 | *(.initcall4.init) | ||
| 115 | *(.initcall5.init) | ||
| 116 | *(.initcall6.init) | ||
| 117 | *(.initcall7.init) | ||
| 118 | __initcall_end = .; | 112 | __initcall_end = .; |
| 119 | } | 113 | } |
| 120 | 114 | ||
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S index 095fd3323323..16e8661e1fec 100644 --- a/arch/ppc/kernel/vmlinux.lds.S +++ b/arch/ppc/kernel/vmlinux.lds.S | |||
| @@ -115,13 +115,7 @@ SECTIONS | |||
| 115 | __setup_end = .; | 115 | __setup_end = .; |
| 116 | __initcall_start = .; | 116 | __initcall_start = .; |
| 117 | .initcall.init : { | 117 | .initcall.init : { |
| 118 | *(.initcall1.init) | 118 | INITCALLS |
| 119 | *(.initcall2.init) | ||
| 120 | *(.initcall3.init) | ||
| 121 | *(.initcall4.init) | ||
| 122 | *(.initcall5.init) | ||
| 123 | *(.initcall6.init) | ||
| 124 | *(.initcall7.init) | ||
| 125 | } | 119 | } |
| 126 | __initcall_end = .; | 120 | __initcall_end = .; |
| 127 | 121 | ||
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index af9e69a03011..fe0f2e97ba7b 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
| @@ -83,13 +83,7 @@ SECTIONS | |||
| 83 | __setup_end = .; | 83 | __setup_end = .; |
| 84 | __initcall_start = .; | 84 | __initcall_start = .; |
| 85 | .initcall.init : { | 85 | .initcall.init : { |
| 86 | *(.initcall1.init) | 86 | INITCALLS |
| 87 | *(.initcall2.init) | ||
| 88 | *(.initcall3.init) | ||
| 89 | *(.initcall4.init) | ||
| 90 | *(.initcall5.init) | ||
| 91 | *(.initcall6.init) | ||
| 92 | *(.initcall7.init) | ||
| 93 | } | 87 | } |
| 94 | __initcall_end = .; | 88 | __initcall_end = .; |
| 95 | __con_initcall_start = .; | 89 | __con_initcall_start = .; |
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 5eb930918186..77b4026d5688 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S | |||
| @@ -76,13 +76,7 @@ SECTIONS | |||
| 76 | __setup_end = .; | 76 | __setup_end = .; |
| 77 | __initcall_start = .; | 77 | __initcall_start = .; |
| 78 | .initcall.init : { | 78 | .initcall.init : { |
| 79 | *(.initcall1.init) | 79 | INITCALLS |
| 80 | *(.initcall2.init) | ||
| 81 | *(.initcall3.init) | ||
| 82 | *(.initcall4.init) | ||
| 83 | *(.initcall5.init) | ||
| 84 | *(.initcall6.init) | ||
| 85 | *(.initcall7.init) | ||
| 86 | } | 80 | } |
| 87 | __initcall_end = .; | 81 | __initcall_end = .; |
| 88 | __con_initcall_start = .; | 82 | __con_initcall_start = .; |
diff --git a/arch/sh64/kernel/vmlinux.lds.S b/arch/sh64/kernel/vmlinux.lds.S index a8fcc3a71585..95c4d753e357 100644 --- a/arch/sh64/kernel/vmlinux.lds.S +++ b/arch/sh64/kernel/vmlinux.lds.S | |||
| @@ -108,13 +108,7 @@ SECTIONS | |||
| 108 | __setup_end = .; | 108 | __setup_end = .; |
| 109 | __initcall_start = .; | 109 | __initcall_start = .; |
| 110 | .initcall.init : C_PHYS(.initcall.init) { | 110 | .initcall.init : C_PHYS(.initcall.init) { |
| 111 | *(.initcall1.init) | 111 | INITCALLS |
| 112 | *(.initcall2.init) | ||
| 113 | *(.initcall3.init) | ||
| 114 | *(.initcall4.init) | ||
| 115 | *(.initcall5.init) | ||
| 116 | *(.initcall6.init) | ||
| 117 | *(.initcall7.init) | ||
| 118 | } | 112 | } |
| 119 | __initcall_end = .; | 113 | __initcall_end = .; |
| 120 | __con_initcall_start = .; | 114 | __con_initcall_start = .; |
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S index 1dd78c84888a..5cc5ff7f8824 100644 --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S | |||
| @@ -49,13 +49,7 @@ SECTIONS | |||
| 49 | __setup_end = .; | 49 | __setup_end = .; |
| 50 | __initcall_start = .; | 50 | __initcall_start = .; |
| 51 | .initcall.init : { | 51 | .initcall.init : { |
| 52 | *(.initcall1.init) | 52 | INITCALLS |
| 53 | *(.initcall2.init) | ||
| 54 | *(.initcall3.init) | ||
| 55 | *(.initcall4.init) | ||
| 56 | *(.initcall5.init) | ||
| 57 | *(.initcall6.init) | ||
| 58 | *(.initcall7.init) | ||
| 59 | } | 53 | } |
| 60 | __initcall_end = .; | 54 | __initcall_end = .; |
| 61 | __con_initcall_start = .; | 55 | __con_initcall_start = .; |
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S index b097379a49a8..bd9de8c2a2aa 100644 --- a/arch/sparc64/kernel/vmlinux.lds.S +++ b/arch/sparc64/kernel/vmlinux.lds.S | |||
| @@ -57,13 +57,7 @@ SECTIONS | |||
| 57 | __setup_end = .; | 57 | __setup_end = .; |
| 58 | __initcall_start = .; | 58 | __initcall_start = .; |
| 59 | .initcall.init : { | 59 | .initcall.init : { |
| 60 | *(.initcall1.init) | 60 | INITCALLS |
| 61 | *(.initcall2.init) | ||
| 62 | *(.initcall3.init) | ||
| 63 | *(.initcall4.init) | ||
| 64 | *(.initcall5.init) | ||
| 65 | *(.initcall6.init) | ||
| 66 | *(.initcall7.init) | ||
| 67 | } | 61 | } |
| 68 | __initcall_end = .; | 62 | __initcall_end = .; |
| 69 | __con_initcall_start = .; | 63 | __con_initcall_start = .; |
diff --git a/arch/v850/kernel/vmlinux.lds.S b/arch/v850/kernel/vmlinux.lds.S index 63399219cd9f..88d087f527c9 100644 --- a/arch/v850/kernel/vmlinux.lds.S +++ b/arch/v850/kernel/vmlinux.lds.S | |||
| @@ -140,13 +140,7 @@ | |||
| 140 | ___setup_end = . ; \ | 140 | ___setup_end = . ; \ |
| 141 | ___initcall_start = . ; \ | 141 | ___initcall_start = . ; \ |
| 142 | *(.initcall.init) \ | 142 | *(.initcall.init) \ |
| 143 | *(.initcall1.init) \ | 143 | INITCALLS \ |
| 144 | *(.initcall2.init) \ | ||
| 145 | *(.initcall3.init) \ | ||
| 146 | *(.initcall4.init) \ | ||
| 147 | *(.initcall5.init) \ | ||
| 148 | *(.initcall6.init) \ | ||
| 149 | *(.initcall7.init) \ | ||
| 150 | . = ALIGN (4) ; \ | 144 | . = ALIGN (4) ; \ |
| 151 | ___initcall_end = . ; \ | 145 | ___initcall_end = . ; \ |
| 152 | ___con_initcall_start = .; \ | 146 | ___con_initcall_start = .; \ |
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 1283614c9b24..edb24aa714b4 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
| @@ -175,13 +175,7 @@ SECTIONS | |||
| 175 | __setup_end = .; | 175 | __setup_end = .; |
| 176 | __initcall_start = .; | 176 | __initcall_start = .; |
| 177 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | 177 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { |
| 178 | *(.initcall1.init) | 178 | INITCALLS |
| 179 | *(.initcall2.init) | ||
| 180 | *(.initcall3.init) | ||
| 181 | *(.initcall4.init) | ||
| 182 | *(.initcall5.init) | ||
| 183 | *(.initcall6.init) | ||
| 184 | *(.initcall7.init) | ||
| 185 | } | 179 | } |
| 186 | __initcall_end = .; | 180 | __initcall_end = .; |
| 187 | __con_initcall_start = .; | 181 | __con_initcall_start = .; |
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index ab6cdbd5eb68..cfe75f528725 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
| @@ -184,13 +184,7 @@ SECTIONS | |||
| 184 | 184 | ||
| 185 | __initcall_start = .; | 185 | __initcall_start = .; |
| 186 | .initcall.init : { | 186 | .initcall.init : { |
| 187 | *(.initcall1.init) | 187 | INITCALLS |
| 188 | *(.initcall2.init) | ||
| 189 | *(.initcall3.init) | ||
| 190 | *(.initcall4.init) | ||
| 191 | *(.initcall5.init) | ||
| 192 | *(.initcall6.init) | ||
| 193 | *(.initcall7.init) | ||
| 194 | } | 188 | } |
| 195 | __initcall_end = .; | 189 | __initcall_end = .; |
| 196 | 190 | ||
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 9d0d11c180d9..e3e83bcaf710 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -213,3 +213,13 @@ | |||
| 213 | 213 | ||
| 214 | #define NOTES \ | 214 | #define NOTES \ |
| 215 | .notes : { *(.note.*) } :note | 215 | .notes : { *(.note.*) } :note |
| 216 | |||
| 217 | #define INITCALLS \ | ||
| 218 | *(.initcall1.init) \ | ||
| 219 | *(.initcall2.init) \ | ||
| 220 | *(.initcall3.init) \ | ||
| 221 | *(.initcall4.init) \ | ||
| 222 | *(.initcall5.init) \ | ||
| 223 | *(.initcall6.init) \ | ||
| 224 | *(.initcall7.init) | ||
| 225 | |||
