x86/tools: Standardize output format of insn_decode_test
Standardize warning, error, and success printout format of insn_decode_test so that user can easily understand which test tool caused the messages. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/151153628279.22827.4869104298276788693.stgit@devbox Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
98fe07fccc
commit
10c91577d5
|
@ -17,6 +17,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
#define unlikely(cond) (cond)
|
#define unlikely(cond) (cond)
|
||||||
|
|
||||||
|
@ -48,10 +49,21 @@ static void usage(void)
|
||||||
|
|
||||||
static void malformed_line(const char *line, int line_nr)
|
static void malformed_line(const char *line, int line_nr)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s: malformed line %d:\n%s", prog, line_nr, line);
|
fprintf(stderr, "%s: error: malformed line %d:\n%s",
|
||||||
|
prog, line_nr, line);
|
||||||
exit(3);
|
exit(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void pr_warn(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
fprintf(stderr, "%s: warning: ", prog);
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vfprintf(stderr, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
static void dump_field(FILE *fp, const char *name, const char *indent,
|
static void dump_field(FILE *fp, const char *name, const char *indent,
|
||||||
struct insn_field *field)
|
struct insn_field *field)
|
||||||
{
|
{
|
||||||
|
@ -149,21 +161,20 @@ int main(int argc, char **argv)
|
||||||
insn_get_length(&insn);
|
insn_get_length(&insn);
|
||||||
if (insn.length != nb) {
|
if (insn.length != nb) {
|
||||||
warnings++;
|
warnings++;
|
||||||
fprintf(stderr, "Warning: %s found difference at %s\n",
|
pr_warn("Found an x86 instruction decoder bug, "
|
||||||
prog, sym);
|
"please report this.\n", sym);
|
||||||
fprintf(stderr, "Warning: %s", line);
|
pr_warn("%s", line);
|
||||||
fprintf(stderr, "Warning: objdump says %d bytes, but "
|
pr_warn("objdump says %d bytes, but insn_get_length() "
|
||||||
"insn_get_length() says %d\n", nb,
|
"says %d\n", nb, insn.length);
|
||||||
insn.length);
|
|
||||||
if (verbose)
|
if (verbose)
|
||||||
dump_insn(stderr, &insn);
|
dump_insn(stderr, &insn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (warnings)
|
if (warnings)
|
||||||
fprintf(stderr, "Warning: decoded and checked %d"
|
pr_warn("Decoded and checked %d instructions with %d "
|
||||||
" instructions with %d warnings\n", insns, warnings);
|
"failures\n", insns, warnings);
|
||||||
else
|
else
|
||||||
fprintf(stdout, "Success: decoded and checked %d"
|
fprintf(stdout, "%s: success: Decoded and checked %d"
|
||||||
" instructions\n", insns);
|
" instructions\n", prog, insns);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue