GDB (xrefs)
Classes | Defines | Functions | Variables
/home/stan/gdb/src/gdb/source.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "symtab.h"
#include "expression.h"
#include "language.h"
#include "command.h"
#include "source.h"
#include "gdbcmd.h"
#include "frame.h"
#include "value.h"
#include "gdb_assert.h"
#include "filestuff.h"
#include <sys/types.h>
#include "gdb_string.h"
#include "gdb_stat.h"
#include <fcntl.h>
#include "gdbcore.h"
#include "gdb_regex.h"
#include "symfile.h"
#include "objfiles.h"
#include "annotate.h"
#include "gdbtypes.h"
#include "linespec.h"
#include "filenames.h"
#include "completer.h"
#include "ui-out.h"
#include "readline/readline.h"

Go to the source code of this file.

Classes

struct  substitute_path_rule

Defines

#define OPEN_MODE   (O_RDONLY | O_BINARY)
#define FDOPEN_MODE   FOPEN_RB
#define cdir_len   5

Functions

void _initialize_source (void)
static int get_filename_and_charpos (struct symtab *, char **)
static void reverse_search_command (char *, int)
static void forward_search_command (char *, int)
static void line_info (char *, int)
static void source_info (char *, int)
static void show_lines_to_list (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void show_filename_display_string (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
int get_first_line_listed (void)
int get_lines_to_list (void)
struct symtab_and_line get_current_source_symtab_and_line (void)
void set_default_source_symtab_and_line (void)
struct symtab_and_line set_current_source_symtab_and_line (const struct symtab_and_line *sal)
void clear_current_source_symtab_and_line (void)
void select_source_symtab (struct symtab *s)
static void set_directories_command (char *args, int from_tty, struct cmd_list_element *c)
static void show_directories_1 (char *ignore, int from_tty)
static void show_directories_command (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void forget_cached_source_info_for_objfile (struct objfile *objfile)
void forget_cached_source_info (void)
void init_source_path (void)
static void directory_command (char *dirname, int from_tty)
void directory_switch (char *dirname, int from_tty)
void mod_path (char *dirname, char **which_path)
void add_path (char *dirname, char **which_path, int parse_separators)
static int is_regular_file (const char *name)
int openp (const char *path, int opts, const char *string, int mode, char **filename_opened)
int source_full_path_of (const char *filename, char **full_pathname)
static int substitute_path_rule_matches (const struct substitute_path_rule *rule, const char *path)
static struct
substitute_path_rule
get_substitute_path_rule (const char *path)
char * rewrite_source_path (const char *path)
int find_and_open_source (const char *filename, const char *dirname, char **fullname)
int open_source_file (struct symtab *s)
const char * symtab_to_fullname (struct symtab *s)
const char * symtab_to_filename_for_display (struct symtab *symtab)
void find_source_lines (struct symtab *s, int desc)
int identify_source_line (struct symtab *s, int line, int mid_statement, CORE_ADDR pc)
static void print_source_lines_base (struct symtab *s, int line, int stopline, enum print_source_lines_flags flags)
void print_source_lines (struct symtab *s, int line, int stopline, enum print_source_lines_flags flags)
static void strip_trailing_directory_separator (char *path)
static struct
substitute_path_rule
find_substitute_path_rule (const char *from)
void add_substitute_path_rule (char *from, char *to)
static void delete_substitute_path_rule (struct substitute_path_rule *rule)
static void show_substitute_path_command (char *args, int from_tty)
static void unset_substitute_path_command (char *args, int from_tty)
static void set_substitute_path_command (char *args, int from_tty)

Variables

char * source_path
static struct
substitute_path_rule
substitute_path_rules = NULL
static struct symtabcurrent_source_symtab
static int current_source_line
static struct program_spacecurrent_source_pspace
int lines_to_list = 10
static const char filename_display_basename [] = "basename"
static const char filename_display_relative [] = "relative"
static const char filename_display_absolute [] = "absolute"
static const char *const filename_display_kind_names []
static const char * filename_display_string = filename_display_relative
static int last_line_listed
static int first_line_listed
static struct symtablast_source_visited = NULL
static int last_source_error = 0

Define Documentation

#define cdir_len   5

Referenced by find_and_open_source().

#define FDOPEN_MODE   FOPEN_RB
#define OPEN_MODE   (O_RDONLY | O_BINARY)

Definition at line 48 of file source.c.

Referenced by find_and_open_source().


Function Documentation

void _initialize_source ( void  )
void add_path ( char *  dirname,
char **  which_path,
int  parse_separators 
)
void add_substitute_path_rule ( char *  from,
char *  to 
)

Definition at line 229 of file source.c.

References current_source_line.

Referenced by clear_symtab_users(), and free_objfile().

static void delete_substitute_path_rule ( struct substitute_path_rule rule) [static]
static void directory_command ( char *  dirname,
int  from_tty 
) [static]
void directory_switch ( char *  dirname,
int  from_tty 
)

Definition at line 439 of file source.c.

References add_path(), and source_path.

Referenced by captured_main().

int find_and_open_source ( const char *  filename,
const char *  dirname,
char **  fullname 
)
void find_source_lines ( struct symtab s,
int  desc 
)
static struct substitute_path_rule* find_substitute_path_rule ( const char *  from) [static, read]
void forget_cached_source_info ( void  )
void forget_cached_source_info_for_objfile ( struct objfile objfile)
static void forward_search_command ( char *  regex,
int  from_tty 
) [static]
static int get_filename_and_charpos ( struct symtab s,
char **  fullname 
) [static]

Definition at line 151 of file source.c.

References first_line_listed.

Referenced by list_command().

int get_lines_to_list ( void  )

Definition at line 162 of file source.c.

References lines_to_list.

Referenced by edit_command(), list_command(), and set_current_sal_from_frame().

static struct substitute_path_rule* get_substitute_path_rule ( const char *  path) [static, read]
int identify_source_line ( struct symtab s,
int  line,
int  mid_statement,
CORE_ADDR  pc 
)
void init_source_path ( void  )
static int is_regular_file ( const char *  name) [static]

Definition at line 653 of file source.c.

References exsummary::status.

Referenced by openp().

static void line_info ( char *  arg,
int  from_tty 
) [static]
void mod_path ( char *  dirname,
char **  which_path 
)

Definition at line 447 of file source.c.

References add_path().

Referenced by directory_command(), path_command(), and set_directories_command().

int open_source_file ( struct symtab s)
int openp ( const char *  path,
int  opts,
const char *  string,
int  mode,
char **  filename_opened 
)
void print_source_lines ( struct symtab s,
int  line,
int  stopline,
enum print_source_lines_flags  flags 
)
static void print_source_lines_base ( struct symtab s,
int  line,
int  stopline,
enum print_source_lines_flags  flags 
) [static]
static void reverse_search_command ( char *  regex,
int  from_tty 
) [static]
char* rewrite_source_path ( const char *  path)
void select_source_symtab ( struct symtab s)
static void set_directories_command ( char *  args,
int  from_tty,
struct cmd_list_element c 
) [static]

Definition at line 318 of file source.c.

References init_source_path(), mod_path(), source_path, and xfree().

static void set_substitute_path_command ( char *  args,
int  from_tty 
) [static]
static void show_directories_1 ( char *  ignore,
int  from_tty 
) [static]

Definition at line 340 of file source.c.

References puts_filtered(), and source_path.

Referenced by directory_command(), and show_directories_command().

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

Definition at line 350 of file source.c.

References show_directories_1().

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

Definition at line 125 of file source.c.

References _, and fprintf_filtered().

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

Definition at line 101 of file source.c.

References _, and fprintf_filtered().

static void show_substitute_path_command ( char *  args,
int  from_tty 
) [static]
int source_full_path_of ( const char *  filename,
char **  full_pathname 
)
static void source_info ( char *  ignore,
int  from_tty 
) [static]
static void strip_trailing_directory_separator ( char *  path) [static]

Definition at line 1766 of file source.c.

Referenced by set_substitute_path_command().

static int substitute_path_rule_matches ( const struct substitute_path_rule rule,
const char *  path 
) [static]

Definition at line 917 of file source.c.

References substitute_path_rule::from.

Referenced by get_substitute_path_rule().

const char* symtab_to_filename_for_display ( struct symtab symtab)
const char* symtab_to_fullname ( struct symtab s)
static void unset_substitute_path_command ( char *  args,
int  from_tty 
) [static]

Variable Documentation

struct symtab* current_source_symtab [static]
const char filename_display_absolute[] = "absolute" [static]

Definition at line 113 of file source.c.

Referenced by symtab_to_filename_for_display().

const char filename_display_basename[] = "basename" [static]

Definition at line 111 of file source.c.

Referenced by symtab_to_filename_for_display().

Initial value:

Definition at line 115 of file source.c.

const char filename_display_relative[] = "relative" [static]

Definition at line 112 of file source.c.

Referenced by symtab_to_filename_for_display().

Definition at line 122 of file source.c.

Referenced by symtab_to_filename_for_display().

Definition at line 138 of file source.c.

Referenced by get_first_line_listed(), identify_source_line(), and print_source_lines_base().

int last_source_error = 0 [static]

Definition at line 144 of file source.c.

Referenced by print_source_lines_base().

struct symtab* last_source_visited = NULL [static]

Definition at line 143 of file source.c.

char* source_path
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines