GDB (xrefs)
Classes | Functions | Variables
/tmp/gdb-8.1/gdb/disasm.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "target.h"
#include "value.h"
#include "ui-out.h"
#include "disasm.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "dis-asm.h"
#include "source.h"
#include "safe-ctype.h"
#include <algorithm>
#include "common/gdb_optional.h"

Go to the source code of this file.

Classes

struct  deprecated_dis_line_entry
 
struct  dis_line_entry
 

Functions

static hashval_t hash_dis_line_entry (const void *item)
 
static int eq_dis_line_entry (const void *item_lhs, const void *item_rhs)
 
static htab_t allocate_dis_line_table (void)
 
static void add_dis_line_entry (htab_t table, struct symtab *symtab, int line)
 
static int line_has_code_p (htab_t table, struct symtab *symtab, int line)
 
static int compare_lines (const void *mle1p, const void *mle2p)
 
static int dump_insns (struct gdbarch *gdbarch, struct ui_out *uiout, CORE_ADDR low, CORE_ADDR high, int how_many, gdb_disassembly_flags flags, CORE_ADDR *end_pc)
 
static void do_mixed_source_and_assembly_deprecated (struct gdbarch *gdbarch, struct ui_out *uiout, struct symtab *symtab, CORE_ADDR low, CORE_ADDR high, int how_many, gdb_disassembly_flags flags)
 
static void do_mixed_source_and_assembly (struct gdbarch *gdbarch, struct ui_out *uiout, struct symtab *main_symtab, CORE_ADDR low, CORE_ADDR high, int how_many, gdb_disassembly_flags flags)
 
static void do_assembly_only (struct gdbarch *gdbarch, struct ui_out *uiout, CORE_ADDR low, CORE_ADDR high, int how_many, gdb_disassembly_flags flags)
 
static int ATTRIBUTE_PRINTF (2, 3)
 
void gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout, gdb_disassembly_flags 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)
 
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)
 
char * get_disassembler_options (struct gdbarch *gdbarch)
 
void set_disassembler_options (char *prospective_options)
 
static void set_disassembler_options_sfunc (const char *args, int from_tty, struct cmd_list_element *c)
 
static void show_disassembler_options_sfunc (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void disassembler_options_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
 
void _initialize_disasm (void)
 

Variables

static char * prospective_options = NULL
 

Function Documentation

◆ _initialize_disasm()

void _initialize_disasm ( void  )

◆ add_dis_line_entry()

static void add_dis_line_entry ( htab_t  table,
struct symtab symtab,
int  line 
)
static

Definition at line 101 of file disasm.c.

References dis_line_entry::line, dis_line_entry::symtab, and XNEW.

Referenced by do_mixed_source_and_assembly().

◆ allocate_dis_line_table()

static htab_t allocate_dis_line_table ( void  )
static

Definition at line 91 of file disasm.c.

References eq_dis_line_entry(), hash_dis_line_entry(), xcalloc(), and xfree().

Referenced by do_mixed_source_and_assembly().

◆ ATTRIBUTE_PRINTF()

static int ATTRIBUTE_PRINTF ( ,
 
)
static

Definition at line 718 of file disasm.c.

References vfprintf_filtered().

◆ compare_lines()

static int compare_lines ( const void *  mle1p,
const void *  mle2p 
)
static

◆ disassembler_options_completer()

static void disassembler_options_completer ( struct cmd_list_element ignore,
completion_tracker tracker,
const char *  text,
const char *  word 
)
static

◆ do_assembly_only()

static void do_assembly_only ( struct gdbarch gdbarch,
struct ui_out uiout,
CORE_ADDR  low,
CORE_ADDR  high,
int  how_many,
gdb_disassembly_flags  flags 
)
static

Definition at line 706 of file disasm.c.

References dump_insns(), and flags.

Referenced by gdb_disassembly().

◆ do_mixed_source_and_assembly()

static void do_mixed_source_and_assembly ( struct gdbarch gdbarch,
struct ui_out uiout,
struct symtab main_symtab,
CORE_ADDR  low,
CORE_ADDR  high,
int  how_many,
gdb_disassembly_flags  flags 
)
static

◆ do_mixed_source_and_assembly_deprecated()

static void do_mixed_source_and_assembly_deprecated ( struct gdbarch gdbarch,
struct ui_out uiout,
struct symtab symtab,
CORE_ADDR  low,
CORE_ADDR  high,
int  how_many,
gdb_disassembly_flags  flags 
)
static

◆ dump_insns()

static int dump_insns ( struct gdbarch gdbarch,
struct ui_out uiout,
CORE_ADDR  low,
CORE_ADDR  high,
int  how_many,
gdb_disassembly_flags  flags,
CORE_ADDR end_pc 
)
static

◆ eq_dis_line_entry()

static int eq_dis_line_entry ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 79 of file disasm.c.

References dis_line_entry::line, and dis_line_entry::symtab.

Referenced by allocate_dis_line_table().

◆ gdb_buffered_insn_length()

int gdb_buffered_insn_length ( struct gdbarch gdbarch,
const gdb_byte insn,
int  max_len,
CORE_ADDR  addr 
)

◆ gdb_buffered_insn_length_init_dis()

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

◆ gdb_disassembly()

void gdb_disassembly ( struct gdbarch gdbarch,
struct ui_out uiout,
gdb_disassembly_flags  flags,
int  how_many,
CORE_ADDR  low,
CORE_ADDR  high 
)

◆ gdb_insn_length()

int gdb_insn_length ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)

◆ gdb_print_insn()

int gdb_print_insn ( struct gdbarch gdbarch,
CORE_ADDR  memaddr,
struct ui_file stream,
int *  branch_delay_insns 
)

◆ get_disassembler_options()

char* get_disassembler_options ( struct gdbarch gdbarch)

◆ hash_dis_line_entry()

static hashval_t hash_dis_line_entry ( const void *  item)
static

Definition at line 69 of file disasm.c.

References dis_line_entry::line, and dis_line_entry::symtab.

Referenced by allocate_dis_line_table().

◆ line_has_code_p()

static int line_has_code_p ( htab_t  table,
struct symtab symtab,
int  line 
)
static

Definition at line 121 of file disasm.c.

References dis_line_entry::line, and dis_line_entry::symtab.

Referenced by do_mixed_source_and_assembly().

◆ set_disassembler_options()

void set_disassembler_options ( char *  prospective_options)

◆ set_disassembler_options_sfunc()

static void set_disassembler_options_sfunc ( const char *  args,
int  from_tty,
struct cmd_list_element c 
)
static

Definition at line 940 of file disasm.c.

References prospective_options, and set_disassembler_options().

Referenced by _initialize_disasm().

◆ show_disassembler_options_sfunc()

static void show_disassembler_options_sfunc ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Variable Documentation

◆ prospective_options

char* prospective_options = NULL
static