Re: [PATCH] objtool: make use of pkg-config for libelf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Adding Robin ]

Robin, does this fix the same issue as your recent patches?  If so, I'd
prefer this one because it doesn't need any new environment variables.

On Thu, Mar 01, 2018 at 01:55:37PM +0100, Philipp Puschmann wrote:
> For libelf with non-standard paths make use of pkg-config.
> 
> Signed-off-by: Philipp Puschmann <pp@xxxxxxxxx>
> ---
>  Makefile               | 4 +++-
>  tools/objtool/Makefile | 8 ++++++--
>  2 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 659a7780aeb3..31b296b0e941 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -953,8 +953,10 @@ endif
>  export mod_sign_cmd
>  
>  ifdef CONFIG_STACK_VALIDATION
> +  LIBELF_LIBS = $(shell pkg-config --libs libelf 2> /dev/null || \
> +                        echo -lelf)
>    has_libelf := $(call try-run,\
> -		echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf -,1,0)
> +		echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(LIBELF_LIBS) -,1,0)
>    ifeq ($(has_libelf),1)
>      objtool_target := tools/objtool FORCE
>    else
> diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
> index e6acc281dd37..c565eff8c393 100644
> --- a/tools/objtool/Makefile
> +++ b/tools/objtool/Makefile
> @@ -27,12 +27,16 @@ OBJTOOL_IN := $(OBJTOOL)-in.o
>  
>  all: $(OBJTOOL)
>  
> +LIBELF_LIBS     = $(shell pkg-config --libs libelf 2> /dev/null || \
> +                        echo -lelf)
> +LIBELF_INCLUDES = $(shell pkg-config --cflags libelf 2> /dev/null)
>  INCLUDES := -I$(srctree)/tools/include \
>  	    -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
> -	    -I$(srctree)/tools/objtool/arch/$(ARCH)/include
> +	    -I$(srctree)/tools/objtool/arch/$(ARCH)/include \
> +	    $(LIBELF_INCLUDES)
>  WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed
>  CFLAGS   += -Wall -Werror $(WARNINGS) -fomit-frame-pointer -O2 -g $(INCLUDES)
> -LDFLAGS  += -lelf $(LIBSUBCMD)
> +LDFLAGS  += $(LIBELF_LIBS) $(LIBSUBCMD)
>  
>  # Allow old libelf to be used:
>  elfshdr := $(shell echo '\#include <libelf.h>' | $(CC) $(CFLAGS) -x c -E - | grep elf_getshdr)
> -- 
> 2.16.1
> 

-- 
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux