Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions | Variables
debug.c File Reference
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <regex.h>
#include <limits.h>
#include <stdint.h>
#include <inttypes.h>
#include <stdarg.h>
#include <glib.h>
#include <dwarf.h>
#include "common.h"
#include "log.h"
#include "output.h"
#include "list.h"
#include "alist.h"
#include "glib_wrapper.h"
#include "rfilter.h"
#include "binfile.h"
#include "dwdebug.h"
#include "dwdebug_priv.h"
Include dependency graph for debug.c:

Go to the source code of this file.

Functions

void dwdebug_init (void)
 
void dwdebug_evict (struct debugfile *debugfile)
 
void dwdebug_evict_all (void)
 
void dwdebug_fini (void)
 
struct symbolsymbol_get_sym (struct symbol *symbol, const char *name, symbol_type_flag_t flags)
 
struct lsymbolsymbol_lookup_sym__int (struct symbol *symbol, const char *name, const char *delim)
 
struct lsymbolsymbol_lookup_sym (struct symbol *symbol, const char *name, const char *delim)
 
struct lsymbollsymbol_lookup_sym__int (struct lsymbol *lsymbol, const char *name, const char *delim)
 
struct lsymbollsymbol_lookup_sym (struct lsymbol *lsymbol, const char *name, const char *delim)
 
OFFSET symbol_offsetof (struct symbol *symbol, const char *name, const char *delim)
 
OFFSET lsymbol_offsetof (struct lsymbol *lsymbol, const char *name, const char *delim)
 
struct lsymbollsymbol_clone (struct lsymbol *lsymbol, struct symbol *newchild)
 
struct array_listdebugfile_lookup_addrs_line (struct debugfile *debugfile, char *filename, int line)
 
int debugfile_lookup_line_addr (struct debugfile *debugfile, char *filename, ADDR addr)
 
int debugfile_lookup_filename_line_addr (struct debugfile *debugfile, ADDR addr, char **filename, int *line)
 
struct lsymboldebugfile_lookup_sym_line__int (struct debugfile *debugfile, char *filename, int line, SMOFFSET *offset, ADDR *addr)
 
struct lsymboldebugfile_lookup_sym_line (struct debugfile *debugfile, char *filename, int line, SMOFFSET *offset, ADDR *addr)
 
struct lsymboldebugfile_lookup_addr__int (struct debugfile *debugfile, ADDR addr)
 
int debugfile_lookup_addr_alt__int (struct debugfile *debugfile, ADDR addr, struct lsymbol **primary, struct lsymbol **alt)
 
struct lsymboldebugfile_lookup_addr (struct debugfile *debugfile, ADDR addr)
 
struct lsymboldebugfile_lookup_sym__int (struct debugfile *debugfile, char *name, const char *delim, struct rfilter *srcfile_filter, symbol_type_flag_t flags)
 
struct lsymboldebugfile_lookup_sym (struct debugfile *debugfile, char *name, const char *delim, struct rfilter *srcfile_filter, symbol_type_flag_t flags)
 
GSList * debugfile_match_syms (struct debugfile *debugfile, struct rfilter *symbol_filter, symbol_type_flag_t flags, struct rfilter *srcfile_filter)
 
debugfile_load_flags_t debugfile_load_flags_parse (char *flagstr, char *delim)
 
struct debugfile_load_optsdebugfile_load_opts_parse (char *optstr)
 
int debugfile_load_opts_checklist (struct array_list *opts_list, char *name, struct debugfile_load_opts **match_saveptr)
 
void debugfile_load_opts_free (struct debugfile_load_opts *opts)
 
char * debugfile_get_name (struct debugfile *debugfile)
 
char * debugfile_get_version (struct debugfile *debugfile)
 
void debugfile_init_internal (struct debugfile *debugfile)
 
struct debugfiledebugfile_create_basic (debugfile_type_t dtype, debugfile_type_flags_t dtflags, char *filename, struct debugfile_load_opts *opts)
 
struct debugfiledebugfile_create (debugfile_type_t dtype, debugfile_type_flags_t dtflags, struct binfile *binfile, struct debugfile_load_opts *opts, struct binfile *binfile_pointing)
 
char * debugfile_search_path (char *filename, char *root_prefix, char *debug_postfix, const char *DFPATH[], char *buf, int buflen)
 
struct debugfiledebugfile_from_file (char *filename, char *root_prefix, struct array_list *debugfile_load_opts_list)
 
struct debugfiledebugfile_from_instance (struct binfile_instance *bfinst, struct array_list *debugfile_load_opts_list)
 
struct debugfiledebugfile_from_binfile (struct binfile *binfile, struct array_list *debugfile_load_opts_list)
 
struct array_listdebugfile_get_loaded_debugfiles (void)
 
int debugfile_update_root (struct debugfile *debugfile, struct symbol *symbol)
 
int debugfile_insert_root (struct debugfile *debugfile, struct symbol *symbol)
 
int debugfile_remove_root (struct debugfile *debugfile, struct symbol *symbol)
 
struct symboldebugfile_lookup_root (struct debugfile *debugfile, SMOFFSET offset)
 
struct symboldebugfile_lookup_root_name (struct debugfile *debugfile, char *name)
 
int debugfile_declaration_copy_definition (struct debugfile *debugfile, struct symbol *declaration, struct symbol *definition)
 
void debugfile_save_declaration (struct debugfile *debugfile, struct symbol *symbol)
 
void debugfile_handle_declaration (struct debugfile *debugfile, struct symbol *symbol)
 
void debugfile_resolve_one_declaration (struct debugfile *debugfile, char *name)
 
void debugfile_resolve_declarations (struct debugfile *debugfile)
 
int debugfile_add_global (struct debugfile *debugfile, struct symbol *symbol)
 
struct symboldebugfile_find_type (struct debugfile *debugfile, char *typename)
 
int debugfile_add_type (struct debugfile *debugfile, struct symbol *symbol)
 
int debugfile_replace_type (struct debugfile *debugfile, struct symbol *symbol)
 
REFCNT debugfile_free (struct debugfile *debugfile, int force)
 
struct symbolsymbol_create (symbol_type_t symtype, symbol_source_t source, char *name, int name_copy, SMOFFSET offset, load_type_t loadtype, struct scope *scope)
 
char * symbol_get_name (struct symbol *symbol)
 
char * symbol_get_name_inline (struct symbol *symbol)
 
char * symbol_get_name_orig (struct symbol *symbol)
 
void symbol_set_name (struct symbol *symbol, char *name, int copy)
 
void symbol_build_extname (struct symbol *symbol)
 
int symbol_has_ext_name (struct symbol *symbol)
 
struct scopesymbol_containing_scope (struct symbol *symbol)
 
struct scopesymbol_read_owned_scope (struct symbol *symbol)
 
struct scopesymbol_write_owned_scope (struct symbol *symbol)
 
struct scopesymbol_link_owned_scope (struct symbol *symbol, struct scope *new_parent)
 
int symbol_insert_symbol (struct symbol *parent, struct symbol *child)
 
int symbol_remove_symbol (struct symbol *parent, struct symbol *child)
 
int symbol_change_parent (struct symbol *parent, struct symbol *child, struct symbol *newparent)
 
int symbol_get_srcline (struct symbol *symbol)
 
char * symbol_get_srcfile (struct symbol *symbol)
 
char * symbol_get_compdirname (struct symbol *symbol)
 
symbol_type_t symbol_get_type (struct symbol *symbol)
 
symbol_source_t symbol_get_source (struct symbol *symbol)
 
struct symbolsymbol_get_datatype_real (struct symbol *symbol)
 
struct symbolsymbol_get_datatype (struct symbol *symbol)
 
int symbol_is_synthetic (struct symbol *symbol)
 
int symbol_is_external (struct symbol *symbol)
 
int symbol_is_definition (struct symbol *symbol)
 
int symbol_is_declaration (struct symbol *symbol)
 
int symbol_is_decldefined (struct symbol *symbol)
 
int symbol_is_prototyped (struct symbol *symbol)
 
int symbol_is_parameter (struct symbol *symbol)
 
int symbol_is_member (struct symbol *symbol)
 
int symbol_is_enumerator (struct symbol *symbol)
 
int symbol_is_inlineinstance (struct symbol *symbol)
 
int symbol_has_addr (struct symbol *symbol)
 
int symbol_has_unspecified_parameters (struct symbol *symbol)
 
int symbol_is_inlined (struct symbol *symbol)
 
int symbol_is_declinline (struct symbol *symbol)
 
int symbol_is_bitsize (struct symbol *symbol)
 
int symbol_is_bytesize (struct symbol *symbol)
 
uint32_t symbol_get_bytesize (struct symbol *symbol)
 
uint32_t symbol_get_bitsize (struct symbol *symbol)
 
uint32_t symbol_get_bitoffset (struct symbol *symbol)
 
uint32_t symbol_get_bitctbytes (struct symbol *symbol)
 
ADDR symbol_get_addr (struct symbol *symbol)
 
int symbol_type_flags_match (struct symbol *symbol, symbol_type_flag_t flags)
 
