Message ID | 1545110741-10761-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | ef7cfd00b2caf6edeb7f169682b64be2d0a798cf |
Headers | show |
Series | kbuild: fix false positive warning/error about missing libelf | expand |
On Tue, 2018-12-18 at 14:25 +0900, Masahiro Yamada wrote: > For the same reason as commit 25896d073d8a ("x86/build: Fix compiler > support check for CONFIG_RETPOLINE"), you cannot put this $(error ...) > into the parse stage of the top Makefile. > > Perhaps I'd propose a more sophisticated solution later, but this is > the best I can do for now. > > Link: https://lkml.org/lkml/2017/12/25/211 > Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> > Reported-by: Bernd Edlinger <bernd.edlinger@hotmail.de> > Reported-by: Qian Cai <cai@lca.pw> > Cc: Josh Poimboeuf <jpoimboe@redhat.com> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > Tested-by: Qian Cai <cai@lca.pw> > Makefile | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/Makefile b/Makefile > index 56d5270..d45856f 100644 > --- a/Makefile > +++ b/Makefile > @@ -962,11 +962,6 @@ ifdef CONFIG_STACK_VALIDATION > ifeq ($(has_libelf),1) > objtool_target := tools/objtool FORCE > else > - ifdef CONFIG_UNWINDER_ORC > - $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please > install libelf-dev, libelf-devel or elfutils-libelf-devel") > - else > - $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf- > dev, libelf-devel or elfutils-libelf-devel") > - endif > SKIP_STACK_VALIDATION := 1 > export SKIP_STACK_VALIDATION > endif > @@ -1125,6 +1120,14 @@ uapi-asm-generic: > > PHONY += prepare-objtool > prepare-objtool: $(objtool_target) > +ifeq ($(SKIP_STACK_VALIDATION),1) > +ifdef CONFIG_UNWINDER_ORC > + @echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, > please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2 > + @false > +else > + @echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install > libelf-dev, libelf-devel or elfutils-libelf-devel" >&2 > +endif > +endif > > # Generate some files > # ---------------------------------------------------------------------------
On Tue, Dec 18, 2018 at 11:35 PM Qian Cai <cai@lca.pw> wrote: > > On Tue, 2018-12-18 at 14:25 +0900, Masahiro Yamada wrote: > > For the same reason as commit 25896d073d8a ("x86/build: Fix compiler > > support check for CONFIG_RETPOLINE"), you cannot put this $(error ...) > > into the parse stage of the top Makefile. > > > > Perhaps I'd propose a more sophisticated solution later, but this is > > the best I can do for now. > > > > Link: https://lkml.org/lkml/2017/12/25/211 > > Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> > > Reported-by: Bernd Edlinger <bernd.edlinger@hotmail.de> > > Reported-by: Qian Cai <cai@lca.pw> > > Cc: Josh Poimboeuf <jpoimboe@redhat.com> > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > > --- > > > > Tested-by: Qian Cai <cai@lca.pw> Applied to linux-kbuild/fixes. -- Best Regards Masahiro Yamada
diff --git a/Makefile b/Makefile index 56d5270..d45856f 100644 --- a/Makefile +++ b/Makefile @@ -962,11 +962,6 @@ ifdef CONFIG_STACK_VALIDATION ifeq ($(has_libelf),1) objtool_target := tools/objtool FORCE else - ifdef CONFIG_UNWINDER_ORC - $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel") - else - $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel") - endif SKIP_STACK_VALIDATION := 1 export SKIP_STACK_VALIDATION endif @@ -1125,6 +1120,14 @@ uapi-asm-generic: PHONY += prepare-objtool prepare-objtool: $(objtool_target) +ifeq ($(SKIP_STACK_VALIDATION),1) +ifdef CONFIG_UNWINDER_ORC + @echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2 + @false +else + @echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2 +endif +endif # Generate some files # ---------------------------------------------------------------------------
For the same reason as commit 25896d073d8a ("x86/build: Fix compiler support check for CONFIG_RETPOLINE"), you cannot put this $(error ...) into the parse stage of the top Makefile. Perhaps I'd propose a more sophisticated solution later, but this is the best I can do for now. Link: https://lkml.org/lkml/2017/12/25/211 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> Reported-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reported-by: Qian Cai <cai@lca.pw> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Makefile | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) -- 2.7.4