diff options
| author | Nicolas Pitre <nico@cam.org> | 2005-10-13 17:04:37 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-13 17:04:37 -0400 |
| commit | 13b1f64c16e2eb96a021b49cf3986528046ba3dc (patch) | |
| tree | b8220efc2177dc7fb041b9490a42b36f7bfeb177 | |
| parent | 50688ea9ed6fe154058c065bc7dc60980533a2c8 (diff) | |
[ARM] 3008/1: the exception table is not read-only
Patch from Nicolas Pitre
... and therefore should not live in the .text section.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 08e58ecd44be..0d5db5279c5c 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
| @@ -89,13 +89,6 @@ SECTIONS | |||
| 89 | *(.got) /* Global offset table */ | 89 | *(.got) /* Global offset table */ |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | . = ALIGN(16); | ||
| 93 | __ex_table : { /* Exception table */ | ||
| 94 | __start___ex_table = .; | ||
| 95 | *(__ex_table) | ||
| 96 | __stop___ex_table = .; | ||
| 97 | } | ||
| 98 | |||
| 99 | RODATA | 92 | RODATA |
| 100 | 93 | ||
| 101 | _etext = .; /* End of text and rodata section */ | 94 | _etext = .; /* End of text and rodata section */ |
| @@ -138,6 +131,14 @@ SECTIONS | |||
| 138 | *(.data.cacheline_aligned) | 131 | *(.data.cacheline_aligned) |
| 139 | 132 | ||
| 140 | /* | 133 | /* |
| 134 | * The exception fixup table (might need resorting at runtime) | ||
| 135 | */ | ||
| 136 | . = ALIGN(32); | ||
| 137 | __start___ex_table = .; | ||
| 138 | *(__ex_table) | ||
| 139 | __stop___ex_table = .; | ||
| 140 | |||
| 141 | /* | ||
| 141 | * and the usual data section | 142 | * and the usual data section |
| 142 | */ | 143 | */ |
| 143 | *(.data) | 144 | *(.data) |
