Re: [PATCH] KVM: selftests: Fix "make ARCH=x86_64" build with

From: Paolo Bonzini
Date: Fri Jun 05 2020 - 11:15:51 EST


On 05/06/20 16:20, Vitaly Kuznetsov wrote:
> Marcelo reports that kvm selftests fail to build with
> "make ARCH=x86_64":
>
> gcc -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99
> -fno-stack-protector -fno-PIE -I../../../../tools/include
> -I../../../../tools/arch/x86_64/include -I../../../../usr/include/
> -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/kvm_util.c
> -o /var/tmp/20200604202744-bin/lib/kvm_util.o
>
> In file included from lib/kvm_util.c:11:
> include/x86_64/processor.h:14:10: fatal error: asm/msr-index.h: No such
> file or directory
>
> #include <asm/msr-index.h>
> ^~~~~~~~~~~~~~~~~
> compilation terminated.
>
> "make ARCH=x86", however, works. The problem is that arch specific headers
> for x86_64 live in 'tools/arch/x86/include', not in
> 'tools/arch/x86_64/include'.
>
> Fixes: 66d69e081b52 ("selftests: fix kvm relocatable native/cross builds and installs")
> Reported-by: Marcelo Bandeira Condotta <mcondotta@xxxxxxxxxx>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> tools/testing/selftests/kvm/Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> index b4ff112e5c7e..4a166588d99f 100644
> --- a/tools/testing/selftests/kvm/Makefile
> +++ b/tools/testing/selftests/kvm/Makefile
> @@ -83,7 +83,11 @@ LIBKVM += $(LIBKVM_$(UNAME_M))
> INSTALL_HDR_PATH = $(top_srcdir)/usr
> LINUX_HDR_PATH = $(INSTALL_HDR_PATH)/include/
> LINUX_TOOL_INCLUDE = $(top_srcdir)/tools/include
> +ifeq ($(ARCH),x86_64)
> +LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/x86/include
> +else
> LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH)/include
> +endif
> CFLAGS += -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99 \
> -fno-stack-protector -fno-PIE -I$(LINUX_TOOL_INCLUDE) \
> -I$(LINUX_TOOL_ARCH_INCLUDE) -I$(LINUX_HDR_PATH) -Iinclude \
>

Queued, thanks.

Paolo