GDB (xrefs)
Classes | Defines | Typedefs | Functions | Variables
/home/stan/gdb/src/gdb/auto-load.c File Reference
#include "defs.h"
#include "auto-load.h"
#include "progspace.h"
#include "python/python.h"
#include "gdb_regex.h"
#include "ui-out.h"
#include "filenames.h"
#include "command.h"
#include "observer.h"
#include "objfiles.h"
#include "exceptions.h"
#include "cli/cli-script.h"
#include "gdbcmd.h"
#include "cli/cli-decode.h"
#include "cli/cli-setshow.h"
#include "gdb_vecs.h"
#include "readline/tilde.h"
#include "completer.h"
#include "fnmatch.h"
#include "top.h"
#include "filestuff.h"

Go to the source code of this file.

Classes

struct  auto_load_pspace_info
struct  loaded_script
struct  collect_matching_scripts_data

Defines

#define GDB_AUTO_FILE_NAME   "-gdb.gdb"

Typedefs

typedef struct loaded_scriptloaded_script_ptr

Functions

static void source_gdb_script_for_objfile (struct objfile *objfile, FILE *file, const char *filename)
static void show_debug_auto_load (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void show_auto_load_gdb_scripts (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void show_auto_load_local_gdbinit (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void set_auto_load_dir (char *args, int from_tty, struct cmd_list_element *c)
static void show_auto_load_dir (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static VEC (char_ptr)
static void auto_load_safe_path_vec_update (void)
static void auto_load_gdb_datadir_changed (void)
static void set_auto_load_safe_path (char *args, int from_tty, struct cmd_list_element *c)
static void show_auto_load_safe_path (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void add_auto_load_safe_path (char *args, int from_tty)
static int filename_is_in_pattern_1 (char *filename, char *pattern)
static ATTRIBUTE_PURE int filename_is_in_pattern (const char *filename, const char *pattern)
static int filename_is_in_auto_load_safe_path_vec (const char *filename, char **filename_realp)
int file_is_auto_load_safe (const char *filename, const char *debug_fmt,...)
static void auto_load_pspace_data_cleanup (struct program_space *pspace, void *arg)
static struct
auto_load_pspace_info
get_auto_load_pspace_data (struct program_space *pspace)
static hashval_t hash_loaded_script_entry (const void *data)
static int eq_loaded_script_entry (const void *a, const void *b)
static void init_loaded_scripts_info (struct auto_load_pspace_info *pspace_info)
struct auto_load_pspace_infoget_auto_load_pspace_data_for_loading (struct program_space *pspace)
int maybe_add_script (struct auto_load_pspace_info *pspace_info, int loaded, const char *name, const char *full_path, const struct script_language *language)
static void clear_section_scripts (void)
static int auto_load_objfile_script_1 (struct objfile *objfile, const char *realname, const struct script_language *language)
void auto_load_objfile_script (struct objfile *objfile, const struct script_language *language)
void load_auto_scripts_for_objfile (struct objfile *objfile)
static void auto_load_new_objfile (struct objfile *objfile)
 DEF_VEC_P (loaded_script_ptr)
static int collect_matching_scripts (void **slot, void *info)
static void print_script (struct loaded_script *script)
static int sort_scripts_by_name (const void *ap, const void *bp)
void auto_load_info_scripts (char *pattern, int from_tty, const struct script_language *language)
static void info_auto_load_gdb_scripts (char *pattern, int from_tty)
static void info_auto_load_local_gdbinit (char *args, int from_tty)
int script_not_found_warning_print (struct auto_load_pspace_info *pspace_info)
static void set_auto_load_cmd (char *args, int from_tty)
struct cmd_list_element ** auto_load_set_cmdlist_get (void)
static void show_auto_load_cmd (char *args, int from_tty)
struct cmd_list_element ** auto_load_show_cmdlist_get (void)
static void info_auto_load_cmd (char *args, int from_tty)
struct cmd_list_element ** auto_load_info_cmdlist_get (void)
void _initialize_auto_load (void)

Variables

static int debug_auto_load = 0
static int auto_load_gdb_scripts = 1
int global_auto_load = 1
int auto_load_local_gdbinit = 1
char * auto_load_local_gdbinit_pathname = NULL
int auto_load_local_gdbinit_loaded = 0
static char * auto_load_dir
static char * auto_load_safe_path
static struct script_language script_language_gdb = { GDB_AUTO_FILE_NAME, source_gdb_script_for_objfile }
static struct program_space_data * auto_load_pspace_data
char auto_load_info_scripts_pattern_nl [] = ""

Define Documentation

#define GDB_AUTO_FILE_NAME   "-gdb.gdb"

Definition at line 45 of file auto-load.c.


Typedef Documentation

Definition at line 873 of file auto-load.c.


Function Documentation

void _initialize_auto_load ( void  )
static void add_auto_load_safe_path ( char *  args,
int  from_tty 
) [static]
static void auto_load_gdb_datadir_changed ( void  ) [static]

Definition at line 238 of file auto-load.c.

References auto_load_safe_path_vec_update().

struct cmd_list_element** auto_load_info_cmdlist_get ( void  ) [read]

Definition at line 1172 of file auto-load.c.

References _, add_prefix_cmd(), class_info, info_auto_load_cmd(), and infolist.

Referenced by _initialize_thread_db(), and info_auto_load_cmd().

void auto_load_info_scripts ( char *  pattern,
int  from_tty,
const struct script_language language 
)
static void auto_load_new_objfile ( struct objfile objfile) [static]

Definition at line 859 of file auto-load.c.

References clear_section_scripts(), and load_auto_scripts_for_objfile().

void auto_load_objfile_script ( struct objfile objfile,
const struct script_language language 
)
static int auto_load_objfile_script_1 ( struct objfile objfile,
const char *  realname,
const struct script_language language 
) [static]
static void auto_load_pspace_data_cleanup ( struct program_space pspace,
void *  arg 
) [static]
static void auto_load_safe_path_vec_update ( void  ) [static]
struct cmd_list_element** auto_load_set_cmdlist_get ( void  ) [read]

Definition at line 1094 of file auto-load.c.

References _, add_prefix_cmd(), class_maintenance, set_auto_load_cmd(), and setlist.

Referenced by _initialize_thread_db(), and set_auto_load_cmd().

struct cmd_list_element** auto_load_show_cmdlist_get ( void  ) [read]
static void clear_section_scripts ( void  ) [static]
static int collect_matching_scripts ( void **  slot,
void *  info 
) [static]

Definition at line 887 of file auto-load.c.

References loaded_script::language, loaded_script::name, and VEC_safe_push.

Referenced by auto_load_info_scripts().

static int eq_loaded_script_entry ( const void *  a,
const void *  b 
) [static]

Definition at line 617 of file auto-load.c.

References loaded_script::language, and loaded_script::name.

Referenced by init_loaded_scripts_info().

int file_is_auto_load_safe ( const char *  filename,
const char *  debug_fmt,
  ... 
)
static int filename_is_in_auto_load_safe_path_vec ( const char *  filename,
char **  filename_realp 
) [static]
static ATTRIBUTE_PURE int filename_is_in_pattern ( const char *  filename,
const char *  pattern 
) [static]

Definition at line 371 of file auto-load.c.

References filename_is_in_pattern_1().

Referenced by filename_is_in_auto_load_safe_path_vec().

static int filename_is_in_pattern_1 ( char *  filename,
char *  pattern 
) [static]

Definition at line 306 of file auto-load.c.

References _, debug_auto_load, fprintf_unfiltered(), gdb_filename_fnmatch(), and gdb_stdlog.

Referenced by filename_is_in_pattern().

static struct auto_load_pspace_info* get_auto_load_pspace_data ( struct program_space pspace) [static, read]

Definition at line 590 of file auto-load.c.

References auto_load_pspace_data, and XZALLOC.

Referenced by auto_load_info_scripts(), and get_auto_load_pspace_data_for_loading().

static hashval_t hash_loaded_script_entry ( const void *  data) [static]

Definition at line 607 of file auto-load.c.

References loaded_script::language, and loaded_script::name.

Referenced by init_loaded_scripts_info().

static void info_auto_load_cmd ( char *  args,
int  from_tty 
) [static]
static void info_auto_load_gdb_scripts ( char *  pattern,
int  from_tty 
) [static]

Definition at line 1027 of file auto-load.c.

References auto_load_info_scripts(), and script_language_gdb.

static void info_auto_load_local_gdbinit ( char *  args,
int  from_tty 
) [static]
static void init_loaded_scripts_info ( struct auto_load_pspace_info pspace_info) [static]
void load_auto_scripts_for_objfile ( struct objfile objfile)
int maybe_add_script ( struct auto_load_pspace_info pspace_info,
int  loaded,
const char *  name,
const char *  full_path,
const struct script_language language 
)
static void print_script ( struct loaded_script script) [static]
static void set_auto_load_cmd ( char *  args,
int  from_tty 
) [static]
static void set_auto_load_dir ( char *  args,
int  from_tty,
struct cmd_list_element c 
) [static]

Definition at line 122 of file auto-load.c.

References AUTO_LOAD_DIR, auto_load_dir, and xfree().

static void set_auto_load_safe_path ( char *  args,
int  from_tty,
struct cmd_list_element c 
) [static]
static void show_auto_load_cmd ( char *  args,
int  from_tty 
) [static]

Definition at line 1113 of file auto-load.c.

References auto_load_show_cmdlist_get(), and cmd_show_list().

Referenced by auto_load_show_cmdlist_get().

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

Definition at line 135 of file auto-load.c.

References _, and fprintf_filtered().

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

Definition at line 74 of file auto-load.c.

References _, and fprintf_filtered().

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

Definition at line 106 of file auto-load.c.

References _, and fprintf_filtered().

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

Definition at line 261 of file auto-load.c.

References _, and fprintf_filtered().

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

Definition at line 56 of file auto-load.c.

References _, and fprintf_filtered().

static int sort_scripts_by_name ( const void *  ap,
const void *  bp 
) [static]

Definition at line 927 of file auto-load.c.

References loaded_script::name.

Referenced by auto_load_info_scripts().

static void source_gdb_script_for_objfile ( struct objfile objfile,
FILE *  file,
const char *  filename 
) [static]
static VEC ( char_ptr  ) [static]

Variable Documentation

char* auto_load_dir [static]

Definition at line 117 of file auto-load.c.

Referenced by auto_load_objfile_script_1(), and set_auto_load_dir().

int auto_load_gdb_scripts = 1 [static]

Definition at line 69 of file auto-load.c.

Referenced by load_auto_scripts_for_objfile().

Definition at line 95 of file auto-load.c.

Referenced by captured_main().

Definition at line 101 of file auto-load.c.

Referenced by captured_main(), and info_auto_load_local_gdbinit().

Definition at line 98 of file auto-load.c.

Referenced by captured_main(), and info_auto_load_local_gdbinit().

struct program_space_data* auto_load_pspace_data [static]
char* auto_load_safe_path [static]
int debug_auto_load = 0 [static]

Definition at line 92 of file auto-load.c.

Referenced by captured_main(), and load_auto_scripts_for_objfile().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines