GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
/tmp/gdb-13.1/gdb/ctfread.c File Reference
#include "defs.h"
#include "buildsym.h"
#include "complaints.h"
#include "block.h"
#include "ctfread.h"
#include "psympriv.h"
#include "ctf.h"
#include "ctf-api.h"

Go to the source code of this file.

Classes

struct  ctf_fp_info
 
struct  ctf_context
 
struct  ctf_psymtab
 
struct  ctf_nextfield
 
struct  ctf_nextfield::field
 
struct  ctf_field_info
 
struct  ctf_per_tu_data
 
struct  ctf_tid_and_type
 

Functions

static int ctf_add_type_cb (ctf_id_t tid, void *arg)
 
static struct typeread_array_type (struct ctf_context *cp, ctf_id_t tid)
 
static struct typeread_pointer_type (struct ctf_context *cp, ctf_id_t tid, ctf_id_t btid)
 
static struct typeread_structure_type (struct ctf_context *cp, ctf_id_t tid)
 
static struct typeread_enum_type (struct ctf_context *cp, ctf_id_t tid)
 
static struct typeread_typedef_type (struct ctf_context *cp, ctf_id_t tid, ctf_id_t btid, const char *name)
 
static struct typeread_type_record (struct ctf_context *cp, ctf_id_t tid)
 
static void process_structure_type (struct ctf_context *cp, ctf_id_t tid)
 
static void process_struct_members (struct ctf_context *cp, ctf_id_t tid, struct type *type)
 
static struct typeread_forward_type (struct ctf_context *cp, ctf_id_t tid)
 
static struct symbolnew_symbol (struct ctf_context *cp, struct type *type, ctf_id_t tid)
 
static hashval_t tid_and_type_hash (const void *item)
 
static int tid_and_type_eq (const void *item_lhs, const void *item_rhs)
 
static struct typeset_tid_type (struct objfile *of, ctf_id_t tid, struct type *typ)
 
static struct typeget_tid_type (struct objfile *of, ctf_id_t tid)
 
static struct typefetch_tid_type (struct ctf_context *ccp, ctf_id_t tid)
 
static int get_bitsize (ctf_dict_t *fp, ctf_id_t tid, uint32_t kind)
 
static void set_symbol_address (struct objfile *of, struct symbol *sym, const char *name)
 
static void attach_fields_to_type (struct ctf_field_info *fip, struct type *type)
 
static struct typectf_init_float_type (struct objfile *objfile, int bits, const char *name, const char *name_hint)
 
static int ctf_add_member_cb (const char *name, ctf_id_t tid, unsigned long offset, void *arg)
 
static int ctf_add_enum_member_cb (const char *name, int enum_value, void *arg)
 
static struct typeread_base_type (struct ctf_context *ccp, ctf_id_t tid)
 
static void process_base_type (struct ctf_context *ccp, ctf_id_t tid)
 
static struct typeread_func_kind_type (struct ctf_context *ccp, ctf_id_t tid)
 
static void process_enum_type (struct ctf_context *ccp, ctf_id_t tid)
 
static struct typeadd_array_cv_type (struct ctf_context *ccp, ctf_id_t tid, struct type *base_type, int cnst, int voltl)
 
static struct typeread_const_type (struct ctf_context *ccp, ctf_id_t tid, ctf_id_t btid)
 
static struct typeread_volatile_type (struct ctf_context *ccp, ctf_id_t tid, ctf_id_t btid)
 
static struct typeread_restrict_type (struct ctf_context *ccp, ctf_id_t tid, ctf_id_t btid)
 
static int ctf_add_var_cb (const char *name, ctf_id_t id, void *arg)
 
static void add_stt_entries (struct ctf_context *ccp, int functions)
 
static void add_stt_obj (struct ctf_context *ccp)
 
static void add_stt_func (struct ctf_context *ccp)
 
static CORE_ADDR get_objfile_text_range (struct objfile *of, int *tsize)
 
static void ctf_start_compunit_symtab (ctf_psymtab *pst, struct objfile *of, CORE_ADDR text_offset)
 
static struct compunit_symtabctf_end_compunit_symtab (ctf_psymtab *pst, CORE_ADDR end_addr, int section)
 
static void ctf_psymtab_add_enums (struct ctf_context *ccp, ctf_id_t tid)
 
static void ctf_psymtab_add_stt_entries (ctf_dict_t *cfp, ctf_psymtab *pst, struct objfile *of, int functions)
 
static void ctf_psymtab_add_stt_obj (ctf_dict_t *cfp, ctf_psymtab *pst, struct objfile *of)
 
static void ctf_psymtab_add_stt_func (ctf_dict_t *cfp, ctf_psymtab *pst, struct objfile *of)
 
static ctf_psymtabcreate_partial_symtab (const char *name, ctf_archive_t *arc, ctf_dict_t *cfp, psymtab_storage *partial_symtabs, struct objfile *objfile)
 
static int ctf_psymtab_type_cb (ctf_id_t tid, void *arg)
 
static int ctf_psymtab_var_cb (const char *name, ctf_id_t id, void *arg)
 
static void scan_partial_symbols (ctf_dict_t *cfp, psymtab_storage *partial_symtabs, struct ctf_per_tu_data *tup, const char *fname)
 
static int build_ctf_archive_member (ctf_dict_t *ctf, const char *name, void *arg)
 
void elfctf_build_psymtabs (struct objfile *of)
 

Variables

static const registry< objfile >::key< htab, htab_deleter > ctf_tid_key
 
static const registry< objfile >::key< ctf_fp_infoctf_dict_key
 

Function Documentation

◆ add_array_cv_type()

static struct type * add_array_cv_type ( struct ctf_context ccp,
ctf_id_t  tid,
struct type base_type,
int  cnst,
int  voltl 
)
static

◆ add_stt_entries()

static void add_stt_entries ( struct ctf_context ccp,
int  functions 
)
static

◆ add_stt_func()

static void add_stt_func ( struct ctf_context ccp)
static

Definition at line 1227 of file ctfread.c.

References add_stt_entries().

Referenced by ctf_psymtab::expand_psymtab().

◆ add_stt_obj()

static void add_stt_obj ( struct ctf_context ccp)
static

Definition at line 1219 of file ctfread.c.

References add_stt_entries().

Referenced by ctf_psymtab::expand_psymtab().

◆ attach_fields_to_type()

static void attach_fields_to_type ( struct ctf_field_info fip,
struct type type 
)
static

◆ build_ctf_archive_member()

static int build_ctf_archive_member ( ctf_dict_t *  ctf,
const char *  name,
void *  arg 
)
static

◆ create_partial_symtab()

static ctf_psymtab * create_partial_symtab ( const char *  name,
ctf_archive_t *  arc,
ctf_dict_t *  cfp,
psymtab_storage partial_symtabs,
struct objfile objfile 
)
static

◆ ctf_add_enum_member_cb()

static int ctf_add_enum_member_cb ( const char *  name,
int  enum_value,
void *  arg 
)
static

◆ ctf_add_member_cb()

static int ctf_add_member_cb ( const char *  name,
ctf_id_t  tid,
unsigned long  offset,
void *  arg 
)
static

◆ ctf_add_type_cb()

static int ctf_add_type_cb ( ctf_id_t  tid,
void *  arg 
)
static

◆ ctf_add_var_cb()

static int ctf_add_var_cb ( const char *  name,
ctf_id_t  id,
void *  arg 
)
static

◆ ctf_end_compunit_symtab()

static struct compunit_symtab * ctf_end_compunit_symtab ( ctf_psymtab pst,
CORE_ADDR  end_addr,
int  section 
)
static

◆ ctf_init_float_type()

static struct type * ctf_init_float_type ( struct objfile objfile,
int  bits,
const char *  name,
const char *  name_hint 
)
static

Definition at line 366 of file ctfread.c.

References objfile::arch(), bits, gdbarch_floatformat_for_type(), init_float_type(), init_type(), and name.

Referenced by read_base_type().

◆ ctf_psymtab_add_enums()

static void ctf_psymtab_add_enums ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

◆ ctf_psymtab_add_stt_entries()

static void ctf_psymtab_add_stt_entries ( ctf_dict_t *  cfp,
ctf_psymtab pst,
struct objfile of,
int  functions 
)
static

◆ ctf_psymtab_add_stt_func()

static void ctf_psymtab_add_stt_func ( ctf_dict_t *  cfp,
ctf_psymtab pst,
struct objfile of 
)
static

Definition at line 1353 of file ctfread.c.

References ctf_psymtab_add_stt_entries().

Referenced by scan_partial_symbols().

◆ ctf_psymtab_add_stt_obj()

static void ctf_psymtab_add_stt_obj ( ctf_dict_t *  cfp,
ctf_psymtab pst,
struct objfile of 
)
static

Definition at line 1344 of file ctfread.c.

References ctf_psymtab_add_stt_entries().

Referenced by scan_partial_symbols().

◆ ctf_psymtab_type_cb()

static int ctf_psymtab_type_cb ( ctf_id_t  tid,
void *  arg 
)
static

◆ ctf_psymtab_var_cb()

static int ctf_psymtab_var_cb ( const char *  name,
ctf_id_t  id,
void *  arg 
)
static

◆ ctf_start_compunit_symtab()