struct symbolsymbol_find_parent (struct symbol *symbol)
 
struct symbolsymbol_find_root (struct symbol *symbol)
 
GSList * symbol_get_ordered_members (struct symbol *symbol, symbol_type_flag_t flags)
 
GSList * symbol_get_members (struct symbol *symbol, symbol_type_flag_t flags)
 
int symbol_expand (struct symbol *symbol)
 
void symbol_set_srcline (struct symbol *s, int sl)
 
void symbol_set_bytesize (struct symbol *s, uint32_t b)
 
void symbol_set_bitsize (struct symbol *s, uint32_t b)
 
void symbol_set_bitoffset (struct symbol *s, uint32_t bo)
 
void symbol_set_bitsize_all (struct symbol *s, uint32_t b, uint32_t bo, uint32_t ctb)
 
void symbol_set_addr (struct symbol *s, ADDR a)
 
int symbol_set_root_priv (struct symbol *symbol, void *priv)
 
int symbol_set_root_compdir (struct symbol *symbol, char *compdirname, int copy)
 
int symbol_set_root_producer (struct symbol *symbol, char *producer, int copy)
 
int symbol_set_root_language (struct symbol *symbol, char *language, int copy, short int lang_code)
 
int symbol_set_encoding (struct symbol *symbol, encoding_t num)
 
int symbol_set_entry_pc (struct symbol *symbol, ADDR entry_pc)
 
int symbol_set_location (struct symbol *symbol, struct location *loc)
 
int symbol_set_inline_info (struct symbol *symbol, int isinlined, int isdeclinline)
 
int symbol_set_inline_origin (struct symbol *symbol, SMOFFSET ref, struct symbol *origin)
 
int symbol_add_inline_instance (struct symbol *symbol, struct symbol *instance)
 
int symbol_set_constval (struct symbol *symbol, void *value, int len, int copy)
 
int symbol_add_subrange (struct symbol *symbol, int subrange)
 
int symbol_type_equal (struct symbol *t1, struct symbol *t2, GHashTable *eqcache, GHashTable *updated_datatype_refs)
 
struct symbol__symbol_get_one_member__int (struct symbol *symbol, char *member, struct array_list **chainptr)
 
int symbol_contains_addr (struct symbol *symbol, ADDR obj_addr)
 
struct symbolsymbol_get_one_member__int (struct symbol *symbol, char *member)
 
struct symbolsymbol_get_one_member (struct symbol *symbol, char *member)
 
struct symbolsymbol_get_member (struct symbol *symbol, char *memberlist, const char *delim)
 
struct symbolsymbol_get_inline_origin (struct symbol *symbol)
 
struct symbolsymbol_type_skip_qualifiers (struct symbol *type)
 
struct symbolsymbol_type_skip_ptrs (struct symbol *type)
 
int symbol_type_is_char (struct symbol *type)
 
unsigned int symbol_type_array_bytesize (struct symbol *type)
 
unsigned int symbol_type_full_bytesize (struct symbol *type)
 
REFCNT symbol_release (struct symbol *symbol)
 
void symbol_free_inline (struct symbol *symbol)
 
void symbol_free_extra (struct symbol *symbol)
 
REFCNT symbol_free (struct symbol *symbol, int force)
 
struct lsymbollsymbol_create (struct symbol *symbol, struct array_list *chain)
 
void lsymbol_append (struct lsymbol *lsymbol, struct symbol *symbol)
 
void lsymbol_prepend (struct lsymbol *lsymbol, struct symbol *symbol)
 
struct lsymbollsymbol_create_from_member__int (struct lsymbol *parent, struct symbol *member)
 
struct lsymbollsymbol_create_from_member (struct lsymbol *parent, struct symbol *member)
 
struct lsymbollsymbol_create_from_symbol__int (struct symbol *symbol)
 
struct lsymbollsymbol_create_from_symbol (struct symbol *symbol)
 
char * lsymbol_get_name (struct lsymbol *lsymbol)
 
struct symbollsymbol_get_symbol (struct lsymbol *lsymbol)
 
struct symbollsymbol_get_noninline_parent_symbol (struct lsymbol *lsymbol)
 
struct lsymbollsymbol_create_noninline__int (struct lsymbol *lsymbol)
 
struct lsymbollsymbol_create_noninline (struct lsymbol *lsymbol)
 
void lsymbol_hold_int (struct lsymbol *lsymbol)
 
REFCNT lsymbol_release (struct lsymbol *lsymbol)
 
REFCNT lsymbol_free (struct lsymbol *lsymbol, int force)
 
void g_hash_foreach_dump_symbol_list (gpointer key __attribute__((unused)), gpointer value, gpointer userdata)
 
void g_hash_foreach_dump_symbol (gpointer key __attribute__((unused)), gpointer value, gpointer userdata)
 
void clrange_scope_name_dumper (Word_t start, Word_t end, struct dump_info *ud, void *data)
 
void clrange_symbol_name_dumper (Word_t start, Word_t end, struct dump_info *ud, void *data)
 
void debugfile_dump (struct debugfile *debugfile, struct dump_info *ud, int types, int globals, int symtabs, int elfsymtab, int doranges)
 
void symbol_root_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_label_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_block_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_var_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_function_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_type_dump (struct symbol *symbol, struct dump_info *ud)
 
void symbol_dump (struct symbol *symbol, struct dump_info *ud)
 
void lsymbol_dump (struct lsymbol *lsymbol, struct dump_info *ud)
 
char * SYMBOL_TYPE (int n)
 
char * SYMBOL_SOURCE (int n)
 
char * DATATYPE (int n)
 

Variables

struct debugfile_load_opts default_debugfile_load_opts
 

Function Documentation

struct symbol* __symbol_get_one_member__int ( struct symbol symbol,
char *  member,
struct array_list **  chainptr 
)

Definition at line 3815 of file debug.c.

void clrange_scope_name_dumper ( Word_t  start,
Word_t  end,
struct dump_info ud,
void *  data 
)

Definition at line 4891 of file debug.c.

void clrange_symbol_name_dumper ( Word_t  start,
Word_t  end,
struct dump_info ud,
void *  data 
)

Definition at line 4899 of file debug.c.

char* DATATYPE ( int  n)
inline

Definition at line 5684 of file debug.c.

int debugfile_add_global ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 2262 of file debug.c.

int debugfile_add_type ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 2300 of file debug.c.

struct debugfile* debugfile_create ( debugfile_type_t  dtype,
debugfile_type_flags_t  dtflags,
struct binfile binfile,
struct debugfile_load_opts opts,
struct binfile binfile_pointing 
)

Definition at line 1336 of file debug.c.

struct debugfile* debugfile_create_basic ( debugfile_type_t  dtype,
debugfile_type_flags_t  dtflags,
char *  filename,
struct debugfile_load_opts opts 
)

Definition at line 1298 of file debug.c.

int debugfile_declaration_copy_definition ( struct debugfile debugfile,
struct symbol declaration,
struct symbol definition 
)

Definition at line 1994 of file debug.c.

void debugfile_dump ( struct debugfile debugfile,
struct dump_info ud,
int  types,
int  globals,
int  symtabs,
int  elfsymtab,
int  doranges 
)

Definition at line 4907 of file debug.c.

struct symbol* debugfile_find_type ( struct debugfile debugfile,
char *  typename 
)

Definition at line 2288 of file debug.c.

REFCNT debugfile_free ( struct debugfile debugfile,
int  force 
)

Definition at line 2384 of file debug.c.

struct debugfile* debugfile_from_binfile ( struct binfile binfile,
struct array_list debugfile_load_opts_list 
)

Definition at line 1805 of file debug.c.

struct debugfile* debugfile_from_file ( char *  filename,
char *  root_prefix,
struct array_list debugfile_load_opts_list 
)

Debugfiles.

Definition at line 1584 of file debug.c.

struct debugfile* debugfile_from_instance ( struct binfile_instance bfinst,
struct array_list debugfile_load_opts_list 
)

Definition at line 1726 of file debug.c.

struct array_list* debugfile_get_loaded_debugfiles ( void  )

Definition at line 1810 of file debug.c.

char* debugfile_get_name ( struct debugfile debugfile)

Definition at line 1286 of file debug.c.

char* debugfile_get_version ( struct debugfile debugfile)

Definition at line 1290 of file debug.c.

void debugfile_handle_declaration ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 2100 of file debug.c.

void debugfile_init_internal ( struct debugfile debugfile)

Definition at line 1401 of file debug.c.

int debugfile_insert_root ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 1891 of file debug.c.

debugfile_load_flags_t debugfile_load_flags_parse ( char *  flagstr,
char *  delim 
)

Data structure management. In general, our _free() functions do everything to free an object – remove it from any lists it is on, free() the actual object itself, plus any object-internal free()s necessary. This is a little weird, perhaps, so we make note of it. Also, it implies that if the object type in question is a sub-object of another object type, and we are in the parent's _free() function, and the object is associated with the parent on a list, that list must be traversed via list_for_each_entry_safe! Please use this style of garbage collection. Debugfiles.

Definition at line 1148 of file debug.c.

