|
@@ -23,8 +23,10 @@
|
|
|
|
|
|
#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)
|
|
#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)
|
|
#define ARM_EXIT_KEEP(x) x
|
|
#define ARM_EXIT_KEEP(x) x
|
|
|
|
+#define ARM_EXIT_DISCARD(x)
|
|
#else
|
|
#else
|
|
#define ARM_EXIT_KEEP(x)
|
|
#define ARM_EXIT_KEEP(x)
|
|
|
|
+#define ARM_EXIT_DISCARD(x) x
|
|
#endif
|
|
#endif
|
|
|
|
|
|
OUTPUT_ARCH(arm)
|
|
OUTPUT_ARCH(arm)
|
|
@@ -39,6 +41,11 @@ jiffies = jiffies_64 + 4;
|
|
SECTIONS
|
|
SECTIONS
|
|
{
|
|
{
|
|
/*
|
|
/*
|
|
|
|
+ * XXX: The linker does not define how output sections are
|
|
|
|
+ * assigned to input sections when there are multiple statements
|
|
|
|
+ * matching the same input section name. There is no documented
|
|
|
|
+ * order of matching.
|
|
|
|
+ *
|
|
* unwind exit sections must be discarded before the rest of the
|
|
* unwind exit sections must be discarded before the rest of the
|
|
* unwind sections get included.
|
|
* unwind sections get included.
|
|
*/
|
|
*/
|
|
@@ -47,6 +54,9 @@ SECTIONS
|
|
*(.ARM.extab.exit.text)
|
|
*(.ARM.extab.exit.text)
|
|
ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
|
|
ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
|
|
ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
|
|
ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
|
|
|
|
+ ARM_EXIT_DISCARD(EXIT_TEXT)
|
|
|
|
+ ARM_EXIT_DISCARD(EXIT_DATA)
|
|
|
|
+ EXIT_CALL
|
|
#ifndef CONFIG_HOTPLUG
|
|
#ifndef CONFIG_HOTPLUG
|
|
*(.ARM.exidx.devexit.text)
|
|
*(.ARM.exidx.devexit.text)
|
|
*(.ARM.extab.devexit.text)
|
|
*(.ARM.extab.devexit.text)
|
|
@@ -58,6 +68,8 @@ SECTIONS
|
|
#ifndef CONFIG_SMP_ON_UP
|
|
#ifndef CONFIG_SMP_ON_UP
|
|
*(.alt.smp.init)
|
|
*(.alt.smp.init)
|
|
#endif
|
|
#endif
|
|
|
|
+ *(.discard)
|
|
|
|
+ *(.discard.*)
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_XIP_KERNEL
|
|
#ifdef CONFIG_XIP_KERNEL
|
|
@@ -279,9 +291,6 @@ SECTIONS
|
|
|
|
|
|
STABS_DEBUG
|
|
STABS_DEBUG
|
|
.comment 0 : { *(.comment) }
|
|
.comment 0 : { *(.comment) }
|
|
-
|
|
|
|
- /* Default discards */
|
|
|
|
- DISCARDS
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|