GDB (xrefs)
Functions | Variables
/tmp/gdb-8.1/gdb/exec.c File Reference
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "target.h"
#include "gdbcmd.h"
#include "language.h"
#include "filenames.h"
#include "symfile.h"
#include "objfiles.h"
#include "completer.h"
#include "value.h"
#include "exec.h"
#include "observer.h"
#include "arch-utils.h"
#include "gdbthread.h"
#include "progspace.h"
#include "gdb_bfd.h"
#include "gcore.h"
#include <fcntl.h>
#include "readline/readline.h"
#include "gdbcore.h"
#include <ctype.h>
#include <sys/stat.h>
#include "solist.h"
#include <algorithm>

Go to the source code of this file.

Functions

static void exec_files_info (struct target_ops *)
 
static void init_exec_ops (void)
 
static void show_write_files (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void exec_open (const char *args, int from_tty)
 
void exec_close (void)
 
static void exec_close_1 (struct target_ops *self)
 
void exec_file_clear (int from_tty)
 
void try_open_exec_file (const char *exec_file_host, struct inferior *inf, symfile_add_flags add_flags)
 
void exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty)
 
void exec_file_attach (const char *filename, int from_tty)
 
static void exec_file_command (const char *args, int from_tty)
 
static void file_command (const char *arg, int from_tty)
 
static void add_to_section_table (bfd *abfd, struct bfd_section *asect, void *table_pp_char)
 
void clear_section_table (struct target_section_table *table)
 
static int resize_section_table (struct target_section_table *table, int adjustment)
 
int build_section_table (struct bfd *some_bfd, struct target_section **start, struct target_section **end)
 
void add_target_sections (void *owner, struct target_section *sections, struct target_section *sections_end)
 
void add_target_sections_of_objfile (struct objfile *objfile)
 
void remove_target_sections (void *owner)
 
