diff options
author | Helge Deller <deller@gmx.de> | 2016-09-20 11:20:10 -0400 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2016-09-20 12:02:35 -0400 |
commit | b5d5cf2b8a68618a8ec646cab5746e2f539dc244 (patch) | |
tree | 3b7bfba3271e602dd2ac0a431426367cde9d2b82 | |
parent | d2ffb0103aaefa9b169da042cf39ce27bfb6cdbb (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/Kconfig | 1 | ||||
-rw-r--r-- | include/linux/init.h | 19 | ||||
-rw-r--r-- | init/Kconfig | 6 |
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 | ||
2114 | config BROKEN_RODATA | ||
2115 | bool | ||
2116 | |||
2117 | config ASN1 | 2111 | config ASN1 |
2118 | tristate | 2112 | tristate |
2119 | help | 2113 | help |