Lines Matching refs:dinfo
109 #define DINFO_FPRINTF(dinfo, ...) \ argument
110 ((*(dinfo)->fprintf_func)((dinfo)->stream, __VA_ARGS__))
168 bfd_vma addr, struct disassemble_info *dinfo) in disas_print_addr_sym() argument
175 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, symstr); in disas_print_addr_sym()
178 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, str); in disas_print_addr_sym()
183 static bool disas_print_addr_alt(bfd_vma addr, struct disassemble_info *dinfo) in disas_print_addr_alt() argument
185 struct disas_context *dctx = dinfo->application_data; in disas_print_addr_alt()
215 disas_print_addr_sym(orig_first_insn->sec, sym, addr, dinfo); in disas_print_addr_alt()
221 struct disassemble_info *dinfo) in disas_print_addr_noreloc() argument
223 struct disas_context *dctx = dinfo->application_data; in disas_print_addr_noreloc()
227 if (disas_print_addr_alt(addr, dinfo)) in disas_print_addr_noreloc()
235 disas_print_addr_sym(insn->sec, sym, addr, dinfo); in disas_print_addr_noreloc()
238 static void disas_print_addr_reloc(bfd_vma addr, struct disassemble_info *dinfo) in disas_print_addr_reloc() argument
240 struct disas_context *dctx = dinfo->application_data; in disas_print_addr_reloc()
257 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, "_THIS_IP_"); in disas_print_addr_reloc()
269 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, str); in disas_print_addr_reloc()
273 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, symstr); in disas_print_addr_reloc()
280 static void disas_print_address(bfd_vma addr, struct disassemble_info *dinfo) in disas_print_address() argument
282 struct disas_context *dctx = dinfo->application_data; in disas_print_address()
295 if (!disas_print_addr_alt(addr, dinfo)) in disas_print_address()
297 addr, dinfo); in disas_print_address()
316 DINFO_FPRINTF(dinfo, bfd_vma_fmt, addr, sym->name); in disas_print_address()
321 disas_print_addr_noreloc(addr, dinfo); in disas_print_address()
323 disas_print_addr_reloc(addr, dinfo); in disas_print_address()
329 int disas_info_init(struct disassemble_info *dinfo, in disas_info_init() argument
333 struct disas_context *dctx = dinfo->application_data; in disas_info_init()
336 dinfo->arch = arch; in disas_info_init()
340 dinfo->mach = mach32; in disas_info_init()
343 dinfo->mach = mach64; in disas_info_init()
349 dinfo->disassembler_options = options; in disas_info_init()
357 struct disassemble_info *dinfo; in disas_context_create() local
367 dinfo = &dctx->info; in disas_context_create()
369 init_disassemble_info_compat(dinfo, dctx, in disas_context_create()
372 dinfo->read_memory_func = buffer_read_memory; in disas_context_create()
373 dinfo->print_address_func = disas_print_address; in disas_context_create()
374 dinfo->application_data = dctx; in disas_context_create()
383 dinfo->arch = bfd_arch_unknown; in disas_context_create()
384 dinfo->mach = 0; in disas_context_create()
386 err = arch_disas_info_init(dinfo); in disas_context_create()
387 if (err || dinfo->arch == bfd_arch_unknown || dinfo->mach == 0) { in disas_context_create()
392 dinfo->endian = (file->elf->ehdr.e_ident[EI_DATA] == ELFDATA2MSB) ? in disas_context_create()
395 disassemble_init_for_target(dinfo); in disas_context_create()
397 dctx->disassembler = disassembler(dinfo->arch, in disas_context_create()
398 dinfo->endian == BFD_ENDIAN_BIG, in disas_context_create()
399 dinfo->mach, NULL); in disas_context_create()
566 struct disassemble_info *dinfo = &dctx->info; in disas_insn_common() local
573 DINFO_FPRINTF(dinfo, "nop%d", insn->len); in disas_insn_common()
581 dinfo->buffer = insn->sec->data->d_buf; in disas_insn_common()
582 dinfo->buffer_vma = 0; in disas_insn_common()
583 dinfo->buffer_length = insn->sec->sh.sh_size; in disas_insn_common()