diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2019-08-30 01:41:18 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-09-01 04:27:52 +0300 |
commit | d046b725487a97a3a3b35a00e84ca093963b8b4e (patch) | |
tree | 7c3f467c9b12da745240df401960f4b8aebb6718 | |
parent | f01642e4912bb80a01d693f4cc6fb0897207a090 (diff) | |
download | linux-d046b725487a97a3a3b35a00e84ca093963b8b4e.tar.xz |
objtool: Move x86 insn decoder to a common location
The kernel tree has three identical copies of the x86 instruction
decoder. Two of them are in the tools subdir.
The tools subdir is supposed to be completely standalone and separate
from the kernel. So having at least one copy of the kernel decoder in
the tools subdir is unavoidable. However, we don't need *two* of them.
Move objtool's copy of the decoder to a shared location, so that perf
will also be able to use it.
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: x86@kernel.org
Link: http://lore.kernel.org/lkml/55b486b88f6bcd0c9a2a04b34f964860c8390ca8.1567118001.git.jpoimboe@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/arch/x86/include/asm/inat.h (renamed from tools/objtool/arch/x86/include/asm/inat.h) | 0 | ||||
-rw-r--r-- | tools/arch/x86/include/asm/inat_types.h (renamed from tools/objtool/arch/x86/include/asm/inat_types.h) | 0 | ||||
-rw-r--r-- | tools/arch/x86/include/asm/insn.h (renamed from tools/objtool/arch/x86/include/asm/insn.h) | 0 | ||||
-rw-r--r-- | tools/arch/x86/include/asm/orc_types.h (renamed from tools/objtool/arch/x86/include/asm/orc_types.h) | 0 | ||||
-rw-r--r-- | tools/arch/x86/lib/inat.c (renamed from tools/objtool/arch/x86/lib/inat.c) | 0 | ||||
-rw-r--r-- | tools/arch/x86/lib/insn.c (renamed from tools/objtool/arch/x86/lib/insn.c) | 0 | ||||
-rw-r--r-- | tools/arch/x86/lib/x86-opcode-map.txt (renamed from tools/objtool/arch/x86/lib/x86-opcode-map.txt) | 0 | ||||
-rw-r--r-- | tools/arch/x86/tools/gen-insn-attr-x86.awk (renamed from tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk) | 0 | ||||
-rw-r--r-- | tools/objtool/Makefile | 4 | ||||
-rw-r--r-- | tools/objtool/arch/x86/Build | 4 | ||||
-rw-r--r-- | tools/objtool/arch/x86/decode.c | 4 | ||||
-rwxr-xr-x | tools/objtool/sync-check.sh | 12 |
12 files changed, 12 insertions, 12 deletions
diff --git a/tools/objtool/arch/x86/include/asm/inat.h b/tools/arch/x86/include/asm/inat.h index 4cf2ad521f65..4cf2ad521f65 100644 --- a/tools/objtool/arch/x86/include/asm/inat.h +++ b/tools/arch/x86/include/asm/inat.h diff --git a/tools/objtool/arch/x86/include/asm/inat_types.h b/tools/arch/x86/include/asm/inat_types.h index b047efa9ddc2..b047efa9ddc2 100644 --- a/tools/objtool/arch/x86/include/asm/inat_types.h +++ b/tools/arch/x86/include/asm/inat_types.h diff --git a/tools/objtool/arch/x86/include/asm/insn.h b/tools/arch/x86/include/asm/insn.h index 154f27be8bfc..154f27be8bfc 100644 --- a/tools/objtool/arch/x86/include/asm/insn.h +++ b/tools/arch/x86/include/asm/insn.h diff --git a/tools/objtool/arch/x86/include/asm/orc_types.h b/tools/arch/x86/include/asm/orc_types.h index 6e060907c163..6e060907c163 100644 --- a/tools/objtool/arch/x86/include/asm/orc_types.h +++ b/tools/arch/x86/include/asm/orc_types.h diff --git a/tools/objtool/arch/x86/lib/inat.c b/tools/arch/x86/lib/inat.c index 12539fca75c4..12539fca75c4 100644 --- a/tools/objtool/arch/x86/lib/inat.c +++ b/tools/arch/x86/lib/inat.c diff --git a/tools/objtool/arch/x86/lib/insn.c b/tools/arch/x86/lib/insn.c index 0b5862ba6a75..0b5862ba6a75 100644 --- a/tools/objtool/arch/x86/lib/insn.c +++ b/tools/arch/x86/lib/insn.c diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt b/tools/arch/x86/lib/x86-opcode-map.txt index e0b85930dd77..e0b85930dd77 100644 --- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt +++ b/tools/arch/x86/lib/x86-opcode-map.txt diff --git a/tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk b/tools/arch/x86/tools/gen-insn-attr-x86.awk index b02a36b2c14f..b02a36b2c14f 100644 --- a/tools/objtool/arch/x86/tools/gen-insn-attr-x86.awk +++ b/tools/arch/x86/tools/gen-insn-attr-x86.awk diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index 88158239622b..8c9b9adc67ef 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -33,7 +33,7 @@ all: $(OBJTOOL) INCLUDES := -I$(srctree)/tools/include \ -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \ - -I$(srctree)/tools/objtool/arch/$(ARCH)/include + -I$(srctree)/tools/arch/$(ARCH)/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) @@ -60,7 +60,7 @@ $(LIBSUBCMD): fixdep FORCE clean: $(call QUIET_CLEAN, objtool) $(RM) $(OBJTOOL) $(Q)find $(OUTPUT) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete - $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-tables.c $(OUTPUT)fixdep + $(Q)$(RM) $(OUTPUT)arch/x86/inat-tables.c $(OUTPUT)fixdep FORCE: diff --git a/tools/objtool/arch/x86/Build b/tools/objtool/arch/x86/Build index b998412c017d..7c5004008e97 100644 --- a/tools/objtool/arch/x86/Build +++ b/tools/objtool/arch/x86/Build @@ -1,7 +1,7 @@ objtool-y += decode.o -inat_tables_script = arch/x86/tools/gen-insn-attr-x86.awk -inat_tables_maps = arch/x86/lib/x86-opcode-map.txt +inat_tables_script = ../arch/x86/tools/gen-insn-attr-x86.awk +inat_tables_maps = ../arch/x86/lib/x86-opcode-map.txt $(OUTPUT)arch/x86/lib/inat-tables.c: $(inat_tables_script) $(inat_tables_maps) $(call rule_mkdir) diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c index 0567c47a91b1..a62e032863a8 100644 --- a/tools/objtool/arch/x86/decode.c +++ b/tools/objtool/arch/x86/decode.c @@ -8,8 +8,8 @@ #define unlikely(cond) (cond) #include <asm/insn.h> -#include "lib/inat.c" -#include "lib/insn.c" +#include "../../../arch/x86/lib/inat.c" +#include "../../../arch/x86/lib/insn.c" #include "../../elf.h" #include "../../arch.h" diff --git a/tools/objtool/sync-check.sh b/tools/objtool/sync-check.sh index 1470e74e9d66..66f1575b80f3 100755 --- a/tools/objtool/sync-check.sh +++ b/tools/objtool/sync-check.sh @@ -2,21 +2,21 @@ # SPDX-License-Identifier: GPL-2.0 FILES=' -arch/x86/lib/insn.c -arch/x86/lib/inat.c -arch/x86/lib/x86-opcode-map.txt -arch/x86/tools/gen-insn-attr-x86.awk -arch/x86/include/asm/insn.h arch/x86/include/asm/inat.h arch/x86/include/asm/inat_types.h +arch/x86/include/asm/insn.h arch/x86/include/asm/orc_types.h +arch/x86/lib/inat.c +arch/x86/lib/insn.c +arch/x86/lib/x86-opcode-map.txt +arch/x86/tools/gen-insn-attr-x86.awk ' check() { local file=$1 - diff $file ../../$file > /dev/null || + diff ../$file ../../$file > /dev/null || echo "Warning: synced file at 'tools/objtool/$file' differs from latest kernel version at '$file'" } |