GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
/tmp/gdb-13.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 "gdbsupport/gdb_optional.h"
#include "valprint.h"
#include "cli/cli-style.h"

Go to the source code of this file.

Classes

struct  deprecated_dis_line_entry
 
struct  dis_line_entry
 
struct  gdb_non_printing_buffer_disassembler
 

Functions

static void show_use_libopcodes_styling (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void set_use_libopcodes_styling (const char *args, int from_tty, struct cmd_list_element *c)
 
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 bool line_is_less_than (const deprecated_dis_line_entry &mle1, const deprecated_dis_line_entry &mle2)
 
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 std::string get_all_disassembler_options (struct gdbarch *gdbarch)
 
static int gdb_print_insn_1 (struct gdbarch *gdbarch, CORE_ADDR vma, struct disassemble_info *info)
 
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)
 
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 (const 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 ()
 

Variables

static std::string prospective_options
 
static bool use_libopcodes_styling = true
 
static bool use_libopcodes_styling_option = use_libopcodes_styling
 

Function Documentation

◆ _initialize_disasm()

void _initialize_disasm ( )

Definition at line 1502 of file disasm.c.

Referenced by initialize_all_files().

◆ add_dis_line_entry()

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

Definition at line 160 of file disasm.c.

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

Referenced by do_mixed_source_and_assembly().

◆ allocate_dis_line_table()

static htab_t allocate_dis_line_table ( void  )
static

Definition at line 150 of file disasm.c.

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

Referenced by do_mixed_source_and_assembly().

◆ 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 936 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 138 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_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 
)

◆ gdb_print_insn_1()

static int gdb_print_insn_1 ( struct gdbarch gdbarch,
CORE_ADDR  vma,
struct disassemble_info *  info 
)
static

◆ get_all_disassembler_options()

static std::string get_all_disassembler_options ( struct gdbarch gdbarch)
static

◆ 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 128 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 180 of file disasm.c.

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

Referenced by do_mixed_source_and_assembly().

◆ line_is_less_than()

static bool line_is_less_than ( const deprecated_dis_line_entry mle1,
const deprecated_dis_line_entry mle2 
)
static

◆ set_disassembler_options()

void set_disassembler_options ( const 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 1363 of file disasm.c.

References prospective_options, and set_disassembler_options().

◆ set_use_libopcodes_styling()

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

◆ 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

◆ show_use_libopcodes_styling()

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

Variable Documentation

◆ prospective_options

std::string prospective_options
static

Definition at line 42 of file disasm.c.

Referenced by set_disassembler_options(), and set_disassembler_options_sfunc().

◆ use_libopcodes_styling

bool use_libopcodes_styling = true
static

◆ use_libopcodes_styling_option

bool use_libopcodes_styling_option = use_libopcodes_styling
static

Definition at line 52 of file disasm.c.

Referenced by set_use_libopcodes_styling().