[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-6f5f67267dc4faecd9cba63894de92ca92a608b8@git.kernel.org>
Date: Sat, 21 Nov 2009 07:10:06 GMT
From: tip-bot for Masami Hiramatsu <mhiramat@...hat.com>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...hat.com,
jkenisto@...ibm.com, rdunlap@...otime.net, tglx@...utronix.de,
sfr@...b.auug.org.au, mhiramat@...hat.com, mingo@...e.hu
Subject: [tip:perf/probes] x86: insn decoder test checks objdump version
Commit-ID: 6f5f67267dc4faecd9cba63894de92ca92a608b8
Gitweb: http://git.kernel.org/tip/6f5f67267dc4faecd9cba63894de92ca92a608b8
Author: Masami Hiramatsu <mhiramat@...hat.com>
AuthorDate: Fri, 20 Nov 2009 12:13:14 -0500
Committer: H. Peter Anvin <hpa@...or.com>
CommitDate: Fri, 20 Nov 2009 23:01:04 -0800
x86: insn decoder test checks objdump version
Check objdump version before using it for insn decoder build test,
because some older objdump can't decode AVX code correctly.
Signed-off-by: Masami Hiramatsu <mhiramat@...hat.com>
Cc: Ingo Molnar <mingo@...e.hu>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Randy Dunlap <rdunlap@...otime.net>
Cc: Jim Keniston <jkenisto@...ibm.com>
LKML-Reference: <20091120171314.6715.30390.stgit@...p-100-2-132.bos.redhat.com>
Signed-off-by: H. Peter Anvin <hpa@...or.com>
---
arch/x86/tools/Makefile | 5 ++++-
arch/x86/tools/chkobjdump.awk | 23 +++++++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/arch/x86/tools/Makefile b/arch/x86/tools/Makefile
index c80b079..f820826 100644
--- a/arch/x86/tools/Makefile
+++ b/arch/x86/tools/Makefile
@@ -12,8 +12,11 @@ else
posttest_64bit = -n
endif
+distill_awk = $(srctree)/arch/x86/tools/distill.awk
+chkobjdump = $(srctree)/arch/x86/tools/chkobjdump.awk
+
quiet_cmd_posttest = TEST $@
- cmd_posttest = $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(srctree)/arch/x86/tools/distill.awk | $(obj)/test_get_len $(posttest_64bit) $(posttest_verbose)
+ cmd_posttest = ($(OBJDUMP) -v | $(AWK) -f $(chkobjdump)) || $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(distill_awk) | $(obj)/test_get_len $(posttest_64bit) $(posttest_verbose)
posttest: $(obj)/test_get_len vmlinux
$(call cmd,posttest)
diff --git a/arch/x86/tools/chkobjdump.awk b/arch/x86/tools/chkobjdump.awk
new file mode 100644
index 0000000..0d13cd9
--- /dev/null
+++ b/arch/x86/tools/chkobjdump.awk
@@ -0,0 +1,23 @@
+# GNU objdump version checker
+#
+# Usage:
+# objdump -v | awk -f chkobjdump.awk
+BEGIN {
+ # objdump version 2.19 or later is OK for the test.
+ od_ver = 2;
+ od_sver = 19;
+}
+
+/^GNU/ {
+ split($4, ver, ".");
+ if (ver[1] > od_ver ||
+ (ver[1] == od_ver && ver[2] >= od_sver)) {
+ exit 1;
+ } else {
+ printf("Warning: objdump version %s is older than %d.%d\n",
+ $4, od_ver, od_sver);
+ print("Warning: Skipping posttest.");
+ # Logic is inverted, because we just skip test without error.
+ exit 0;
+ }
+}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists