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