summaryrefslogtreecommitdiffstats
path: root/arch/x86/tools/test_get_len.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/tools/test_get_len.c')
-rw-r--r--arch/x86/tools/test_get_len.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/x86/tools/test_get_len.c b/arch/x86/tools/test_get_len.c
index 1e81adb..a3273f4 100644
--- a/arch/x86/tools/test_get_len.c
+++ b/arch/x86/tools/test_get_len.c
@@ -45,7 +45,7 @@ const char *prog;
static void usage(void)
{
fprintf(stderr, "Usage: objdump -d a.out | awk -f distill.awk |"
- " ./test_get_len\n");
+ " %s [y|n](64bit flag)\n", prog);
exit(1);
}
@@ -63,11 +63,15 @@ int main(int argc, char **argv)
unsigned char insn_buf[16];
struct insn insn;
int insns = 0;
+ int x86_64 = 0;
prog = argv[0];
- if (argc > 1)
+ if (argc > 2)
usage();
+ if (argc == 2 && argv[1][0] == 'y')
+ x86_64 = 1;
+
while (fgets(line, BUFSIZE, stdin)) {
char copy[BUFSIZE], *s, *tab1, *tab2;
int nb = 0;
@@ -93,11 +97,7 @@ int main(int argc, char **argv)
break;
}
/* Decode an instruction */
-#ifdef __x86_64__
- insn_init(&insn, insn_buf, 1);
-#else
- insn_init(&insn, insn_buf, 0);
-#endif
+ insn_init(&insn, insn_buf, x86_64);
insn_get_length(&insn);
if (insn.length != nb) {
fprintf(stderr, "Error: %s", line);
OpenPOWER on IntegriCloud