Commit ef7cfd00 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: fix false positive warning/error about missing libelf

For the same reason as commit 25896d07 ("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: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
Reported-by: default avatarBernd Edlinger <bernd.edlinger@hotmail.de>
Reported-by: default avatarQian Cai <cai@lca.pw>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: default avatarQian Cai <cai@lca.pw>
parent ccda4af0
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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
# ---------------------------------------------------------------------------