mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-21 05:14:52 +08:00
x86: Instruction decoder test should generate build warning
Since some instructions are not decoded correctly by older versions of objdump, it may cause false positive error in insn decoder posttest. This changes build error of insn decoder test to build warning. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: systemtap <systemtap@sources.redhat.com> Cc: DLE <dle-develop@lists.sourceforge.net> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> LKML-Reference: <20091116230631.5250.41579.stgit@harusame> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
6b0cb5f9f7
commit
ce64c62074
@ -114,6 +114,7 @@ int main(int argc, char **argv)
|
||||
unsigned char insn_buf[16];
|
||||
struct insn insn;
|
||||
int insns = 0, c;
|
||||
int warnings = 0;
|
||||
|
||||
parse_args(argc, argv);
|
||||
|
||||
@ -151,18 +152,22 @@ int main(int argc, char **argv)
|
||||
insn_init(&insn, insn_buf, x86_64);
|
||||
insn_get_length(&insn);
|
||||
if (insn.length != nb) {
|
||||
fprintf(stderr, "Error: %s found a difference at %s\n",
|
||||
warnings++;
|
||||
fprintf(stderr, "Warning: %s found difference at %s\n",
|
||||
prog, sym);
|
||||
fprintf(stderr, "Error: %s", line);
|
||||
fprintf(stderr, "Error: objdump says %d bytes, but "
|
||||
fprintf(stderr, "Warning: %s", line);
|
||||
fprintf(stderr, "Warning: objdump says %d bytes, but "
|
||||
"insn_get_length() says %d\n", nb,
|
||||
insn.length);
|
||||
if (verbose)
|
||||
dump_insn(stderr, &insn);
|
||||
exit(2);
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "Succeed: decoded and checked %d instructions\n",
|
||||
insns);
|
||||
if (warnings)
|
||||
fprintf(stderr, "Warning: decoded and checked %d"
|
||||
" instructions with %d warnings\n", insns, warnings);
|
||||
else
|
||||
fprintf(stderr, "Succeed: decoded and checked %d"
|
||||
" instructions\n", insns);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user