aboutsummaryrefslogtreecommitdiff
path: root/disas
diff options
context:
space:
mode:
Diffstat (limited to 'disas')
-rw-r--r--disas/nios2.c73
1 files changed, 28 insertions, 45 deletions
diff --git a/disas/nios2.c b/disas/nios2.c
index c3e8214..98ac07d 100644
--- a/disas/nios2.c
+++ b/disas/nios2.c
@@ -3478,54 +3478,37 @@ nios2_disassemble (bfd_vma address, unsigned long opcode,
instruction word at the address given, and prints the disassembled
instruction on the stream info->stream using info->fprintf_func. */
-static int
-print_insn_nios2 (bfd_vma address, disassemble_info *info,
- enum bfd_endian endianness)
+int print_insn_nios2(bfd_vma address, disassemble_info *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);
+ bfd_byte buffer[INSNLEN];
+ int status;
+
+ status = (*info->read_memory_func)(address, buffer, INSNLEN, info);
+ if (status == 0) {
+ unsigned long insn;
+ if (info->endian == 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 (info->endian == 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;
-}
-
-/* These two functions are the main entry points, accessed from
- disassemble.c. */
-int
-print_insn_big_nios2 (bfd_vma address, disassemble_info *info)
-{
- return print_insn_nios2 (address, info, BFD_ENDIAN_BIG);
-}
-
-int
-print_insn_little_nios2 (bfd_vma address, disassemble_info *info)
-{
- return print_insn_nios2 (address, info, BFD_ENDIAN_LITTLE);
+ /* If we got here, we couldn't read anything. */
+ (*info->memory_error_func)(status, address, info);
+ return -1;
}