To build objtool with ARCH=x86_64 will failed as:
$make ARCH=x86_64 -C tools/objtool
...
CC arch/x86/decode.o
arch/x86/decode.c:10:22: fatal error: asm/insn.h: No such file or directory
#include <asm/insn.h>
^
compilation terminated.
mv: cannot stat ‘arch/x86/.decode.o.tmp’: No such file or directory
make[2]: *** [arch/x86/decode.o] Error 1
...
The root cause is the command-line variable 'ARCH' cannot be overridden.
It can be replaced by the one 'SRCARCH' defined in
'tools/scripts/Makefile.arch'.
Signed-off-by: Shile Zhang <[email protected]>
---
tools/objtool/Makefile | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
index d2a19b0bc05a..ee08aeff30a1 100644
--- a/tools/objtool/Makefile
+++ b/tools/objtool/Makefile
@@ -2,10 +2,6 @@
include ../scripts/Makefile.include
include ../scripts/Makefile.arch
-ifeq ($(ARCH),x86_64)
-ARCH := x86
-endif
-
# always use the host compiler
HOSTAR ?= ar
HOSTCC ?= gcc
@@ -33,7 +29,7 @@ all: $(OBJTOOL)
INCLUDES := -I$(srctree)/tools/include \
-I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
- -I$(srctree)/tools/arch/$(ARCH)/include
+ -I$(srctree)/tools/arch/$(SRCARCH)/include
WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed
CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS)
LDFLAGS += $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS)
--
2.24.0.rc2
On 12/27/19 7:59 AM, Shile Zhang wrote:
> To build objtool with ARCH=x86_64 will failed as:
>
> $make ARCH=x86_64 -C tools/objtool
> ...
> CC arch/x86/decode.o
> arch/x86/decode.c:10:22: fatal error: asm/insn.h: No such file or directory
> #include <asm/insn.h>
> ^
> compilation terminated.
> mv: cannot stat ‘arch/x86/.decode.o.tmp’: No such file or directory
> make[2]: *** [arch/x86/decode.o] Error 1
> ...
>
> The root cause is the command-line variable 'ARCH' cannot be overridden.
> It can be replaced by the one 'SRCARCH' defined in
> 'tools/scripts/Makefile.arch'.
>
> Signed-off-by: Shile Zhang <[email protected]>
Reviewed-by: Kamalesh Babulal <[email protected]>
--
Kamalesh
On Fri, Dec 27, 2019 at 10:29:31AM +0800, Shile Zhang wrote:
> To build objtool with ARCH=x86_64 will failed as:
>
> $make ARCH=x86_64 -C tools/objtool
> ...
> CC arch/x86/decode.o
> arch/x86/decode.c:10:22: fatal error: asm/insn.h: No such file or directory
> #include <asm/insn.h>
> ^
> compilation terminated.
> mv: cannot stat ‘arch/x86/.decode.o.tmp’: No such file or directory
> make[2]: *** [arch/x86/decode.o] Error 1
> ...
>
> The root cause is the command-line variable 'ARCH' cannot be overridden.
> It can be replaced by the one 'SRCARCH' defined in
> 'tools/scripts/Makefile.arch'.
>
> Signed-off-by: Shile Zhang <[email protected]>
Thanks. I'll submit it to the -tip tree.
--
Josh