Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-3.10.git] / arch / arm / kernel / vmlinux.lds.S
index 36ff15b..b571484 100644 (file)
        ALIGN_FUNCTION();                                               \
        VMLINUX_SYMBOL(__idmap_text_start) = .;                         \
        *(.idmap.text)                                                  \
-       VMLINUX_SYMBOL(__idmap_text_end) = .;
+       VMLINUX_SYMBOL(__idmap_text_end) = .;                           \
+       ALIGN_FUNCTION();                                               \
+       VMLINUX_SYMBOL(__hyp_idmap_text_start) = .;                     \
+       *(.hyp.idmap.text)                                              \
+       VMLINUX_SYMBOL(__hyp_idmap_text_end) = .;
 
 #ifdef CONFIG_HOTPLUG_CPU
 #define ARM_CPU_DISCARD(x)
@@ -114,6 +118,15 @@ SECTIONS
 
        RO_DATA(PAGE_SIZE)
 
+       . = ALIGN(4);
+       __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
+               __start___ex_table = .;
+#ifdef CONFIG_MMU
+               *(__ex_table)
+#endif
+               __stop___ex_table = .;
+       }
+
 #ifdef CONFIG_ARM_UNWIND
        /*
         * Stack unwinding tables
@@ -131,6 +144,8 @@ SECTIONS
        }
 #endif
 
+       NOTES
+
        _etext = .;                     /* End of text and rodata section */
 
 #ifndef CONFIG_XIP_KERNEL
@@ -220,16 +235,6 @@ SECTIONS
                READ_MOSTLY_DATA(L1_CACHE_BYTES)
 
                /*
-                * The exception fixup table (might need resorting at runtime)
-                */
-               . = ALIGN(4);
-               __start___ex_table = .;
-#ifdef CONFIG_MMU
-               *(__ex_table)
-#endif
-               __stop___ex_table = .;
-
-               /*
                 * and the usual data section
                 */
                DATA_DATA
@@ -296,8 +301,6 @@ SECTIONS
        }
 #endif
 
-       NOTES
-
        BSS_SECTION(0, 0, 0)
        _end = .;