GDB (xrefs)
|
#include "defs.h"
#include "target.h"
#include "value.h"
#include "ui-out.h"
#include "gdb_string.h"
#include "disasm.h"
#include "gdbcore.h"
#include "dis-asm.h"
Go to the source code of this file.
Classes | |
struct | dis_line_entry |
Functions | |
static int | dis_asm_read_memory (bfd_vma memaddr, gdb_byte *myaddr, unsigned int len, struct disassemble_info *info) |
static void | dis_asm_memory_error (int status, bfd_vma memaddr, struct disassemble_info *info) |
static void | dis_asm_print_address (bfd_vma addr, struct disassemble_info *info) |
static int | compare_lines (const void *mle1p, const void *mle2p) |
static int | dump_insns (struct gdbarch *gdbarch, struct ui_out *uiout, struct disassemble_info *di, CORE_ADDR low, CORE_ADDR high, int how_many, int flags, struct ui_file *stb) |
static void | do_mixed_source_and_assembly (struct gdbarch *gdbarch, struct ui_out *uiout, struct disassemble_info *di, int nlines, struct linetable_entry *le, CORE_ADDR low, CORE_ADDR high, struct symtab *symtab, int how_many, int flags, struct ui_file *stb) |
static void | do_assembly_only (struct gdbarch *gdbarch, struct ui_out *uiout, struct disassemble_info *di, CORE_ADDR low, CORE_ADDR high, int how_many, int flags, struct ui_file *stb) |
static int | ATTRIBUTE_PRINTF (2, 3) |
static struct disassemble_info | gdb_disassemble_info (struct gdbarch *gdbarch, struct ui_file *file) |
void | gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout, char *file_string, int flags, int how_many, CORE_ADDR low, CORE_ADDR high) |
int | gdb_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr, struct ui_file *stream, int *branch_delay_insns) |
static void | do_ui_file_delete (void *arg) |
int | gdb_insn_length (struct gdbarch *gdbarch, CORE_ADDR addr) |
static void | gdb_buffered_insn_length_init_dis (struct gdbarch *gdbarch, struct disassemble_info *di, const gdb_byte *insn, int max_len, CORE_ADDR addr) |
int | gdb_buffered_insn_length (struct gdbarch *gdbarch, const gdb_byte *insn, int max_len, CORE_ADDR addr) |
static int ATTRIBUTE_PRINTF | ( | 2 | , |
3 | |||
) | [static] |
Definition at line 367 of file disasm.c.
References vfprintf_filtered().
static int compare_lines | ( | const void * | mle1p, |
const void * | mle2p | ||
) | [static] |
Definition at line 71 of file disasm.c.
References dis_line_entry::line, and dis_line_entry::start_pc.
Referenced by do_mixed_source_and_assembly().
static void dis_asm_memory_error | ( | int | status, |
bfd_vma | memaddr, | ||
struct disassemble_info * | info | ||
) | [static] |
Definition at line 55 of file disasm.c.
References memory_error().
Referenced by gdb_disassemble_info().
static void dis_asm_print_address | ( | bfd_vma | addr, |
struct disassemble_info * | info | ||
) | [static] |
Definition at line 63 of file disasm.c.
References print_address().
Referenced by gdb_disassemble_info().
static int dis_asm_read_memory | ( | bfd_vma | memaddr, |
gdb_byte * | myaddr, | ||
unsigned int | len, | ||
struct disassemble_info * | info | ||
) | [static] |
Definition at line 47 of file disasm.c.
References target_read_memory().
Referenced by gdb_disassemble_info().
static void do_assembly_only | ( | struct gdbarch * | gdbarch, |
struct ui_out * | uiout, | ||
struct disassemble_info * | di, | ||
CORE_ADDR | low, | ||
CORE_ADDR | high, | ||
int | how_many, | ||
int | flags, | ||
struct ui_file * | stb | ||
) | [static] |
Definition at line 348 of file disasm.c.
References do_cleanups(), dump_insns(), and make_cleanup_ui_out_list_begin_end().
Referenced by gdb_disassembly().
static void do_mixed_source_and_assembly | ( | struct gdbarch * | gdbarch, |
struct ui_out * | uiout, | ||
struct disassemble_info * | di, | ||
int | nlines, | ||
struct linetable_entry * | le, | ||
CORE_ADDR | low, | ||
CORE_ADDR | high, | ||
struct symtab * | symtab, | ||
int | how_many, | ||
int | flags, | ||
struct ui_file * | stb | ||
) | [static] |
Definition at line 195 of file disasm.c.
References compare_lines(), DISASSEMBLY_FILENAME, do_cleanups(), dump_insns(), symtab_and_line::end, dis_line_entry::end_pc, find_pc_line(), dis_line_entry::line, linetable_entry::line, line, make_cleanup(), make_cleanup_ui_out_list_begin_end(), make_cleanup_ui_out_tuple_begin_end(), null_cleanup(), linetable_entry::pc, print_source_lines(), PRINT_SOURCE_LINES_FILENAME, qsort, dis_line_entry::start_pc, and ui_out_text().
Referenced by gdb_disassembly().
static void do_ui_file_delete | ( | void * | arg | ) | [static] |
Definition at line 465 of file disasm.c.
References ui_file_delete().
Referenced by gdb_insn_length().
static int dump_insns | ( | struct gdbarch * | gdbarch, |
struct ui_out * | uiout, | ||
struct disassemble_info * | di, | ||
CORE_ADDR | low, | ||
CORE_ADDR | high, | ||
int | how_many, | ||
int | flags, | ||
struct ui_file * | stb | ||
) | [static] |
Definition at line 97 of file disasm.c.
References build_address_symbolic(), DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_OMIT_PC, DISASSEMBLY_RAW_INSN, do_cleanups(), fprintf_filtered(), gdbarch_print_insn(), line, make_cleanup_ui_file_delete(), make_cleanup_ui_out_tuple_begin_end(), mem_fileopen(), name, offset, pc_prefix(), QUIT, exsummary::status, ui_file_rewind(), ui_out_field_core_addr(), ui_out_field_int(), ui_out_field_stream(), ui_out_field_string(), ui_out_text(), and xfree().
Referenced by do_assembly_only(), and do_mixed_source_and_assembly().
int gdb_buffered_insn_length | ( | struct gdbarch * | gdbarch, |
const gdb_byte * | insn, | ||
int | max_len, | ||
CORE_ADDR | addr | ||
) |
Definition at line 527 of file disasm.c.
References gdb_buffered_insn_length_init_dis(), and gdbarch_print_insn().
Referenced by amd64_relocate_instruction(), fixup_riprel(), and i386_relocate_instruction().
static void gdb_buffered_insn_length_init_dis | ( | struct gdbarch * | gdbarch, |
struct disassemble_info * | di, | ||
const gdb_byte * | insn, | ||
int | max_len, | ||
CORE_ADDR | addr | ||
) | [static] |
Definition at line 501 of file disasm.c.
References gdbarch_bfd_arch_info(), gdbarch_byte_order(), and gdbarch_byte_order_for_code().
Referenced by gdb_buffered_insn_length().
static struct disassemble_info gdb_disassemble_info | ( | struct gdbarch * | gdbarch, |
struct ui_file * | file | ||
) | [static, read] |
Definition at line 380 of file disasm.c.
References dis_asm_memory_error(), dis_asm_print_address(), dis_asm_read_memory(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), and gdbarch_byte_order_for_code().
Referenced by gdb_disassembly(), and gdb_print_insn().
void gdb_disassembly | ( | struct gdbarch * | gdbarch, |
struct ui_out * | uiout, | ||
char * | file_string, | ||
int | flags, | ||
int | how_many, | ||
CORE_ADDR | low, | ||
CORE_ADDR | high | ||
) |
Definition at line 407 of file disasm.c.
References DISASSEMBLY_SOURCE, do_assembly_only(), do_cleanups(), do_mixed_source_and_assembly(), find_pc_symtab(), gdb_disassemble_info(), gdb_flush(), gdb_stdout, linetable::item, symtab::linetable, make_cleanup_ui_file_delete(), mem_fileopen(), and linetable::nitems.
Referenced by btrace_insn_history(), do_gdb_disassembly(), mi_cmd_disassemble(), and print_disassembly().
int gdb_insn_length | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | addr | ||
) |
Definition at line 474 of file disasm.c.
References do_ui_file_delete(), gdb_print_insn(), make_final_cleanup(), and ui_file_new().
Referenced by VEC().
int gdb_print_insn | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | memaddr, | ||
struct ui_file * | stream, | ||
int * | branch_delay_insns | ||
) |
Definition at line 446 of file disasm.c.
References gdb_disassemble_info(), and gdbarch_print_insn().
Referenced by archpy_disassemble(), gdb_insn_length(), gdbtk_load_asm(), i386_fast_tracepoint_valid_at(), print_formatted(), and tui_disassemble().