static void ctf_start_compunit_symtab ( ctf_psymtab pst,
struct objfile of,
CORE_ADDR  text_offset 
)
static

◆ elfctf_build_psymtabs()

void elfctf_build_psymtabs ( struct objfile of)

◆ fetch_tid_type()

static struct type * fetch_tid_type ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

◆ get_bitsize()

static int get_bitsize ( ctf_dict_t *  fp,
ctf_id_t  tid,
uint32_t  kind 
)
static

Definition at line 309 of file ctfread.c.

Referenced by ctf_add_member_cb().

◆ get_objfile_text_range()

static CORE_ADDR get_objfile_text_range ( struct objfile of,
int *  tsize 
)
static

Definition at line 1235 of file ctfread.c.

References objfile::obfd, and objfile::text_section_offset().

Referenced by ctf_psymtab::read_symtab().

◆ get_tid_type()

static struct type * get_tid_type ( struct objfile of,
ctf_id_t  tid 
)
static

◆ new_symbol()

static struct symbol * new_symbol ( struct ctf_context cp,
struct type type,
ctf_id_t  tid 
)
static

◆ process_base_type()

static void process_base_type ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

Definition at line 609 of file ctfread.c.

References new_symbol(), and read_base_type().

Referenced by ctf_add_type_cb().

◆ process_enum_type()

static void process_enum_type ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

◆ process_struct_members()

static void process_struct_members ( struct ctf_context cp,
ctf_id_t  tid,
struct type type 
)
static

◆ process_structure_type()

static void process_structure_type ( struct ctf_context cp,
ctf_id_t  tid 
)
static

Definition at line 672 of file ctfread.c.

References process_struct_members(), and read_structure_type().

Referenced by ctf_add_type_cb().

◆ read_array_type()

static struct type * read_array_type ( struct ctf_context cp,
ctf_id_t  tid 
)
static

◆ read_base_type()

static struct type * read_base_type ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

◆ read_const_type()

static struct type * read_const_type ( struct ctf_context ccp,
ctf_id_t  tid,
ctf_id_t  btid 
)
static

◆ read_enum_type()

static struct type * read_enum_type ( struct ctf_context cp,
ctf_id_t  tid 
)
static

◆ read_forward_type()

static struct type * read_forward_type ( struct ctf_context cp,
ctf_id_t  tid 
)
static

◆ read_func_kind_type()

static struct type * read_func_kind_type ( struct ctf_context ccp,
ctf_id_t  tid 
)
static

◆ read_pointer_type()

static struct type * read_pointer_type ( struct ctf_context cp,
ctf_id_t  tid,
ctf_id_t  btid 
)
static

◆ read_restrict_type()

static struct type * read_restrict_type ( struct ctf_context ccp,
ctf_id_t  tid,
ctf_id_t  btid 
)
static

◆ read_structure_type()

static struct type * read_structure_type ( struct ctf_context cp,
ctf_id_t  tid 
)
static

◆ read_type_record()

static struct type * read_type_record ( struct ctf_context cp,
ctf_id_t  tid 
)
static

◆ read_typedef_type()

static struct type * read_typedef_type ( struct ctf_context cp,
ctf_id_t  tid,
ctf_id_t  btid,
const char *  name 
)
static

◆ read_volatile_type()

static struct type * read_volatile_type ( struct ctf_context ccp,
ctf_id_t  tid,
ctf_id_t  btid 
)
static

◆ scan_partial_symbols()

static void scan_partial_symbols ( ctf_dict_t *  cfp,
psymtab_storage partial_symtabs,
struct ctf_per_tu_data tup,
const char *  fname 
)
static

◆ set_symbol_address()

static void set_symbol_address ( struct objfile of,
struct symbol sym,
const char *  name 
)
static

◆ set_tid_type()

static struct type * set_tid_type ( struct objfile of,
ctf_id_t  tid,
struct type typ 
)
static

◆ tid_and_type_eq()

static int tid_and_type_eq ( const void *  item_lhs,
const void *  item_rhs 
)
static

Definition at line 229 of file ctfread.c.

References ctf_tid_and_type::tid.

Referenced by set_tid_type().

◆ tid_and_type_hash()

static hashval_t tid_and_type_hash ( const void *  item)
static

Definition at line 218 of file ctfread.c.

References ctf_tid_and_type::tid.

Referenced by set_tid_type().

Variable Documentation

◆ ctf_dict_key

const registry<objfile>::key<ctf_fp_info> ctf_dict_key
static

Definition at line 110 of file ctfread.c.

Referenced by elfctf_build_psymtabs().

◆ ctf_tid_key

const registry<objfile>::key<htab, htab_deleter> ctf_tid_key
static

Definition at line 90 of file ctfread.c.

Referenced by get_tid_type(), and set_tid_type().