On Tue, May 24, 2022 at 06:59:50PM +0000, Christophe Leroy wrote: > > > Le 24/05/2022 à 20:02, Peter Zijlstra a écrit : > > On Tue, May 24, 2022 at 08:01:39PM +0200, Peter Zijlstra wrote: > >> On Tue, May 24, 2022 at 03:17:45PM +0200, Christophe Leroy wrote: > >>> From: Sathvika Vasireddy <s...@linux.ibm.com> > >>> > >>> This patch makes sure objtool runs only on the object files > >>> that have ftrace enabled, instead of running on all the object > >>> files. > >>> > >>> Signed-off-by: Naveen N. Rao <naveen.n....@linux.vnet.ibm.com> > >>> Signed-off-by: Sathvika Vasireddy <s...@linux.ibm.com> > >>> Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> > >>> --- > >>> scripts/Makefile.build | 4 ++-- > >>> 1 file changed, 2 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/scripts/Makefile.build b/scripts/Makefile.build > >>> index 2e0c3f9c1459..06ceffd92921 100644 > >>> --- a/scripts/Makefile.build > >>> +++ b/scripts/Makefile.build > >>> @@ -258,8 +258,8 @@ else > >>> # 'OBJECT_FILES_NON_STANDARD_foo.o := 'y': skip objtool checking for a > >>> file > >>> # 'OBJECT_FILES_NON_STANDARD_foo.o := 'n': override directory skip for > >>> a file > >>> > >>> -$(obj)/%.o: objtool-enabled = $(if $(filter-out y%, \ > >>> - > >>> $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n),y) > >>> +$(obj)/%.o: objtool-enabled = $(and $(if $(filter-out y%, > >>> $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n),y), > >>> \ > >>> + $(if $(findstring $(strip $(CC_FLAGS_FTRACE)),$(_c_flags)),y),y) > >> > >> I think this breaks x86, quite a bit of files have ftrace disabled but > >> very much must run objtool anyway. > > > > Also; since the Changelog gives 0 clue as to what problem it's trying to > > solve, I can't suggest anything. > > I asked Sathvika on the previous series, see > https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20220523175548.922671-3...@linux.ibm.com/ > > He says it is to solve the problem I reported at > https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20220318105140.43914-4...@linux.ibm.com/#2861128
So on x86 we have: arch/x86/entry/vdso/Makefile:OBJECT_FILES_NON_STANDARD := y to kill objtool for the whole of the VDSO. When we run objtool on vmlinux it isn't a problem, because the VDSO ends up as a data section through linker scripts.