GDB (API)
Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/dwarf2read.c File Reference
#include "defs.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "objfiles.h"
#include "dwarf2.h"
#include "buildsym.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "expression.h"
#include "filenames.h"
#include "macrotab.h"
#include "language.h"
#include "complaints.h"
#include "bcache.h"
#include "dwarf2expr.h"
#include "dwarf2loc.h"
#include "cp-support.h"
#include "hashtab.h"
#include "command.h"
#include "gdbcmd.h"
#include "block.h"
#include "addrmap.h"
#include "typeprint.h"
#include "jv-lang.h"
#include "psympriv.h"
#include "exceptions.h"
#include "gdb_stat.h"
#include "completer.h"
#include "vec.h"
#include "c-lang.h"
#include "go-lang.h"
#include "valprint.h"
#include "gdbcore.h"
#include "gdb/gdb-index.h"
#include <ctype.h>
#include "gdb_bfd.h"
#include "f-lang.h"
#include "source.h"
#include "filestuff.h"
#include "build-id.h"
#include <fcntl.h>
#include "gdb_string.h"
#include "gdb_assert.h"
#include <sys/types.h>

Go to the source code of this file.

Defines

#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value)
#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value)
#define DW2_GDB_INDEX_CU_SET_VALUE(cu_index, value)
#define IS_TYPE_UNIT_GROUP(per_cu)   ((per_cu)->section == NULL)
#define MAX_NR_V2_DWO_SECTIONS
#define ABBREV_HASH_SIZE   121
#define DW_STRING(attr)   ((attr)->u.str)
#define DW_STRING_IS_CANONICAL(attr)   ((attr)->string_is_canonical)
#define DW_UNSND(attr)   ((attr)->u.unsnd)
#define DW_BLOCK(attr)   ((attr)->u.blk)
#define DW_SND(attr)   ((attr)->u.snd)
#define DW_ADDR(attr)   ((attr)->u.addr)
#define DW_SIGNATURE(attr)   ((attr)->u.signature)
#define ATTR_ALLOC_CHUNK   4
#define DW_FIELD_ALLOC_CHUNK   4
#define MAYBE_SWAP(V)   (V)
#define INDEX_SUFFIX   ".gdb-index"
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)
#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE   10
#define MAX_NR_V1_DWO_SECTIONS
#define MAX_SEP_LEN   7 /* strlen ("__") + strlen ("_MOD_") */

Typedefs

typedef struct symbolsymbolp
typedef struct dwarf2_section_info dwarf2_section_info_def
typedef uint32_t offset_type
typedef struct dwarf2_per_cu_data * dwarf2_per_cu_ptr
typedef struct delayed_method_info delayed_method_info
typedef struct signatured_type * sig_type_ptr
typedef void( die_reader_func_ftype )(const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)

Enumerations

enum  dwp_v2_section_ids { DW_SECT_MIN = 1 }

Functions

 DEF_VEC_P (symbolp)
 DEF_VEC_O (dwarf2_section_info_def)
 DEF_VEC_I (offset_type)
 DEF_VEC_P (dwarf2_per_cu_ptr)
 DEF_VEC_O (delayed_method_info)
 DEF_VEC_P (sig_type_ptr)
void dump_die (struct die_info *, int max_level)
int dwarf2_has_info (struct objfile *objfile, const struct dwarf2_debug_sections *names)
void dwarf2_get_section_info (struct objfile *objfile, enum dwarf2_section_enum sect, asection **sectp, const gdb_byte **bufp, bfd_size_type *sizep)
int dwarf2_initialize_objfile (struct objfile *objfile)
void dwarf2_build_psymtabs (struct objfile *objfile)
CORE_ADDR dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu, unsigned int addr_index)
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off (sect_offset offset, struct dwarf2_per_cu_data *per_cu, CORE_ADDR(*get_frame_pc)(void *baton), void *baton)
struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off (cu_offset offset_in_cu, struct dwarf2_per_cu_data *per_cu, CORE_ADDR(*get_frame_pc)(void *baton), void *baton)
const gdb_bytedwarf2_fetch_constant_bytes (sect_offset offset, struct dwarf2_per_cu_data *per_cu, struct obstack *obstack, LONGEST *len)
struct typedwarf2_get_die_type (cu_offset die_offset, struct dwarf2_per_cu_data *per_cu)
struct objfiledwarf2_per_cu_objfile (struct dwarf2_per_cu_data *per_cu)
int dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *per_cu)
int dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
int dwarf2_per_cu_ref_addr_size (struct dwarf2_per_cu_data *per_cu)
CORE_ADDR dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
void dwarf2_free_objfile (struct objfile *objfile)
void _initialize_dwarf2_read (void)