enum target_xfer_status exec_read_partial_read_only (gdb_byte *readbuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 
static std::vector< mem_rangesection_table_available_memory (CORE_ADDR memaddr, ULONGEST len, struct target_section *sections, struct target_section *sections_end)
 
enum target_xfer_status section_table_read_available_memory (gdb_byte *readbuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 
enum target_xfer_status section_table_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len, struct target_section *sections, struct target_section *sections_end, const char *section_name)
 
static struct target_section_tableexec_get_section_table (struct target_ops *ops)
 
static enum target_xfer_status exec_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 
void print_section_info (struct target_section_table *t, bfd *abfd)
 
static void set_section_command (const char *args, int from_tty)
 
void exec_set_section_address (const char *filename, int index, CORE_ADDR address)
 
static int ignore (struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 
static int exec_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt, enum remove_bp_reason reason)
 
static int exec_has_memory (struct target_ops *ops)
 
static char * exec_make_note_section (struct target_ops *self, bfd *obfd, int *note_size)
 
void _initialize_exec (void)
 

Variables

void(* deprecated_file_changed_hook )(const char *)
 
static struct target_ops exec_ops
 
int write_files = 0
 

Function Documentation

◆ _initialize_exec()

void _initialize_exec ( void  )

◆ add_target_sections()

void add_target_sections ( void *  owner,
struct target_section sections,
struct target_section sections_end 
)

◆ add_target_sections_of_objfile()

void add_target_sections_of_objfile ( struct objfile objfile)

◆ add_to_section_table()

static void add_to_section_table ( bfd *  abfd,
struct bfd_section *  asect,
void *  table_pp_char 
)
static

Definition at line 445 of file exec.c.

References gdb_assert.

Referenced by build_section_table().

◆ build_section_table()

int build_section_table ( struct bfd *  some_bfd,
struct target_section **  start,
struct target_section **  end 
)

◆ clear_section_table()

void clear_section_table ( struct target_section_table table)

◆ exec_close()

void exec_close ( void  )

◆ exec_close_1()

static void exec_close_1 ( struct target_ops self)
static

◆ exec_file_attach()

void exec_file_attach ( const char *  filename,
int  from_tty 
)

◆ exec_file_clear()

void exec_file_clear ( int  from_tty)

Definition at line 121 of file exec.c.

References _, exec_close(), and printf_unfiltered().

◆ exec_file_command()

static void exec_file_command ( const char *  args,
int  from_tty 
)
static

Definition at line 396 of file exec.c.

References _, gdb::argv, error(), exec_file_attach(), gdb_argv::get(), query(), and target_has_execution.

Referenced by _initialize_exec(), and file_command().

◆ exec_file_locate_attach()

void exec_file_locate_attach ( int  pid,
int  defer_bp_reset,
int  from_tty 
)

◆ exec_files_info()

static void exec_files_info ( struct target_ops t)
static

Definition at line 947 of file exec.c.

References _, current_target_sections, exec_bfd, print_section_info(), and puts_filtered().

Referenced by init_exec_ops(), and set_section_command().

◆ exec_get_section_table()

static struct target_section_table* exec_get_section_table ( struct target_ops ops)
static

Definition at line 853 of file exec.c.

References current_target_sections.

Referenced by init_exec_ops().

◆ exec_has_memory()

static int exec_has_memory ( struct target_ops ops)
static

Definition at line 1041 of file exec.c.

References current_target_sections.

Referenced by init_exec_ops().

◆ exec_make_note_section()

static char* exec_make_note_section ( struct target_ops self,
bfd *  obfd,
int *  note_size 
)
static

Definition at line 1050 of file exec.c.

References _, and error().

Referenced by init_exec_ops().

◆ exec_open()

static void exec_open ( const char *  args,
int  from_tty 
)
static

Definition at line 73 of file exec.c.

References exec_file_attach(), and target_preopen().

Referenced by init_exec_ops().

◆ exec_read_partial_read_only()

enum target_xfer_status exec_read_partial_read_only ( gdb_byte readbuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len 
)

◆ exec_remove_breakpoint()

static int exec_remove_breakpoint ( struct target_ops ops,
struct gdbarch gdbarch,
struct bp_target_info bp_tgt,
enum remove_bp_reason  reason 
)
static

Definition at line 1033 of file exec.c.

Referenced by init_exec_ops().

◆ exec_set_section_address()

void exec_set_section_address ( const char *  filename,
int  index,
CORE_ADDR  address 
)

◆ exec_xfer_partial()

static enum target_xfer_status exec_xfer_partial ( struct target_ops ops,
enum target_object  object,
const char *  annex,
gdb_byte readbuf,
const gdb_byte writebuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len 
)
static

◆ file_command()

static void file_command ( const char *  arg,
int  from_tty 
)
static

Definition at line 429 of file exec.c.

References deprecated_file_changed_hook, exec_file_command(), and symbol_file_command().

Referenced by _initialize_exec().

◆ ignore()

static int ignore ( struct target_ops ops,
struct gdbarch gdbarch,
struct bp_target_info bp_tgt 
)
static

Definition at line 1024 of file exec.c.

Referenced by init_exec_ops().

◆ init_exec_ops()

static void init_exec_ops ( void  )
static

◆ print_section_info()

void print_section_info ( struct target_section_table t,
bfd *  abfd 
)

◆ remove_target_sections()

void remove_target_sections ( void *  owner)

◆ resize_section_table()

static int resize_section_table ( struct target_section_table table,
int  adjustment 
)
static

◆ section_table_available_memory()

static std::vector<mem_range> section_table_available_memory ( CORE_ADDR  memaddr,
ULONGEST  len,
struct target_section sections,
struct target_section sections_end 
)
static

Definition at line 701 of file exec.c.

References mem_ranges_overlap().

Referenced by section_table_read_available_memory().

◆ section_table_read_available_memory()

enum target_xfer_status section_table_read_available_memory ( gdb_byte readbuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len 
)

◆ section_table_xfer_memory_partial()

enum target_xfer_status section_table_xfer_memory_partial ( gdb_byte readbuf,
const gdb_byte writebuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len,
struct target_section sections,
struct target_section sections_end,
const char *  section_name 
)

◆ set_section_command()

static void set_section_command ( const char *  args,
int  from_tty 
)
static

◆ show_write_files()

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

Definition at line 64 of file exec.c.

References _, and fprintf_filtered().

Referenced by _initialize_exec().

◆ try_open_exec_file()

void try_open_exec_file ( const char *  exec_file_host,
struct inferior inf,
symfile_add_flags  add_flags 
)

Variable Documentation

◆ deprecated_file_changed_hook

void(* deprecated_file_changed_hook) (const char *)

Definition at line 48 of file exec.c.

Referenced by file_command().

◆ exec_ops

struct target_ops exec_ops
static

◆ write_files

int write_files = 0

Definition at line 62 of file exec.c.

Referenced by _initialize_exec(), bsd_kvm_open(), captured_main_1(), core_open(), and exec_file_attach().