Lines Matching full:info
802 set_default_mips_dis_options (struct disassemble_info *info)
823 if (info->flavour == bfd_target_elf_flavour && info->section != NULL)
827 header = elf_elfheader (info->section->owner);
843 chosen_arch = choose_arch_by_number (info->mach);
1047 print_reg (struct disassemble_info *info, const struct mips_opcode *opcode,
1054 info->fprintf_func (info->stream, "%s", mips_gpr_names_xr[regno]);
1058 info->fprintf_func (info->stream, "%s", mips_gpr_names[regno]);
1062 info->fprintf_func (info->stream, "%s", mips_fpr_names[regno]);
1067 info->fprintf_func (info->stream, "$fcc%d", regno);
1069 info->fprintf_func (info->stream, "$cc%d", regno);
1074 info->fprintf_func (info->stream, "$f%d", regno);
1076 info->fprintf_func (info->stream, "$v%d", regno);
1080 info->fprintf_func (info->stream, "$ac%d", regno);
1085 info->fprintf_func (info->stream, "%s", mips_cp0_names[regno]);
1087 info->fprintf_func (info->stream, "%s", mips_cp1_names[regno]);
1089 info->fprintf_func (info->stream, "$%d", regno);
1093 info->fprintf_func (info->stream, "%s", mips_hwr_names[regno]);
1097 info->fprintf_func (info->stream, "$vf%d", regno);
1101 info->fprintf_func (info->stream, "$vi%d", regno);
1105 info->fprintf_func (info->stream, "$I");
1109 info->fprintf_func (info->stream, "$Q");
1113 info->fprintf_func (info->stream, "$R");
1117 info->fprintf_func (info->stream, "$ACC");
1121 info->fprintf_func (info->stream, "$w%d", regno);
1125 info->fprintf_func (info->stream, "%s", msa_control_names[regno]);
1159 print_vu0_channel (struct disassemble_info *info,
1163 info->fprintf_func (info->stream, "%s%s%s%s",
1169 info->fprintf_func (info->stream, "%c", "xyzw"[uval]);
1196 print_insn_arg (struct disassemble_info *info,
1203 const fprintf_ftype infprintf = info->fprintf_func;
1204 void *is = info->stream;
1262 print_reg (info, opcode, reg_op->reg_type, uval);
1273 print_reg (info, opcode, pair_op->reg_type,
1276 print_reg (info, opcode, pair_op->reg_type,
1286 info->target = mips_decode_pcrel_operand (pcrel_op, base_pc, uval);
1290 if (info->flavour != bfd_target_unknown_flavour)
1291 info->target &= -2;
1293 (*info->print_address_func) (info->target, info);
1334 print_reg (info, opcode, OP_REG_GP, uval & 31);
1446 print_reg (info, opcode, OP_REG_VEC, uval);
1450 print_reg (info, opcode, OP_REG_VEC, uval);
1457 print_reg (info, opcode, state->last_reg_type, state->last_regno);
1461 print_reg (info, opcode, state->last_reg_type, state->dest_regno);
1470 print_vu0_channel (info, operand, uval);
1483 print_reg (info, opcode, OP_REG_GP, uval);
1611 print_insn_args (struct disassemble_info *info,
1616 const fprintf_ftype infprintf = info->fprintf_func;
1617 void *is = info->stream;
1693 print_insn_arg (info, &state, opcode, operand, base_pc,
1705 on using INFO. Returns length of the instruction, in bytes, which is
1712 struct disassemble_info *info)
1717 const fprintf_ftype infprintf = info->fprintf_func;
1720 void *is = info->stream;
1745 info->bytes_per_chunk = INSNLEN;
1746 info->display_endian = info->endian;
1747 info->insn_info_valid = 1;
1748 info->branch_delay_insns = 0;
1749 info->data_size = 0;
1750 info->insn_type = dis_nonbranch;
1751 info->target = 0;
1752 info->target2 = 0;
1774 info->insn_type = dis_jsr;
1776 info->insn_type = dis_branch;
1777 info->branch_delay_insns = 1;
1783 info->insn_type = dis_condjsr;
1785 info->insn_type = dis_condbranch;
1786 info->branch_delay_insns = 1;
1790 info->insn_type = dis_dref;
1802 print_vu0_channel (info, &mips_vu0_channel_mask, uval);
1808 print_insn_args (info, op, decode_mips_operand, word,
1819 info->insn_type = dis_noninsn;
1828 print_mips16_insn_arg (struct disassemble_info *info,
1835 const fprintf_ftype infprintf = info->fprintf_func;
1836 void *is = info->stream;
1938 info->insn_type = dis_dref;
1939 info->data_size = 1 << int_op->shift;
1985 if (info->read_memory_func (memaddr - 4, buffer, 2, info) == 0
1986 && (((info->endian == BFD_ENDIAN_BIG
1991 else if (info->read_memory_func (memaddr - 2, buffer, 2,
1992 info) == 0
1993 && (((info->endian == BFD_ENDIAN_BIG
2003 print_insn_arg (info, state, opcode, operand, baseaddr + 1, uval);
2014 is_mips16_plt_tail (struct disassemble_info *info, bfd_vma addr)
2016 if (info->symbols
2017 && info->symbols[0]
2018 && (info->symbols[0]->flags & BSF_SYNTHETIC)
2019 && addr == bfd_asymbol_value (info->symbols[0]) + 12)
2028 print_insn_mips16 (bfd_vma memaddr, struct disassemble_info *info)
2030 const fprintf_ftype infprintf = info->fprintf_func;
2039 void *is = info->stream;
2041 info->bytes_per_chunk = 2;
2042 info->display_endian = info->endian;
2043 info->insn_info_valid = 1;
2044 info->branch_delay_insns = 0;
2045 info->data_size = 0;
2046 info->target = 0;
2047 info->target2 = 0;
2052 if (is_mips16_plt_tail (info, memaddr))
2054 info->insn_type = dis_noninsn;
2055 status = (*info->read_memory_func) (memaddr, buffer, 4, info);
2060 if (info->endian == BFD_ENDIAN_BIG)
2071 info->insn_type = dis_nonbranch;
2072 status = (*info->read_memory_func) (memaddr, buffer, 2, info);
2076 (*info->memory_error_func) (status, memaddr, info);
2082 if (info->endian == BFD_ENDIAN_BIG)
2096 status = (*info->read_memory_func) (memaddr, buffer, 2, info);
2100 (*info->memory_error_func) (status, memaddr, info);
2104 if (info->endian == BFD_ENDIAN_BIG)
2113 info->insn_type = dis_noninsn;
2136 info->insn_type = dis_noninsn;
2144 status = (*info->read_memory_func) (memaddr, buffer, 2,
2145 info);
2149 if (info->endian == BFD_ENDIAN_BIG)
2180 print_mips16_insn_arg (info, &state, op, *s, memaddr, insn,
2186 info->branch_delay_insns = 1;
2191 info->insn_type = dis_jsr;
2193 info->insn_type = dis_branch;
2196 info->insn_type = dis_condbranch;
2206 info->insn_type = dis_noninsn;
2214 print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
2216 const fprintf_ftype infprintf = info->fprintf_func;
2218 void *is = info->stream;
2225 info->bytes_per_chunk = 2;
2226 info->display_endian = info->endian;
2227 info->insn_info_valid = 1;
2228 info->branch_delay_insns = 0;
2229 info->data_size = 0;
2230 info->insn_type = dis_nonbranch;
2231 info->target = 0;
2232 info->target2 = 0;
2234 status = (*info->read_memory_func) (memaddr, buffer, 2, info);
2237 (*info->memory_error_func) (status, memaddr, info);
2243 if (info->endian == BFD_ENDIAN_BIG)
2253 status = (*info->read_memory_func) (memaddr + 2, buffer, 2, info);
2257 (*info->memory_error_func) (status, memaddr + 2, info);
2260 if (info->endian == BFD_ENDIAN_BIG)
2266 status = (*info->read_memory_func) (memaddr + 4, buffer, 2, info);
2270 (*info->memory_error_func) (status, memaddr + 4, info);
2273 if (info->endian == BFD_ENDIAN_BIG)
2279 info->insn_type = dis_noninsn;
2287 status = (*info->read_memory_func) (memaddr + 2, buffer, 2, info);
2291 (*info->memory_error_func) (status, memaddr + 2, info);
2295 if (info->endian == BFD_ENDIAN_BIG)
2324 print_insn_args (info, op, decode_micromips_operand, insn,
2331 info->branch_delay_insns = 1;
2336 info->insn_type = dis_jsr;
2338 info->insn_type = dis_branch;
2344 info->insn_type = dis_condjsr;
2346 info->insn_type = dis_condbranch;
2350 info->insn_type = dis_dref;
2357 info->insn_type = dis_noninsn;
2371 is_compressed_mode_p (struct disassemble_info *info)
2376 for (i = info->symtab_pos, l = i + info->num_symbols; i < l; i++)
2377 if (((info->symtab[i])->flags & BSF_SYNTHETIC) != 0
2379 && ELF_ST_IS_MIPS16 ((*info->symbols)->udata.i))
2381 && ELF_ST_IS_MICROMIPS ((*info->symbols)->udata.i))))
2383 else if (bfd_asymbol_flavour (info->symtab[i]) == bfd_target_elf_flavour
2384 && info->symtab[i]->section == info->section)
2386 elf_symbol_type *symbol = (elf_symbol_type *) info->symtab[i];
2405 struct disassemble_info *info,
2412 set_default_mips_dis_options (info);
2413 parse_mips_dis_options (info->disassembler_options);
2415 if (info->mach == bfd_mach_mips16)
2416 return print_insn_mips16 (memaddr, info);
2417 if (info->mach == bfd_mach_mips_micromips)
2418 return print_insn_micromips (memaddr, info);
2426 return print_insn_compr (memaddr, info);
2430 if (is_compressed_mode_p (info))
2431 return print_insn_compr (memaddr, info);
2434 status = (*info->read_memory_func) (memaddr, buffer, INSNLEN, info);
2444 return print_insn_mips (memaddr, insn, info);
2448 (*info->memory_error_func) (status, memaddr, info);
2454 print_insn_big_mips (bfd_vma memaddr, struct disassemble_info *info)
2456 return _print_insn_mips (memaddr, info, BFD_ENDIAN_BIG);
2460 print_insn_little_mips (bfd_vma memaddr, struct disassemble_info *info)
2462 return _print_insn_mips (memaddr, info, BFD_ENDIAN_LITTLE);