int debugfile_load_opts_checklist ( struct array_list opts_list,
char *  name,
struct debugfile_load_opts **  match_saveptr 
)

Definition at line 1244 of file debug.c.

void debugfile_load_opts_free ( struct debugfile_load_opts opts)

Definition at line 1275 of file debug.c.

struct debugfile_load_opts* debugfile_load_opts_parse ( char *  optstr)

Definition at line 1194 of file debug.c.

struct lsymbol* debugfile_lookup_addr ( struct debugfile debugfile,
ADDR  addr 
)

Definition at line 667 of file debug.c.

struct lsymbol* debugfile_lookup_addr__int ( struct debugfile debugfile,
ADDR  addr 
)

Definition at line 503 of file debug.c.

int debugfile_lookup_addr_alt__int ( struct debugfile debugfile,
ADDR  addr,
struct lsymbol **  primary,
struct lsymbol **  alt 
)

Definition at line 580 of file debug.c.

struct array_list* debugfile_lookup_addrs_line ( struct debugfile debugfile,
char *  filename,
int  line 
)

Definition at line 387 of file debug.c.

int debugfile_lookup_filename_line_addr ( struct debugfile debugfile,
ADDR  addr,
char **  filename,
int *  line 
)

Definition at line 437 of file debug.c.

int debugfile_lookup_line_addr ( struct debugfile debugfile,
char *  filename,
ADDR  addr 
)

Definition at line 411 of file debug.c.

struct symbol* debugfile_lookup_root ( struct debugfile debugfile,
SMOFFSET  offset 
)

Definition at line 1972 of file debug.c.

struct symbol* debugfile_lookup_root_name ( struct debugfile debugfile,
char *  name 
)

Definition at line 1978 of file debug.c.

struct lsymbol* debugfile_lookup_sym ( struct debugfile debugfile,
char *  name,
const char *  delim,
struct rfilter srcfile_filter,
symbol_type_flag_t  flags 
)

Symbol/memaddr lookup functions.

Definition at line 1021 of file debug.c.

struct lsymbol* debugfile_lookup_sym__int ( struct debugfile debugfile,
char *  name,
const char *  delim,
struct rfilter srcfile_filter,
symbol_type_flag_t  flags 
)

Definition at line 677 of file debug.c.

struct lsymbol* debugfile_lookup_sym_line ( struct debugfile debugfile,
char *  filename,
int  line,
SMOFFSET offset,
ADDR addr 
)

Definition at line 491 of file debug.c.

struct lsymbol* debugfile_lookup_sym_line__int ( struct debugfile debugfile,
char *  filename,
int  line,
SMOFFSET offset,
ADDR addr 
)

Definition at line 463 of file debug.c.

GSList* debugfile_match_syms ( struct debugfile debugfile,
struct rfilter symbol_filter,
symbol_type_flag_t  flags,
struct rfilter srcfile_filter 
)

Definition at line 1034 of file debug.c.

int debugfile_remove_root ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 1933 of file debug.c.

int debugfile_replace_type ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 2334 of file debug.c.

void debugfile_resolve_declarations ( struct debugfile debugfile)

Definition at line 2250 of file debug.c.

void debugfile_resolve_one_declaration ( struct debugfile debugfile,
char *  name 
)

Definition at line 2241 of file debug.c.

void debugfile_save_declaration ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 2081 of file debug.c.

char* debugfile_search_path ( char *  filename,
char *  root_prefix,
char *  debug_postfix,
const char *  DFPATH[],
char *  buf,
int  buflen 
)

Definition at line 1510 of file debug.c.

int debugfile_update_root ( struct debugfile debugfile,
struct symbol symbol 
)

Definition at line 1826 of file debug.c.

void dwdebug_evict ( struct debugfile debugfile)

Definition at line 115 of file debug.c.

void dwdebug_evict_all ( void  )

Definition at line 130 of file debug.c.

void dwdebug_fini ( void  )

Definition at line 143 of file debug.c.

void dwdebug_init ( void  )

Library users must call these to initialize global library state. They may be called as many times as necessary; but are NOT thread safe.

Definition at line 83 of file debug.c.

void g_hash_foreach_dump_symbol ( gpointer key   __attribute__(unused),
gpointer  value,
gpointer  userdata 
)

Definition at line 4860 of file debug.c.

void g_hash_foreach_dump_symbol_list ( gpointer key   __attribute__(unused),
gpointer  value,
gpointer  userdata 
)

Data structure dumping functions.

Definition at line 4847 of file debug.c.

void lsymbol_append ( struct lsymbol lsymbol,
struct symbol symbol 
)

Definition at line 4610 of file debug.c.

