Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux...
[sfrench/cifs-2.6.git] / arch / arm / kernel / vmlinux.lds.S
index aecf87dfbaec2357355889871e6bc6e43412a5f3..71151bd87a367efce4985e309cb159d6604b9f8d 100644 (file)
@@ -24,13 +24,11 @@ SECTIONS
 #else
        . = PAGE_OFFSET + TEXT_OFFSET;
 #endif
-       .text.head : {
-               _stext = .;
-               _sinittext = .;
-               *(.text.head)
-       }
 
        .init : {                       /* Init code and data           */
+               _stext = .;
+               _sinittext = .;
+                       HEAD_TEXT
                        INIT_TEXT
                _einittext = .;
                __proc_info_begin = .;
@@ -42,43 +40,31 @@ SECTIONS
                __tagtable_begin = .;
                        *(.taglist.init)
                __tagtable_end = .;
-               . = ALIGN(16);
-               __setup_start = .;
-                       *(.init.setup)
-               __setup_end = .;
+
+               INIT_SETUP(16)
+
                __early_begin = .;
                        *(.early_param.init)
                __early_end = .;
-               __initcall_start = .;
-                       INITCALLS
-               __initcall_end = .;
-               __con_initcall_start = .;
-                       *(.con_initcall.init)
-               __con_initcall_end = .;
-               __security_initcall_start = .;
-                       *(.security_initcall.init)
-               __security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-               . = ALIGN(32);
-               __initramfs_start = .;
-                       usr/built-in.o(.init.ramfs)
-               __initramfs_end = .;
-#endif
-               . = ALIGN(PAGE_SIZE);
-               __per_cpu_load = .;
-               __per_cpu_start = .;
-                       *(.data.percpu.page_aligned)
-                       *(.data.percpu)
-                       *(.data.percpu.shared_aligned)
-               __per_cpu_end = .;
+
+               INIT_CALLS
+               CON_INITCALL
+               SECURITY_INITCALL
+               INIT_RAM_FS
+
 #ifndef CONFIG_XIP_KERNEL
                __init_begin = _stext;
                INIT_DATA
-               . = ALIGN(PAGE_SIZE);
-               __init_end = .;
 #endif
        }
 
+       PERCPU(PAGE_SIZE)
+
+#ifndef CONFIG_XIP_KERNEL
+       . = ALIGN(PAGE_SIZE);
+       __init_end = .;
+#endif
+
        /DISCARD/ : {                   /* Exit code and data           */
                EXIT_TEXT
                EXIT_DATA
@@ -157,7 +143,7 @@ SECTIONS
                 * first, the init task union, aligned
                 * to an 8192 byte boundary.
                 */
-               *(.data.init_task)
+               INIT_TASK_DATA(THREAD_SIZE)
 
 #ifdef CONFIG_XIP_KERNEL
                . = ALIGN(PAGE_SIZE);
@@ -167,17 +153,8 @@ SECTIONS
                __init_end = .;
 #endif
 
-               . = ALIGN(PAGE_SIZE);
-               __nosave_begin = .;
-               *(.data.nosave)
-               . = ALIGN(PAGE_SIZE);
-               __nosave_end = .;
-
-               /*
-                * then the cacheline aligned data
-                */
-               . = ALIGN(32);
-               *(.data.cacheline_aligned)
+               NOSAVE_DATA
+               CACHELINE_ALIGNED_DATA(32)
 
                /*
                 * The exception fixup table (might need resorting at runtime)
@@ -256,20 +233,10 @@ SECTIONS
        }
 #endif
 
-       .bss : {
-               __bss_start = .;        /* BSS                          */
-               *(.bss)
-               *(COMMON)
-               __bss_stop = .;
-               _end = .;
-       }
-                                       /* Stabs debugging sections.    */
-       .stab 0 : { *(.stab) }
-       .stabstr 0 : { *(.stabstr) }
-       .stab.excl 0 : { *(.stab.excl) }
-       .stab.exclstr 0 : { *(.stab.exclstr) }
-       .stab.index 0 : { *(.stab.index) }
-       .stab.indexstr 0 : { *(.stab.indexstr) }
+       BSS_SECTION(0, 0, 0)
+       _end = .;
+
+       STABS_DEBUG
        .comment 0 : { *(.comment) }
 }