diff options
Diffstat (limited to 'disas/nios2.c')
-rw-r--r-- | disas/nios2.c | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/disas/nios2.c b/disas/nios2.c index c3e8214..d124902 100644 --- a/disas/nios2.c +++ b/disas/nios2.c @@ -3482,38 +3482,37 @@ static int print_insn_nios2 (bfd_vma address, disassemble_info *info, enum bfd_endian endianness) { - bfd_byte buffer[INSNLEN]; - int status; - - status = (*info->read_memory_func) (address, buffer, INSNLEN, info); - if (status == 0) - { - unsigned long insn; - if (endianness == BFD_ENDIAN_BIG) - insn = (unsigned long) bfd_getb32 (buffer); - else - insn = (unsigned long) bfd_getl32 (buffer); - return nios2_disassemble (address, insn, info); + bfd_byte buffer[INSNLEN]; + int status; + + status = (*info->read_memory_func)(address, buffer, INSNLEN, info); + if (status == 0) { + unsigned long insn; + if (endianness == BFD_ENDIAN_BIG) { + insn = (unsigned long) bfd_getb32(buffer); + } else { + insn = (unsigned long) bfd_getl32(buffer); + } + return nios2_disassemble(address, insn, info); } - /* We might have a 16-bit R2 instruction at the end of memory. Try that. */ - if (info->mach == bfd_mach_nios2r2) - { - status = (*info->read_memory_func) (address, buffer, 2, info); - if (status == 0) - { - unsigned long insn; - if (endianness == BFD_ENDIAN_BIG) - insn = (unsigned long) bfd_getb16 (buffer); - else - insn = (unsigned long) bfd_getl16 (buffer); - return nios2_disassemble (address, insn, info); - } + /* We might have a 16-bit R2 instruction at the end of memory. Try that. */ + if (info->mach == bfd_mach_nios2r2) { + status = (*info->read_memory_func)(address, buffer, 2, info); + if (status == 0) { + unsigned long insn; + if (endianness == BFD_ENDIAN_BIG) { + insn = (unsigned long) bfd_getb16(buffer); + } else { + insn = (unsigned long) bfd_getl16(buffer); + } + return nios2_disassemble(address, insn, info); + } } - /* If we got here, we couldn't read anything. */ - (*info->memory_error_func) (status, address, info); - return -1; + /* If we got here, we couldn't read anything. */ + (*info->memory_error_func)(status, address, info); + return -1; } /* These two functions are the main entry points, accessed from |