[ARM] 3008/1: the exception table is not read-only
Nicolas Pitre [Thu, 13 Oct 2005 21:04:37 +0000 (22:04 +0100)]
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>

arch/arm/kernel/vmlinux.lds.S

index 08e58ec..0d5db52 100644 (file)
@@ -89,13 +89,6 @@ SECTIONS
                *(.got)                 /* Global offset table          */
        }
 
-       . = ALIGN(16);
-       __ex_table : {                  /* Exception table              */
-               __start___ex_table = .;
-                       *(__ex_table)
-               __stop___ex_table = .;
-       }
-
        RODATA
 
        _etext = .;                     /* End of text and rodata section */
@@ -138,6 +131,14 @@ SECTIONS
                *(.data.cacheline_aligned)
 
                /*
+                * The exception fixup table (might need resorting at runtime)
+                */
+               . = ALIGN(32);
+               __start___ex_table = .;
+               *(__ex_table)
+               __stop___ex_table = .;
+
+               /*
                 * and the usual data section
                 */
                *(.data)