Re: [PATCH 20/22] x86,word-at-a-time: Remove .fixup usage

Peter Zijlstra
2021-11-09T08:23:29Z

On Mon, Nov 08, 2021 at 10:53:31AM -0800, Nick Desaulniers wrote:
> On Mon, Nov 8, 2021 at 10:29 AM Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > On Mon, Nov 08, 2021 at 08:47:11AM -0800, Josh Poimboeuf wrote:
> > > On Fri, Nov 05, 2021 at 06:10:43PM +0100, Peter Zijlstra wrote:
> > > > +static inline unsigned long load_unaligned_zeropad(const void *addr)
> > > > +{
> > > > + unsigned long offset, data;
> > > > + unsigned long ret;
> > > > +
> > > > + asm_volatile_goto(
> > > > + "1: mov %[mem], %[ret]\n"
> > > > +
> > > > + _ASM_EXTABLE(1b, %l[do_exception])
> > > > +
> > > > + : [ret] "=&r" (ret)
> > > > + : [mem] "m" (*(unsigned long *)addr)
> > > > + : : do_exception);
> > > > +
> > > > +out:
> > > > + return ret;
> > > > +
> > > > +do_exception: __cold;
> > >
> > > Clang doesn't approve of this label annotation:
> > >
> > > In file included from fs/dcache.c:186:
> > > ./arch/x86/include/asm/word-at-a-time.h:99:15: warning: '__cold__' attribute only applies to functions [-Wignored-attributes]
> > > do_exception: __cold;
> >
> > /me mutters something best left unsaid these days...
> >
> > Nick, how come?
>
> Looks like https://bugs.llvm.org/show_bug.cgi?id=47487.

Indeed it does. So what do we do? Keep the attribute and ignore the warn
on clang for now? Even if techinically useless, I do like it's
descriptive nature.