Variables

struct quick_symbol_functions dwarf2_gdb_index_functions
int dwarf2_always_disassemble

Define Documentation

#define ABBREV_HASH_SIZE   121

Definition at line 1171 of file dwarf2read.c.

#define ATTR_ALLOC_CHUNK   4

Definition at line 1267 of file dwarf2read.c.

#define DW2_GDB_INDEX_CU_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
    gdb_assert (((value) & ~GDB_INDEX_CU_MASK) == 0); \
    GDB_INDEX_CU_SET_VALUE((cu_index), (value)); \
  } while (0)

Definition at line 169 of file dwarf2read.c.

#define DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
    gdb_assert ((value) >= GDB_INDEX_SYMBOL_KIND_TYPE \
                && (value) <= GDB_INDEX_SYMBOL_KIND_OTHER); \
    GDB_INDEX_SYMBOL_KIND_SET_VALUE((cu_index), (value)); \
  } while (0)

Definition at line 161 of file dwarf2read.c.

#define DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE (   cu_index,
  value 
)
Value:
do { \
    gdb_assert ((unsigned int) (value) <= 1); \
    GDB_INDEX_SYMBOL_STATIC_SET_VALUE((cu_index), (value)); \
  } while (0)

Definition at line 154 of file dwarf2read.c.

#define DW_ADDR (   attr)    ((attr)->u.addr)

Definition at line 1254 of file dwarf2read.c.

#define DW_BLOCK (   attr)    ((attr)->u.blk)

Definition at line 1252 of file dwarf2read.c.

#define DW_FIELD_ALLOC_CHUNK   4

Definition at line 1272 of file dwarf2read.c.

#define DW_SIGNATURE (   attr)    ((attr)->u.signature)

Definition at line 1255 of file dwarf2read.c.

#define DW_SND (   attr)    ((attr)->u.snd)

Definition at line 1253 of file dwarf2read.c.

#define DW_STRING (   attr)    ((attr)->u.str)

Definition at line 1249 of file dwarf2read.c.

#define DW_STRING_IS_CANONICAL (   attr)    ((attr)->string_is_canonical)

Definition at line 1250 of file dwarf2read.c.

#define DW_UNSND (   attr)    ((attr)->u.unsnd)

Definition at line 1251 of file dwarf2read.c.

#define INDEX_SUFFIX   ".gdb-index"

Definition at line 1940 of file dwarf2read.c.

#define IS_TYPE_UNIT_GROUP (   per_cu)    ((per_cu)->section == NULL)

Definition at line 714 of file dwarf2read.c.

Value:
(1 /* .debug_info or .debug_types */ \
   + 1 /* .debug_abbrev */ \
   + 1 /* .debug_line */ \
   + 1 /* .debug_loc */ \
   + 1 /* .debug_str_offsets */ \
   + 1 /* .debug_macro or .debug_macinfo */ \
   + 1 /* trailing zero */)
Value:
(1 /* .debug_info or .debug_types */ \
   + 1 /* .debug_abbrev */ \
   + 1 /* .debug_line */ \
   + 1 /* .debug_loc */ \
   + 1 /* .debug_str_offsets */ \
   + 1 /* .debug_macro or .debug_macinfo */)

Definition at line 927 of file dwarf2read.c.

#define MAX_SEP_LEN   7 /* strlen ("__") + strlen ("_MOD_") */

Definition at line 18320 of file dwarf2read.c.

#define MAYBE_SWAP (   V)    (V)

Definition at line 1936 of file dwarf2read.c.

#define NO_STMT_LIST_TYPE_UNIT_PSYMTAB   (1 << 31)

Definition at line 5589 of file dwarf2read.c.

Definition at line 5590 of file dwarf2read.c.


Typedef Documentation

Definition at line 420 of file dwarf2read.c.

typedef void( die_reader_func_ftype)(const struct die_reader_specs *reader, const gdb_byte *info_ptr, struct die_info *comp_unit_die, int has_children, void *data)

Definition at line 1020 of file dwarf2read.c.

typedef struct dwarf2_per_cu_data* dwarf2_per_cu_ptr

Definition at line 201 of file dwarf2read.c.

typedef struct dwarf2_section_info dwarf2_section_info_def

Definition at line 144 of file dwarf2read.c.

typedef uint32_t offset_type

Definition at line 149 of file dwarf2read.c.

typedef struct signatured_type* sig_type_ptr

Definition at line 689 of file dwarf2read.c.

typedef struct symbol* symbolp

Definition at line 79 of file dwarf2read.c.


Enumeration Type Documentation

Enumerator:
DW_SECT_MIN 

Definition at line 788 of file dwarf2read.c.


Function Documentation

void _initialize_dwarf2_read ( void  )
void dump_die ( struct die_info *  die,
int  max_level 
)

Definition at line 18765 of file dwarf2read.c.

void dwarf2_build_psymtabs ( struct objfile objfile)

Definition at line 4112 of file dwarf2read.c.

const gdb_byte* dwarf2_fetch_constant_bytes ( sect_offset  offset,
struct dwarf2_per_cu_data *  per_cu,
struct obstack *  obstack,
LONGEST len 
)

Definition at line 19024 of file dwarf2read.c.

struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off ( cu_offset  offset_in_cu,
struct dwarf2_per_cu_data *  per_cu,
CORE_ADDR(*)(void *baton)  get_frame_pc,
void *  baton 
) [read]

Definition at line 18989 of file dwarf2read.c.

struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off ( sect_offset  offset,
struct dwarf2_per_cu_data *  per_cu,
CORE_ADDR(*)(void *baton)  get_frame_pc,
void *  baton 
) [read]

Definition at line 18926 of file dwarf2read.c.

void dwarf2_free_objfile ( struct objfile objfile)

Definition at line 21107 of file dwarf2read.c.

struct type* dwarf2_get_die_type ( cu_offset  die_offset,
struct dwarf2_per_cu_data *  per_cu 
) [read]

Definition at line 19147 of file dwarf2read.c.

void dwarf2_get_section_info ( struct objfile objfile,
enum dwarf2_section_enum  sect,
asection **  sectp,
const gdb_byte **  bufp,
bfd_size_type *  sizep 
)

Definition at line 2278 of file dwarf2read.c.

int dwarf2_has_info ( struct objfile objfile,
const struct dwarf2_debug_sections names 
)

Definition at line 1948 of file dwarf2read.c.

int dwarf2_initialize_objfile ( struct objfile objfile)

Definition at line 4070 of file dwarf2read.c.

int dwarf2_per_cu_addr_size ( struct dwarf2_per_cu_data *  per_cu)

Definition at line 20838 of file dwarf2read.c.

struct objfile* dwarf2_per_cu_objfile ( struct dwarf2_per_cu_data *  per_cu) [read]

Definition at line 20802 of file dwarf2read.c.

int dwarf2_per_cu_offset_size ( struct dwarf2_per_cu_data *  per_cu)

Definition at line 20851 of file dwarf2read.c.

int dwarf2_per_cu_ref_addr_size ( struct dwarf2_per_cu_data *  per_cu)

Definition at line 20864 of file dwarf2read.c.

CORE_ADDR dwarf2_per_cu_text_offset ( struct dwarf2_per_cu_data *  per_cu)

Definition at line 20883 of file dwarf2read.c.

CORE_ADDR dwarf2_read_addr_index ( struct dwarf2_per_cu_data *  per_cu,
unsigned int  addr_index 
)

Definition at line 16119 of file dwarf2read.c.


Variable Documentation

Definition at line 22300 of file dwarf2read.c.

Initial value:
{
  dw2_has_symbols,
  dw2_find_last_source_symtab,
  dw2_forget_cached_source_info,
  dw2_map_symtabs_matching_filename,
  dw2_lookup_symbol,
  dw2_print_stats,
  dw2_dump,
  dw2_relocate,
  dw2_expand_symtabs_for_function,
  dw2_expand_all_symtabs,
  dw2_expand_symtabs_with_fullname,
  dw2_map_matching_symbols,
  dw2_expand_symtabs_matching,
  dw2_find_pc_sect_symtab,
  dw2_map_symbol_filenames
}

Definition at line 4047 of file dwarf2read.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines