diff mbox series

kbuild: fix false positive warning/error about missing libelf

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

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(-)

-- 
2.7.4

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.



-- 
Best Regards
Masahiro Yamada
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
 # ---------------------------------------------------------------------------