Message ID | 20240422092206.147078-1-sv@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC,1/2] objtool: Run objtool only if either of the config options are selected | expand |
On Mon, Apr 22, 2024 at 6:25 PM Sathvika Vasireddy <sv@linux.ibm.com> wrote: > > Currently, when objtool is enabled and none of the supported options > are triggered, kernel build errors out with the below error: > error: objtool: At least one command required. Then, I think CONFIG_OBJTOOL should be disabled. > > To address this, ensure that objtool is run only when either of the > config options are selected. > > Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> > --- > scripts/Makefile.lib | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 3179747cbd2c..c65bb0fbd136 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -286,7 +286,10 @@ objtool-args = $(objtool-args-y) \ > > delay-objtool := $(or $(CONFIG_LTO_CLANG),$(CONFIG_X86_KERNEL_IBT)) > > +ifneq ($(objtool-args-y),) > cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool-args) $@) > +endif > + > cmd_gen_objtooldep = $(if $(objtool-enabled), { echo ; echo '$@: $$(wildcard $(objtool))' ; } >> $(dot-target).cmd) > > endif # CONFIG_OBJTOOL > -- > 2.34.1 >
On Tue, Apr 23, 2024 at 1:19 AM Sathvika Vasireddy <sv@linux.vnet.ibm.com> wrote: > > Hi Masahiro, thanks for reviewing. > > On 4/22/24 5:39 PM, Masahiro Yamada wrote: > > On Mon, Apr 22, 2024 at 6:25 PM Sathvika Vasireddy <sv@linux.ibm.com> wrote: > > Currently, when objtool is enabled and none of the supported options > are triggered, kernel build errors out with the below error: > error: objtool: At least one command required. > > Then, I think CONFIG_OBJTOOL should be disabled. > > A subsequent patch introduces --ftr-fixup as an option to objtool to do feature fixup at build-time via CONFIG_HAVE_OBJTOOL_FTR_FIXUP option. If CONFIG_OBJTOOL is not selected, then objtool cannot be used to pass --ftr-fixup option. > > In cases where none of the supported options (like --mcount on powerpc for example) is triggered, but still require --ftr-fixup option to be passed to objtool, we see "error: objtool: At least one command required" errors. So, to address this, run only when either of the config options are selected. > > Thanks, > Sathvika Same as my first comment. Bad things happen because you select OBJTOOL. Preferably, this should be a separate program as in the first draft, but if you insist on integrating it into objtool, I recommend keeping CONFIG_OBJTOOL and CONFIG_HAVE_OBJTOOL_FTR_FIXUP as separate, unlated options. I attach a fix-up patch applicable on top of your work.
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 3179747cbd2c..c65bb0fbd136 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -286,7 +286,10 @@ objtool-args = $(objtool-args-y) \ delay-objtool := $(or $(CONFIG_LTO_CLANG),$(CONFIG_X86_KERNEL_IBT)) +ifneq ($(objtool-args-y),) cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool-args) $@) +endif + cmd_gen_objtooldep = $(if $(objtool-enabled), { echo ; echo '$@: $$(wildcard $(objtool))' ; } >> $(dot-target).cmd) endif # CONFIG_OBJTOOL
Currently, when objtool is enabled and none of the supported options are triggered, kernel build errors out with the below error: error: objtool: At least one command required. To address this, ensure that objtool is run only when either of the config options are selected. Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> --- scripts/Makefile.lib | 3 +++ 1 file changed, 3 insertions(+)