[PATCH] ARM: Avoid discarding sections that might have SMP_ON_UP fixups

Dave Martin dave.martin at linaro.org
Thu Feb 10 09:11:34 EST 2011


On Thu, Feb 10, 2011 at 12:56 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Wed, Feb 09, 2011 at 02:22:11PM +0000, Russell King - ARM Linux wrote:
>> On Wed, Jan 26, 2011 at 05:25:35PM +0000, Dave P. Martin wrote:
>> > SMP_ON_UP fixups lead to vmlinux link errors if those sections are
>> > discarded at link-time.  In particular this may happen for built-in
>> > __exit stuff.
>> >
>> > This patch modifies the vmlinux linker script to reduce the amount
>> > of discarded sections, and tries to make sure that __exit sections
>> > are kept in.
>> >
>> > This is a hack and probably wrong!  Further discussion is needed.
>>
>> Can you send the configuration which you see this problem with?
>> I've tried to build a kernel which inlines the spinlocks, but I find
>> that's not possible, so I'm doubting whether any fix is required for
>> mainline.
>
> Any news on this, or can it not be reproduced?
>

Hi, apologies-- didn't see my mail for a bit.

I get the problem with this tree and config (which builds with
SMP_ON_UP and THUMB2_KERNEL for omap3/4):

Tree: git://git.linaro.org/people/dmart/linux-2.6-arm.git
dirty/arm/omap-thumb2+merged
Config: http://people.linaro.org/~dmart/arm_omap-thumb2+v2_config

I haven't identified the precise combination of options which causes
the problem, and I don't really understand what the clean solution
would be -- it's on my list of stuff to look at, but not at the top.

Other people not enabling THUMB2_KERNEL have also had the problem
(though I guess that shouldn't make a difference anyway).

I suggested a patch on the binutils mailing list to add a way for
putting fixups in separate, sensibly-named sections which would allow
for a proper fix to this class of problem, but I haven't had any
significant feedback on that ... anyway, that would not be available
on most people's toolchains for a while even if it got accepted --
see:
http://cygwin.com/ml/binutils/2011-02/msg00004.html

Cheers
---Dave



More information about the linux-arm-kernel mailing list