diff mbox series

kbuild: fix false positive warning/error about missing libelf

Message ID 1545110741-10761-1-git-send-email-yamada.masahiro@socionext.com (mailing list archive)
State New, archived
Headers show
Series kbuild: fix false positive warning/error about missing libelf | expand

Commit Message

Masahiro Yamada Dec. 18, 2018, 5:25 a.m. UTC
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(-)

Comments

Qian Cai Dec. 18, 2018, 2:34 p.m. UTC | #1
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
>  # ---------------------------------------------------------------------------
Masahiro Yamada Dec. 20, 2018, 1:59 a.m. UTC | #2
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.
diff mbox series

Patch

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
 # ---------------------------------------------------------------------------