[PATCH 03/14] ARM: v6k: remove CPU_32v6K dependencies in asm/spinlock.h

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Jan 26 07:44:52 EST 2011


On Wed, Jan 26, 2011 at 11:11:31AM +0000, Dave Martin wrote:
> Do we need to consider any other discarded sections?  In vmlinux.lds, I have:
> 
>  /* Default discards */
>  /DISCARD/ : { *(.exit.text) *(.cpuexit.text) *(.memexit.text)
> *(.exit.data) *(.cpuexit.data) *(.cpuexit.rodata) *(.memexit.data)
> *(.memexit.rodata) *(.exitcall.exit) *(.discard) *(.discard.*) }

We need to keep all the text exit stuff, and that could well want
data exit stuff, so I think we need ot keep most of that.  Maybe not
the .discard* stuff though.

> If we put every fixup in its own _section_ we might be able to
> collapse those out of the list at link time too.  However, that seems
> hard to achieve, since in order to do the correct link-time filtering
> we would need the fixup's section name to be based on the referenced
> section's name ... due to preprocessor limitations I don't think we
> can do that automatically (and manual maintenance would be a bad
> plan).

I suspect if it was sanely possible to do, then x86 would already be
doing it as they've had this problem for a lot longer than we have.
It might be worth talking to toolchain people to see if it can be made
to work somehow - but we really don't want to get rid of all discarded
section warnings.

IOW, if we have a text segment which is included in the image and it
references discarded .exit text, we really do want it to fail at link
time.



More information about the linux-arm-kernel mailing list