Re: Remaining randconfig objtool warnings, linux-next-20200428

From: Josh Poimboeuf
Date: Thu Apr 30 2020 - 17:11:01 EST


On Thu, Apr 30, 2020 at 10:59:44PM +0200, Arnd Bergmann wrote:
> On Thu, Apr 30, 2020 at 9:46 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> > On Thu, Apr 30, 2020 at 09:33:50AM -0500, Josh Poimboeuf wrote:
>
> >
> > So there's an easy fix below, just define an x86-specific SYSCALL_ALIAS.
> > It also requries moving the syscall alias macros to syscalls.h, but
> > that's probably where they belong anyway.
> >
> > But the objtool .cold parent alias function detection is a little
> > smelly, so I might end up cleaning that up instead if I can figure out a
> > good way to do it.
> >
> > diff --git a/arch/x86/include/asm/syscall_wrapper.h b/arch/x86/include/asm/syscall_wrapper.h
> > index a84333adeef2..abe6e633f8dc 100644
> > --- a/arch/x86/include/asm/syscall_wrapper.h
> > +++ b/arch/x86/include/asm/syscall_wrapper.h
> > @@ -79,6 +79,8 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
> > return __se_##name(__VA_ARGS__); \
> > }
> >
> > +#define SYSCALL_ALIAS(alias, name) __alias(name) typeof(name) alias
> > +
>
> Right, this should work in principle, though I suspect it needs to be
> changed to include the ABI name for x86, as there are separate
> entry points for 32 and 64 bit.

As far as I can tell it should actually work, because of the
x86-specific SYS_NI macro.

--
Josh