aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2016-09-20 11:20:10 -0400
committerHelge Deller <deller@gmx.de>2016-09-20 12:02:35 -0400
commitb5d5cf2b8a68618a8ec646cab5746e2f539dc244 (patch)
tree3b7bfba3271e602dd2ac0a431426367cde9d2b82
parentd2ffb0103aaefa9b169da042cf39ce27bfb6cdbb (diff)
parisc: Drop BROKEN_RODATA config option
PARISC was the only architecture which selected the BROKEN_RODATA config option. Drop it and remove the special handling from init.h as well. Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--arch/parisc/Kconfig1
-rw-r--r--include/linux/init.h19
-rw-r--r--init/Kconfig6
3 files changed, 4 insertions, 22 deletions
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index af12c2db9bb8..f8dc10dcf292 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -15,7 +15,6 @@ config PARISC
15 select HAVE_PERF_EVENTS 15 select HAVE_PERF_EVENTS
16 select GENERIC_ATOMIC64 if !64BIT 16 select GENERIC_ATOMIC64 if !64BIT
17 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 17 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
18 select BROKEN_RODATA
19 select GENERIC_IRQ_PROBE 18 select GENERIC_IRQ_PROBE
20 select GENERIC_PCI_IOMAP 19 select GENERIC_PCI_IOMAP
21 select ARCH_HAVE_NMI_SAFE_CMPXCHG 20 select ARCH_HAVE_NMI_SAFE_CMPXCHG
diff --git a/include/linux/init.h b/include/linux/init.h
index 6935d02474aa..5a3321a7909b 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -41,22 +41,11 @@
41 discard it in modules) */ 41 discard it in modules) */
42#define __init __section(.init.text) __cold notrace 42#define __init __section(.init.text) __cold notrace
43#define __initdata __section(.init.data) 43#define __initdata __section(.init.data)
44#define __initconst __constsection(.init.rodata) 44#define __initconst __section(.init.rodata)
45#define __exitdata __section(.exit.data) 45#define __exitdata __section(.exit.data)
46#define __exit_call __used __section(.exitcall.exit) 46#define __exit_call __used __section(.exitcall.exit)
47 47
48/* 48/*
49 * Some architecture have tool chains which do not handle rodata attributes
50 * correctly. For those disable special sections for const, so that other
51 * architectures can annotate correctly.
52 */
53#ifdef CONFIG_BROKEN_RODATA
54#define __constsection(x)
55#else
56#define __constsection(x) __section(x)
57#endif
58
59/*
60 * modpost check for section mismatches during the kernel build. 49 * modpost check for section mismatches during the kernel build.
61 * A section mismatch happens when there are references from a 50 * A section mismatch happens when there are references from a
62 * code or data section to an init section (both code or data). 51 * code or data section to an init section (both code or data).
@@ -75,7 +64,7 @@
75 */ 64 */
76#define __ref __section(.ref.text) noinline 65#define __ref __section(.ref.text) noinline
77#define __refdata __section(.ref.data) 66#define __refdata __section(.ref.data)
78#define __refconst __constsection(.ref.rodata) 67#define __refconst __section(.ref.rodata)
79 68
80#ifdef MODULE 69#ifdef MODULE
81#define __exitused 70#define __exitused
@@ -88,10 +77,10 @@
88/* Used for MEMORY_HOTPLUG */ 77/* Used for MEMORY_HOTPLUG */
89#define __meminit __section(.meminit.text) __cold notrace 78#define __meminit __section(.meminit.text) __cold notrace
90#define __meminitdata __section(.meminit.data) 79#define __meminitdata __section(.meminit.data)
91#define __meminitconst __constsection(.meminit.rodata) 80#define __meminitconst __section(.meminit.rodata)
92#define __memexit __section(.memexit.text) __exitused __cold notrace 81#define __memexit __section(.memexit.text) __exitused __cold notrace
93#define __memexitdata __section(.memexit.data) 82#define __memexitdata __section(.memexit.data)
94#define __memexitconst __constsection(.memexit.rodata) 83#define __memexitconst __section(.memexit.rodata)
95 84
96/* For assembly routines */ 85/* For assembly routines */
97#define __HEAD .section ".head.text","ax" 86#define __HEAD .section ".head.text","ax"
diff --git a/init/Kconfig b/init/Kconfig
index cac3f096050d..cc20d7a32112 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2108,12 +2108,6 @@ config PADATA
2108 depends on SMP 2108 depends on SMP
2109 bool 2109 bool
2110 2110
2111# Can be selected by architectures with broken toolchains
2112# that get confused by correct const<->read_only section
2113# mappings
2114config BROKEN_RODATA
2115 bool
2116
2117config ASN1 2111config ASN1
2118 tristate 2112 tristate
2119 help 2113 help