Re: [microblaze-uclinux] [RFC PATCH] linker script: unify usage ofdiscard definition

From: Michal Simek
Date: Mon Jul 06 2009 - 02:18:12 EST




Tejun Heo wrote:
> Discarded sections in different archs share some commonality but have
> considerable differences. This led to linker script for each arch
> implementing its own /DISCARD/ definition, which makes maintaining
> tedious and adding new entries error-prone.
>
> This patch makes all linker scripts to move discard definitions to the
> end of the linker script and use the common DISCARDS macro. As ld
> uses the first matching section definition, archs can include default
> discarded sections by including them earlier in the linker script.
>
> On x86-64 which explicitly includes EXIT_TEXT, this produces identical
> output as before and all but one archs included directives (include or
> discard) for all default discarded sections, so this patch shouldn't
> cause any behavior difference.
>
> The only problem case is microblaze, which didn't explicitly included
> EXIT_TEXT and DATA but didn't discard them either leaving ld to create
> identically names output sections for them. This patch will make the
> end result different by throwing away exit text and data. It looks
> like the ommission was accidental and throwing away is the right thing
> to do, but I won't push it till someone who knows microblaze confirms
> it.

Please include EXIT_TEXT to .text section. EXIT_DATA can be discard. Patch is below.

Tested-by: Michal Simek <monstr@xxxxxxxxx>

Thanks,
Michal


diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
index aa5b0e9..39c0d0b 100644
--- a/arch/microblaze/kernel/vmlinux.lds.S
+++ b/arch/microblaze/kernel/vmlinux.lds.S
@@ -23,8 +23,8 @@ SECTIONS {
_stext = . ;
*(.text .text.*)
*(.fixup)
-
- *(.exitcall.exit)
+ EXIT_TEXT
+ EXIT_CALL
SCHED_TEXT
LOCK_TEXT
KPROBES_TEXT


--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/