Re: [PATCH v6 22/25] x86/asm: annotate indirect jumps

From: Sami Tolvanen
Date: Fri Oct 23 2020 - 13:48:31 EST


On Thu, Oct 22, 2020 at 09:25:53AM +0200, Peter Zijlstra wrote:
> On Wed, Oct 21, 2020 at 04:27:47PM -0500, Josh Poimboeuf wrote:
> > On Wed, Oct 21, 2020 at 11:32:13AM +0200, Peter Zijlstra wrote:
> > > On Wed, Oct 21, 2020 at 10:56:06AM +0200, Peter Zijlstra wrote:
> > >
> > > > I do not see these in particular, although I do see a lot of:
> > > >
> > > > "sibling call from callable instruction with modified stack frame"
> > >
> > > defconfig-build/vmlinux.o: warning: objtool: msr_write()+0x10a: sibling call from callable instruction with modified stack frame
> > > defconfig-build/vmlinux.o: warning: objtool: msr_write()+0x99: (branch)
> > > defconfig-build/vmlinux.o: warning: objtool: msr_write()+0x3e: (branch)
> > > defconfig-build/vmlinux.o: warning: objtool: msr_write()+0x0: <=== (sym)
> > >
> > > $ nm defconfig-build/vmlinux.o | grep msr_write
> > > 0000000000043250 t msr_write
> > > 00000000004289c0 T msr_write
> > > 0000000000003056 t msr_write.cold
> > >
> > > Below 'fixes' it. So this is also caused by duplicate symbols.
> >
> > There's a new linker flag for renaming duplicates:
> >
> > https://sourceware.org/bugzilla/show_bug.cgi?id=26391
> >
> > But I guess that doesn't help us now.
>
> Well, depends a bit if clang can do it; we only need this for LTO builds
> for now.

LLD doesn't seem to support -z unique-symbol.

Sami