struct lsymbol* lsymbol_clone ( struct lsymbol lsymbol,
struct symbol newchild 
)

Definition at line 369 of file debug.c.

struct lsymbol* lsymbol_create ( struct symbol symbol,
struct array_list chain 
)

Lookup symbols. Badly named!

Definition at line 4595 of file debug.c.

struct lsymbol* lsymbol_create_from_member ( struct lsymbol parent,
struct symbol member 
)

Definition at line 4646 of file debug.c.

struct lsymbol* lsymbol_create_from_member__int ( struct lsymbol parent,
struct symbol member 
)

Definition at line 4632 of file debug.c.

struct lsymbol* lsymbol_create_from_symbol ( struct symbol symbol)

Definition at line 4722 of file debug.c.

struct lsymbol* lsymbol_create_from_symbol__int ( struct symbol symbol)

Definition at line 4657 of file debug.c.

struct lsymbol* lsymbol_create_noninline ( struct lsymbol lsymbol)

Definition at line 4788 of file debug.c.

struct lsymbol* lsymbol_create_noninline__int ( struct lsymbol lsymbol)

Definition at line 4757 of file debug.c.

void lsymbol_dump ( struct lsymbol lsymbol,
struct dump_info ud 
)

Definition at line 5622 of file debug.c.

REFCNT lsymbol_free ( struct lsymbol lsymbol,
int  force 
)

Definition at line 4811 of file debug.c.

char* lsymbol_get_name ( struct lsymbol lsymbol)

Definition at line 4732 of file debug.c.

struct symbol* lsymbol_get_noninline_parent_symbol ( struct lsymbol lsymbol)

Definition at line 4742 of file debug.c.

struct symbol* lsymbol_get_symbol ( struct lsymbol lsymbol)

Definition at line 4738 of file debug.c.

void lsymbol_hold_int ( struct lsymbol lsymbol)

Definition at line 4798 of file debug.c.

struct lsymbol* lsymbol_lookup_sym ( struct lsymbol lsymbol,
const char *  name,
const char *  delim 
)

Definition at line 299 of file debug.c.

struct lsymbol* lsymbol_lookup_sym__int ( struct lsymbol lsymbol,
const char *  name,
const char *  delim 
)

Definition at line 275 of file debug.c.

OFFSET lsymbol_offsetof ( struct lsymbol lsymbol,
const char *  name,
const char *  delim 
)

Definition at line 364 of file debug.c.

void lsymbol_prepend ( struct lsymbol lsymbol,
struct symbol symbol 
)

Definition at line 4623 of file debug.c.

REFCNT lsymbol_release ( struct lsymbol lsymbol)

Definition at line 4805 of file debug.c.

int symbol_add_inline_instance ( struct symbol symbol,
struct symbol instance 
)

Definition at line 3420 of file debug.c.

int symbol_add_subrange ( struct symbol symbol,
int  subrange 
)

Definition at line 3448 of file debug.c.

void symbol_block_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5041 of file debug.c.

void symbol_build_extname ( struct symbol symbol)

Definition at line 2628 of file debug.c.

int symbol_change_parent ( struct symbol parent,
struct symbol child,
struct symbol newparent 
)

Definition at line 2884 of file debug.c.

struct scope* symbol_containing_scope ( struct symbol symbol)

Definition at line 2671 of file debug.c.

int symbol_contains_addr ( struct symbol symbol,
ADDR  obj_addr 
)

Definition at line 4063 of file debug.c.

struct symbol* symbol_create ( symbol_type_t  symtype,
symbol_source_t  source,
char *  name,
int  name_copy,
SMOFFSET  offset,
load_type_t  loadtype,
struct scope scope 
)

Symbols.

Definition at line 2550 of file debug.c.

void symbol_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5572 of file debug.c.

int symbol_expand ( struct symbol symbol)

Definition at line 3161 of file debug.c.

struct symbol* symbol_find_parent ( struct symbol symbol)

Definition at line 3106 of file debug.c.

struct symbol* symbol_find_root ( struct symbol symbol)

Definition at line 3119 of file debug.c.

REFCNT symbol_free ( struct symbol symbol,
int  force 
)

Definition at line 4516 of file debug.c.

void symbol_free_extra ( struct symbol symbol)

Definition at line 4402 of file debug.c.

void symbol_free_inline ( struct symbol symbol)

Definition at line 4356 of file debug.c.

void symbol_function_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5203 of file debug.c.

ADDR symbol_get_addr ( struct symbol symbol)

Definition at line 3096 of file debug.c.

uint32_t symbol_get_bitctbytes ( struct symbol symbol)

