ARM: vmlinux.lds: move discarded sections to beginning
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 26 May 2011 10:25:33 +0000 (11:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 7 Jul 2011 22:35:38 +0000 (23:35 +0100)
Rather than scattering the discarded sections throughout the linker
file, move them to the start.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/vmlinux.lds.S

index e5287f2..cb46a9b 100644 (file)
@@ -38,6 +38,28 @@ jiffies = jiffies_64 + 4;
 
 SECTIONS
 {
+       /*
+        * unwind exit sections must be discarded before the rest of the
+        * unwind sections get included.
+        */
+       /DISCARD/ : {
+               *(.ARM.exidx.exit.text)
+               *(.ARM.extab.exit.text)
+               ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
+               ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
+#ifndef CONFIG_HOTPLUG
+               *(.ARM.exidx.devexit.text)
+               *(.ARM.extab.devexit.text)
+#endif
+#ifndef CONFIG_MMU
+               *(.fixup)
+               *(__ex_table)
+#endif
+#ifndef CONFIG_SMP_ON_UP
+               *(.alt.smp.init)
+#endif
+       }
+
 #ifdef CONFIG_XIP_KERNEL
        . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR);
 #else
@@ -89,25 +111,6 @@ SECTIONS
        __init_end = .;
 #endif
 
-       /*
-        * unwind exit sections must be discarded before the rest of the
-        * unwind sections get included.
-        */
-       /DISCARD/ : {
-               *(.ARM.exidx.exit.text)
-               *(.ARM.extab.exit.text)
-               ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
-               ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
-#ifndef CONFIG_HOTPLUG
-               *(.ARM.exidx.devexit.text)
-               *(.ARM.extab.devexit.text)
-#endif
-#ifndef CONFIG_MMU
-               *(.fixup)
-               *(__ex_table)
-#endif
-       }
-
        .text : {                       /* Real text segment            */
                _text = .;              /* Text and read-only data      */
                        __exception_text_start = .;
@@ -270,12 +273,6 @@ SECTIONS
 
        /* Default discards */
        DISCARDS
-
-#ifndef CONFIG_SMP_ON_UP
-       /DISCARD/ : {
-               *(.alt.smp.init)
-       }
-#endif
 }
 
 /*