[PATCH v6 15/20] arm64: signal: move ilp32 and lp64 common code to separated file

Arnd Bergmann arnd at arndb.de
Fri Dec 18 06:09:46 PST 2015


On Friday 18 December 2015 16:48:55 Yury Norov wrote:
> On Wed, Dec 16, 2015 at 05:08:35PM +0100, Arnd Bergmann wrote:
> > On Wednesday 16 December 2015 00:42:41 Yury Norov wrote:
> > > +               sigtramp = ka->sa.sa_restorer;
> > > +#ifdef CONFIG_ARM64_ILP32
> > > +       else if (is_ilp32_compat_task())
> > > +               sigtramp = VDSO_SYMBOL(current->mm->context.vdso, sigtramp_ilp32);
> > > +#endif
> > > +       else
> > > +               sigtramp = VDSO_SYMBOL(current->mm->context.vdso, sigtramp);
> > > 
> > 
> > This is another case where I think it's more readable to remove the #ifdef,
> > with no change in behavior.
> > 
> >       Arnd
> 
> No actually. symbol sigtramp_ilp32 is declared in
> arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S
> 
> And so it does not exist if CONFIG_ARM64_ILP32 is not set.

You only need the declaration of that symbol, the compiler's dead code
elimination will ensure that no symbol reference is generated when 
the condition is always false at compile time.

	Arnd



More information about the linux-arm-kernel mailing list