Definition at line 3090 of file debug.c.

uint32_t symbol_get_bitoffset ( struct symbol symbol)

Definition at line 3085 of file debug.c.

uint32_t symbol_get_bitsize ( struct symbol symbol)

Definition at line 3079 of file debug.c.

uint32_t symbol_get_bytesize ( struct symbol symbol)

Definition at line 3065 of file debug.c.

char* symbol_get_compdirname ( struct symbol symbol)

Definition at line 2949 of file debug.c.

struct symbol * symbol_get_datatype ( struct symbol symbol)

Definition at line 2989 of file debug.c.

struct symbol* symbol_get_datatype_real ( struct symbol symbol)

Definition at line 2970 of file debug.c.

struct symbol* symbol_get_inline_origin ( struct symbol symbol)

Definition at line 4162 of file debug.c.

struct symbol* symbol_get_member ( struct symbol symbol,
char *  memberlist,
const char *  delim 
)

Definition at line 4136 of file debug.c.

GSList* symbol_get_members ( struct symbol symbol,
symbol_type_flag_t  flags 
)

Definition at line 3146 of file debug.c.

char* symbol_get_name ( struct symbol symbol)

Definition at line 2587 of file debug.c.

char* symbol_get_name_inline ( struct symbol symbol)

Definition at line 2600 of file debug.c.

char* symbol_get_name_orig ( struct symbol symbol)

Definition at line 2612 of file debug.c.

struct symbol* symbol_get_one_member ( struct symbol symbol,
char *  member 
)

Definition at line 4127 of file debug.c.

struct symbol* symbol_get_one_member__int ( struct symbol symbol,
char *  member 
)

Definition at line 4123 of file debug.c.

GSList* symbol_get_ordered_members ( struct symbol symbol,
symbol_type_flag_t  flags 
)

Definition at line 3128 of file debug.c.

symbol_source_t symbol_get_source ( struct symbol symbol)

Definition at line 2966 of file debug.c.

char* symbol_get_srcfile ( struct symbol symbol)

Definition at line 2941 of file debug.c.

int symbol_get_srcline ( struct symbol symbol)

Definition at line 2937 of file debug.c.

struct symbol* symbol_get_sym ( struct symbol symbol,
const char *  name,
symbol_type_flag_t  flags 
)

Symbol lookup functions.

Definition at line 177 of file debug.c.

symbol_type_t symbol_get_type ( struct symbol symbol)

Definition at line 2962 of file debug.c.

int symbol_has_addr ( struct symbol symbol)

Definition at line 3047 of file debug.c.

int symbol_has_ext_name ( struct symbol symbol)

Definition at line 2667 of file debug.c.

int symbol_has_unspecified_parameters ( struct symbol symbol)

Definition at line 3050 of file debug.c.

int symbol_insert_symbol ( struct symbol parent,
struct symbol child 
)

Definition at line 2758 of file debug.c.

int symbol_is_bitsize ( struct symbol symbol)

Definition at line 3059 of file debug.c.

int symbol_is_bytesize ( struct symbol symbol)

Definition at line 3062 of file debug.c.

int symbol_is_declaration ( struct symbol symbol)

Definition at line 3026 of file debug.c.

int symbol_is_decldefined ( struct symbol symbol)

Definition at line 3029 of file debug.c.

int symbol_is_declinline ( struct symbol symbol)

Definition at line 3056 of file debug.c.

int symbol_is_definition ( struct symbol symbol)

Definition at line 3021 of file debug.c.

int symbol_is_enumerator ( struct symbol symbol)

Definition at line 3041 of file debug.c.

int symbol_is_external ( struct symbol symbol)

Definition at line 3018 of file debug.c.

int symbol_is_inlined ( struct symbol symbol)

Definition at line 3053 of file debug.c.

int symbol_is_inlineinstance ( struct symbol symbol)

Definition at line 3044 of file debug.c.

int symbol_is_member ( struct symbol symbol)

Definition at line 3038 of file debug.c.

int symbol_is_parameter ( struct symbol symbol)

Definition at line 3035 of file debug.c.

int symbol_is_prototyped ( struct symbol symbol)

Definition at line 3032 of file debug.c.

int symbol_is_synthetic ( struct symbol symbol)

Definition at line 3015 of file debug.c.

void symbol_label_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5036 of file debug.c.

struct scope* symbol_link_owned_scope ( struct symbol symbol,
struct scope new_parent 
)

Definition at line 2726 of file debug.c.

struct lsymbol* symbol_lookup_sym ( struct symbol symbol,
const char *  name,
const char *  delim 
)

Definition at line 264 of file debug.c.

