GDB (xrefs)
|
#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 type * | read_array_type (struct ctf_context *cp, ctf_id_t tid) |
static struct type * | read_pointer_type (struct ctf_context *cp, ctf_id_t tid, ctf_id_t btid) |
static struct type * | read_structure_type (struct ctf_context *cp, ctf_id_t tid) |
static struct type * | read_enum_type (struct ctf_context *cp, ctf_id_t tid) |
static struct type * | read_typedef_type (struct ctf_context *cp, ctf_id_t tid, ctf_id_t btid, const char *name) |
static struct type * | read_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 type * | read_forward_type (struct ctf_context *cp, ctf_id_t tid) |
static struct symbol * | new_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 type * | set_tid_type (struct objfile *of, ctf_id_t tid, struct type *typ) |
static struct type * | get_tid_type (struct objfile *of, ctf_id_t tid) |
static struct type * | fetch_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 type * | ctf_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 type * | read_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 type * | read_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 type * | add_array_cv_type (struct ctf_context *ccp, ctf_id_t tid, struct type *base_type, int cnst, int voltl) |
static struct type * | read_const_type (struct ctf_context *ccp, ctf_id_t tid, ctf_id_t btid) |
static struct type * | read_volatile_type (struct ctf_context *ccp, ctf_id_t tid, ctf_id_t btid) |
static struct type * | read_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_symtab * | ctf_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_psymtab * | create_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_info > | ctf_dict_key |
|
static |
Definition at line 781 of file ctfread.c.
References type::code(), copy_type(), make_cv_type(), ctf_context::of, type::set_target_type(), set_tid_type(), type::target_type(), TYPE_CONST, and TYPE_VOLATILE.
Referenced by read_volatile_type().
|
static |
Definition at line 1192 of file ctfread.c.
References add_symbol_to_list(), ctf_context::builder, general_symbol_info::compute_and_set_names(), ctf_context::fp, buildsym_compunit::get_global_symbols(), get_tid_type(), LOC_STATIC, objfile::objfile_obstack, OBJSTAT, ctf_context::of, objfile::per_bfd, symbol::set_aclass_index(), symbol::set_domain(), set_symbol_address(), symbol::set_type(), and VAR_DOMAIN.
Referenced by add_stt_func(), and add_stt_obj().
|
static |
Definition at line 1227 of file ctfread.c.
References add_stt_entries().
Referenced by ctf_psymtab::expand_psymtab().
|
static |
Definition at line 1219 of file ctfread.c.
References add_stt_entries().
Referenced by ctf_psymtab::expand_psymtab().
|
static |
Definition at line 341 of file ctfread.c.
References type::field(), ctf_field_info::fields, type::set_fields(), type::set_num_fields(), and TYPE_ZALLOC.
Referenced by process_enum_type(), and process_struct_members().
|
static |
Definition at line 1576 of file ctfread.c.
References ctf_per_tu_data::fp, gdb_flush(), gdb_printf(), gdb_stdout, psymbol_functions::get_partial_symtabs(), info_verbose, name, ctf_per_tu_data::psf, ctf_per_tu_data::pss, and scan_partial_symbols().
Referenced by elfctf_build_psymtabs().
|
static |
Definition at line 1436 of file ctfread.c.
References ctf_context::arc, name, ctf_context::partial_symtabs, objfile::per_bfd, and ctf_context::pst.
Referenced by scan_partial_symbols().
|
static |
Definition at line 433 of file ctfread.c.
References add_symbol_to_list(), ctf_context::builder, general_symbol_info::compute_and_set_names(), ctf_field_info::cur_context, FIELD_BITSIZE, ctf_field_info::fields, ctf_context::fp, buildsym_compunit::get_global_symbols(), language_c, LOC_CONST, name, objfile::objfile_obstack, OBJSTAT, ctf_context::of, objfile::per_bfd, ctf_field_info::ptype, symbol::set_aclass_index(), symbol::set_domain(), general_symbol_info::set_language(), symbol::set_type(), and VAR_DOMAIN.
Referenced by process_enum_type().
|
static |
Definition at line 389 of file ctfread.c.
References objfile_type::builtin_error, complaint, ctf_field_info::cur_context, fetch_tid_type(), FIELD_BITSIZE, ctf_field_info::fields, ctf_context::fp, get_bitsize(), name, ctf_context::of, process_struct_members(), read_type_record(), field::set_loc_bitpos(), field::set_name(), set_tid_type(), and field::set_type().
Referenced by process_struct_members().
|
static |
Definition at line 1065 of file ctfread.c.
References ctf_context::fp, get_tid_type(), new_symbol(), ctf_context::of, process_base_type(), process_enum_type(), process_structure_type(), read_array_type(), read_const_type(), read_func_kind_type(), read_pointer_type(), read_restrict_type(), read_type_record(), and read_volatile_type().
Referenced by ctf_psymtab::expand_psymtab(), and fetch_tid_type().
|
static |
Definition at line 1130 of file ctfread.c.
References add_symbol_to_list(), ctf_context::builder, objfile_type::builtin_error, complaint, general_symbol_info::compute_and_set_names(), ctf_context::fp, buildsym_compunit::get_file_symbols(), get_tid_type(), language_c, LOC_OPTIMIZED_OUT, name, new_symbol(), objfile::objfile_obstack, OBJSTAT, ctf_context::of, objfile::per_bfd, symbol::set_aclass_index(), symbol::set_domain(), set_objfile_main_name(), set_symbol_address(), symbol::set_type(), and VAR_DOMAIN.
Referenced by ctf_psymtab::expand_psymtab().
|
static |
Definition at line 1265 of file ctfread.c.
References ctf_context::builder, buildsym_compunit::end_compunit_symtab(), and ctf_context::pst.
Referenced by ctf_psymtab::read_symtab().
|
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().
|
static |
Definition at line 1281 of file ctfread.c.
References partial_symtab::add_psymbol(), complaint, ctf_context::fp, GLOBAL, language_c, LOC_CONST, ctf_context::of, ctf_context::partial_symtabs, ctf_context::pst, and VAR_DOMAIN.
Referenced by ctf_psymtab_type_cb().
|
static |
Definition at line 1303 of file ctfread.c.
References partial_symtab::add_psymbol(), ctf_psymtab::context, GLOBAL, language_c, LOC_CONST, LOC_STATIC, LOC_TYPEDEF, ctf_context::partial_symtabs, STRUCT_DOMAIN, and VAR_DOMAIN.
Referenced by ctf_psymtab_add_stt_func(), and ctf_psymtab_add_stt_obj().
|
static |
Definition at line 1353 of file ctfread.c.
References ctf_psymtab_add_stt_entries().
Referenced by scan_partial_symbols().
|
static |
Definition at line 1344 of file ctfread.c.
References ctf_psymtab_add_stt_entries().
Referenced by scan_partial_symbols().
|
static |
Definition at line 1459 of file ctfread.c.
References partial_symtab::add_psymbol(), ctf_psymtab_add_enums(), ctf_context::fp, language_c, LOC_STATIC, LOC_TYPEDEF, LOC_UNDEF, name, ctf_context::of, ctf_context::partial_symtabs, ctf_context::pst, SECT_OFF_TEXT, STATIC, STRUCT_DOMAIN, UNDEF_DOMAIN, and VAR_DOMAIN.
Referenced by scan_partial_symbols().
|
static |
Definition at line 1522 of file ctfread.c.
References partial_symtab::add_psymbol(), GLOBAL, language_c, LOC_STATIC, name, ctf_context::of, ctf_context::partial_symtabs, ctf_context::pst, and VAR_DOMAIN.
Referenced by scan_partial_symbols().
|
static |
Definition at line 1248 of file ctfread.c.
References ctf_context::builder, partial_symtab::filename, language_c, ctf_context::of, ctf_context::pst, and buildsym_compunit::record_debugformat().
Referenced by ctf_psymtab::read_symtab().
void elfctf_build_psymtabs | ( | struct objfile * | of | ) |
Definition at line 1601 of file ctfread.c.
References ctf_per_tu_data::arc, build_ctf_archive_member(), ctf_dict_key, err, ctf_per_tu_data::fp, objfile::obfd, ctf_per_tu_data::of, ctf_per_tu_data::psf, and objfile::qf.
Referenced by elf_symfile_read().
|
static |
Definition at line 291 of file ctfread.c.
References ctf_add_type_cb(), get_tid_type(), and ctf_context::of.
Referenced by ctf_add_member_cb(), read_array_type(), read_const_type(), read_func_kind_type(), read_pointer_type(), read_restrict_type(), read_typedef_type(), and read_volatile_type().
|
static |
Definition at line 309 of file ctfread.c.
Referenced by ctf_add_member_cb().
|
static |
Definition at line 1235 of file ctfread.c.
References objfile::obfd, and objfile::text_section_offset().
Referenced by ctf_psymtab::read_symtab().
Definition at line 269 of file ctfread.c.
References ctf_tid_key, registry< T >::get(), ctf_tid_and_type::tid, and ctf_tid_and_type::type.
Referenced by add_stt_entries(), ctf_add_type_cb(), ctf_add_var_cb(), and fetch_tid_type().
|
static |
Definition at line 468 of file ctfread.c.
References add_symbol_to_list(), ctf_context::builder, type::code(), general_symbol_info::compute_and_set_names(), ctf_context::fp, buildsym_compunit::get_file_symbols(), language_c, general_symbol_info::linkage_name(), LOC_OPTIMIZED_OUT, LOC_STATIC, LOC_TYPEDEF, name, objfile::objfile_obstack, OBJSTAT, ctf_context::of, objfile::per_bfd, symbol::set_aclass_index(), symbol::set_domain(), general_symbol_info::set_language(), set_symbol_address(), symbol::set_type(), STRUCT_DOMAIN, symbol::type(), and VAR_DOMAIN.
Referenced by c_print_typedef(), ctf_add_type_cb(), ctf_add_var_cb(), language_defn::print_typedef(), ada_language::print_typedef(), m2_language::print_typedef(), pascal_language::print_typedef(), rust_language::print_typedef(), process_base_type(), process_enum_type(), and process_struct_members().
|
static |
Definition at line 609 of file ctfread.c.
References new_symbol(), and read_base_type().
Referenced by ctf_add_type_cb().
|
static |
Definition at line 759 of file ctfread.c.
References attach_fields_to_type(), complaint, ctf_add_enum_member_cb(), ctf_field_info::cur_context, ctf_context::fp, new_symbol(), ctf_field_info::ptype, and read_enum_type().
Referenced by ctf_add_type_cb().
|
static |
Definition at line 654 of file ctfread.c.
References attach_fields_to_type(), complaint, ctf_add_member_cb(), ctf_field_info::cur_context, ctf_context::fp, and new_symbol().
Referenced by ctf_add_member_cb(), and process_structure_type().
|
static |
Definition at line 672 of file ctfread.c.
References process_struct_members(), and read_structure_type().
Referenced by ctf_add_type_cb().
|
static |
Definition at line 809 of file ctfread.c.
References type::bounds(), objfile_type::builtin_int, complaint, create_array_type(), create_static_range_type(), fetch_tid_type(), ctf_context::fp, range_bounds::high, ctf_context::of, type::set_length(), type::set_target_is_stub(), set_tid_type(), set_type_align(), and dynamic_prop::set_undefined().
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 532 of file ctfread.c.
References objfile::arch(), bits, complaint, ctf_init_float_type(), ctf_context::fp, gdbarch_int_bit(), init_boolean_type(), init_character_type(), init_complex_type(), init_integer_type(), init_type(), name, ctf_context::of, type::set_has_no_signedness(), and set_tid_type().
Referenced by process_base_type(), and read_type_record().
|
static |
Definition at line 851 of file ctfread.c.
References objfile_type::builtin_error, complaint, fetch_tid_type(), make_cv_type(), ctf_context::of, read_type_record(), set_tid_type(), and TYPE_VOLATILE.
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 737 of file ctfread.c.
References alloc_type(), ctf_context::fp, type::length(), name, objfile_int_type(), ctf_context::of, type::set_code(), type::set_length(), type::set_name(), type::set_target_type(), set_tid_type(), and set_type_align().
Referenced by process_enum_type(), and read_type_record().
|
static |
Definition at line 972 of file ctfread.c.
References alloc_type(), ctf_context::fp, name, ctf_context::of, type::set_code(), type::set_is_stub(), type::set_length(), type::set_name(), and set_tid_type().
Referenced by read_type_record().
|
static |
Definition at line 683 of file ctfread.c.
References alloc_type(), objfile_type::builtin_void, fetch_tid_type(), type::field(), ctf_context::fp, ctf_context::of, type::set_code(), type::set_fields(), type::set_has_varargs(), type::set_num_fields(), type::set_target_type(), set_tid_type(), field::set_type(), set_type_align(), and TYPE_ZALLOC.
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 947 of file ctfread.c.
References objfile_type::builtin_error, complaint, fetch_tid_type(), ctf_context::fp, lookup_pointer_type(), ctf_context::of, read_type_record(), set_tid_type(), set_type_align(), and type::target_type().
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 901 of file ctfread.c.
References objfile_type::builtin_error, complaint, fetch_tid_type(), make_restrict_type(), ctf_context::of, read_type_record(), and set_tid_type().
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 625 of file ctfread.c.
References alloc_type(), ctf_context::fp, name, ctf_context::of, type::set_code(), type::set_length(), type::set_name(), set_tid_type(), and set_type_align().
Referenced by process_structure_type(), and read_type_record().
|
static |
Definition at line 1000 of file ctfread.c.
References ctf_context::fp, name, read_array_type(), read_base_type(), read_const_type(), read_enum_type(), read_forward_type(), read_func_kind_type(), read_pointer_type(), read_restrict_type(), read_structure_type(), read_typedef_type(), and read_volatile_type().
Referenced by ctf_add_member_cb(), ctf_add_type_cb(), read_const_type(), read_pointer_type(), read_restrict_type(), and read_volatile_type().
|
static |
Definition at line 924 of file ctfread.c.
References fetch_tid_type(), init_type(), name, objfile::objfile_obstack, ctf_context::of, type::set_target_is_stub(), type::set_target_type(), set_tid_type(), and type::target_type().
Referenced by read_type_record().
|
static |
Definition at line 874 of file ctfread.c.
References add_array_cv_type(), objfile_type::builtin_error, complaint, fetch_tid_type(), ctf_context::fp, make_cv_type(), ctf_context::of, read_type_record(), set_tid_type(), and TYPE_CONST.
Referenced by ctf_add_type_cb(), and read_type_record().
|
static |
Definition at line 1537 of file ctfread.c.
References ctf_per_tu_data::arc, complaint, create_partial_symtab(), ctf_psymtab_add_stt_func(), ctf_psymtab_add_stt_obj(), ctf_psymtab_type_cb(), ctf_psymtab_var_cb(), partial_symtab::end(), objfile::obfd, ctf_context::of, ctf_per_tu_data::of, and ctf_context::pst.
Referenced by build_ctf_archive_member().
|
static |
Definition at line 325 of file ctfread.c.
References LOC_STATIC, lookup_minimal_symbol(), bound_minimal_symbol::minsym, name, general_symbol_info::section_index(), symbol::set_aclass_index(), general_symbol_info::set_section_index(), symbol::set_value_address(), and bound_minimal_symbol::value_address().
Referenced by add_stt_entries(), ctf_add_var_cb(), and new_symbol().
Definition at line 242 of file ctfread.c.
References ctf_tid_key, registry< T >::get(), objfile::objfile_obstack, registry< T >::set(), ctf_tid_and_type::tid, tid_and_type_eq(), tid_and_type_hash(), ctf_tid_and_type::type, xcalloc(), and xfree().
Referenced by add_array_cv_type(), ctf_add_member_cb(), read_array_type(), read_base_type(), read_const_type(), read_enum_type(), read_forward_type(), read_func_kind_type(), read_pointer_type(), read_restrict_type(), read_structure_type(), read_typedef_type(), and read_volatile_type().
|
static |
Definition at line 229 of file ctfread.c.
References ctf_tid_and_type::tid.
Referenced by set_tid_type().
|
static |
Definition at line 218 of file ctfread.c.
References ctf_tid_and_type::tid.
Referenced by set_tid_type().
|
static |
Definition at line 110 of file ctfread.c.
Referenced by elfctf_build_psymtabs().
Definition at line 90 of file ctfread.c.
Referenced by get_tid_type(), and set_tid_type().