diff options
author | Edgar E. Iglesias <edgar@axis.com> | 2011-01-10 22:31:09 +0100 |
---|---|---|
committer | Edgar E. Iglesias <edgar@axis.com> | 2011-01-10 22:31:09 +0100 |
commit | b09cd072df07c63997cc81b6767f2e145d9496e5 (patch) | |
tree | 79a4f0c7d0a404f42e3ae4624ef01bdaefe67c0a | |
parent | a7bd621d7a270645fb98426c82a0b251fdbc6000 (diff) |
cris: Support disassembly of crisv10
Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
-rw-r--r-- | cris-dis.c | 9 | ||||
-rw-r--r-- | dis-asm.h | 1 | ||||
-rw-r--r-- | disas.c | 9 |
3 files changed, 15 insertions, 4 deletions
diff --git a/cris-dis.c b/cris-dis.c index afd775c29b..5fa67d9f29 100644 --- a/cris-dis.c +++ b/cris-dis.c @@ -2767,7 +2767,6 @@ print_insn_cris_generic (bfd_vma memaddr, } /* Disassemble, prefixing register names with `$'. CRIS v0..v10. */ -#if 0 static int print_insn_cris_with_register_prefix (bfd_vma vma, disassemble_info *info) @@ -2777,7 +2776,6 @@ print_insn_cris_with_register_prefix (bfd_vma vma, return -1; return print_insn_cris_generic (vma, info, true); } -#endif /* Disassemble, prefixing register names with `$'. CRIS v32. */ static int @@ -2843,6 +2841,13 @@ print_insn_crisv10_v32_without_register_prefix (bfd_vma vma, #endif int +print_insn_crisv10 (bfd_vma vma, + disassemble_info *info) +{ + return print_insn_cris_with_register_prefix(vma, info); +} + +int print_insn_crisv32 (bfd_vma vma, disassemble_info *info) { @@ -397,6 +397,7 @@ extern int print_insn_tic30 (bfd_vma, disassemble_info*); extern int print_insn_ppc (bfd_vma, disassemble_info*); extern int print_insn_s390 (bfd_vma, disassemble_info*); extern int print_insn_crisv32 (bfd_vma, disassemble_info*); +extern int print_insn_crisv10 (bfd_vma, disassemble_info*); extern int print_insn_microblaze (bfd_vma, disassemble_info*); extern int print_insn_ia64 (bfd_vma, disassemble_info*); @@ -208,8 +208,13 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags) disasm_info.mach = bfd_mach_alpha; print_insn = print_insn_alpha; #elif defined(TARGET_CRIS) - disasm_info.mach = bfd_mach_cris_v32; - print_insn = print_insn_crisv32; + if (flags != 32) { + disasm_info.mach = bfd_mach_cris_v0_v10; + print_insn = print_insn_crisv10; + } else { + disasm_info.mach = bfd_mach_cris_v32; + print_insn = print_insn_crisv32; + } #elif defined(TARGET_MICROBLAZE) disasm_info.mach = bfd_arch_microblaze; print_insn = print_insn_microblaze; |