struct lsymbol* symbol_lookup_sym__int ( struct symbol symbol,
const char *  name,
const char *  delim 
)

Definition at line 195 of file debug.c.

OFFSET symbol_offsetof ( struct symbol symbol,
const char *  name,
const char *  delim 
)

Definition at line 314 of file debug.c.

struct scope* symbol_read_owned_scope ( struct symbol symbol)

Definition at line 2674 of file debug.c.

REFCNT symbol_release ( struct symbol symbol)

Definition at line 4318 of file debug.c.

int symbol_remove_symbol ( struct symbol parent,
struct symbol child 
)

Definition at line 2845 of file debug.c.

void symbol_root_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5019 of file debug.c.

void symbol_set_addr ( struct symbol s,
ADDR  a 
)

Definition at line 3276 of file debug.c.

void symbol_set_bitoffset ( struct symbol s,
uint32_t  bo 
)

Definition at line 3247 of file debug.c.

void symbol_set_bitsize ( struct symbol s,
uint32_t  b 
)

Definition at line 3232 of file debug.c.

void symbol_set_bitsize_all ( struct symbol s,
uint32_t  b,
uint32_t  bo,
uint32_t  ctb 
)

Definition at line 3262 of file debug.c.

void symbol_set_bytesize ( struct symbol s,
uint32_t  b 
)

Definition at line 3219 of file debug.c.

int symbol_set_constval ( struct symbol symbol,
void *  value,
int  len,
int  copy 
)

Definition at line 3429 of file debug.c.

int symbol_set_encoding ( struct symbol symbol,
encoding_t  num 
)

Definition at line 3332 of file debug.c.

int symbol_set_entry_pc ( struct symbol symbol,
ADDR  entry_pc 
)

Definition at line 3340 of file debug.c.

int symbol_set_inline_info ( struct symbol symbol,
int  isinlined,
int  isdeclinline 
)

Definition at line 3389 of file debug.c.

int symbol_set_inline_origin ( struct symbol symbol,
SMOFFSET  ref,
struct symbol origin 
)

Definition at line 3395 of file debug.c.

int symbol_set_location ( struct symbol symbol,
struct location loc 
)

Definition at line 3365 of file debug.c.

void symbol_set_name ( struct symbol symbol,
char *  name,
int  copy 
)

Definition at line 2615 of file debug.c.

int symbol_set_root_compdir ( struct symbol symbol,
char *  compdirname,
int  copy 
)

Definition at line 3294 of file debug.c.

int symbol_set_root_language ( struct symbol symbol,
char *  language,
int  copy,
short int  lang_code 
)

Definition at line 3318 of file debug.c.

int symbol_set_root_priv ( struct symbol symbol,
void *  priv 
)

Definition at line 3288 of file debug.c.

int symbol_set_root_producer ( struct symbol symbol,
char *  producer,
int  copy 
)

Definition at line 3306 of file debug.c.

void symbol_set_srcline ( struct symbol s,
int  sl 
)

Definition at line 3194 of file debug.c.

char* SYMBOL_SOURCE ( int  n)
inline

Definition at line 5675 of file debug.c.

char* SYMBOL_TYPE ( int  n)
inline

Definition at line 5662 of file debug.c.

unsigned int symbol_type_array_bytesize ( struct symbol type)

Definition at line 4239 of file debug.c.

void symbol_type_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5328 of file debug.c.

int symbol_type_equal ( struct symbol t1,
struct symbol t2,
GHashTable *  eqcache,
GHashTable *  updated_datatype_refs 
)

Definition at line 3801 of file debug.c.

int symbol_type_flags_match ( struct symbol symbol,
symbol_type_flag_t  flags 
)

Definition at line 3102 of file debug.c.

unsigned int symbol_type_full_bytesize ( struct symbol type)

Definition at line 4267 of file debug.c.

int symbol_type_is_char ( struct symbol type)

Definition at line 4224 of file debug.c.

struct symbol* symbol_type_skip_ptrs ( struct symbol type)

Definition at line 4209 of file debug.c.

struct symbol* symbol_type_skip_qualifiers ( struct symbol type)

Definition at line 4191 of file debug.c.

void symbol_var_dump ( struct symbol symbol,
struct dump_info ud 
)

Definition at line 5059 of file debug.c.

struct scope* symbol_write_owned_scope ( struct symbol symbol)

Definition at line 2689 of file debug.c.

Variable Documentation

struct debugfile_load_opts default_debugfile_load_opts
Initial value:
= {
.debugfile_filter = NULL,
.srcfile_filter = NULL,
.symbol_filter = NULL,
}

Definition at line 57 of file debug.c.