GDB (xrefs)
|
#include "defs.h"
#include "compile-internal.h"
#include "compile-c.h"
#include "symtab.h"
#include "parser-defs.h"
#include "block.h"
#include "objfiles.h"
#include "compile.h"
#include "value.h"
#include "exceptions.h"
#include "gdbtypes.h"
#include "dwarf2/loc.h"
Go to the source code of this file.
Functions | |
gdb::unique_xmalloc_ptr< char > | c_symbol_substitution_name (struct symbol *sym) |
static void | convert_one_symbol (compile_c_instance *context, struct block_symbol sym, int is_global, int is_local) |
static void | convert_symbol_sym (compile_c_instance *context, const char *identifier, struct block_symbol sym, domain_enum domain) |
static void | convert_symbol_bmsym (compile_c_instance *context, struct bound_minimal_symbol bmsym) |
void | gcc_convert_symbol (void *datum, struct gcc_c_context *gcc_context, enum gcc_c_oracle_request request, const char *identifier) |
gcc_address | gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context, const char *identifier) |
static hashval_t | hash_symname (const void *a) |
static int | eq_symname (const void *a, const void *b) |
static int | symbol_seen (htab_t hashtab, struct symbol *sym) |
static void | generate_vla_size (compile_instance *compiler, string_file *stream, struct gdbarch *gdbarch, std::vector< bool > ®isters_used, CORE_ADDR pc, struct type *type, struct symbol *sym) |
static void | generate_c_for_for_one_variable (compile_instance *compiler, string_file *stream, struct gdbarch *gdbarch, std::vector< bool > ®isters_used, CORE_ADDR pc, struct symbol *sym) |
std::vector< bool > | generate_c_for_variable_locations (compile_instance *compiler, string_file *stream, struct gdbarch *gdbarch, const struct block *block, CORE_ADDR pc) |
gdb::unique_xmalloc_ptr< char > c_symbol_substitution_name | ( | struct symbol * | sym | ) |
Definition at line 40 of file compile-c-symbols.c.
References general_symbol_info::natural_name().
Referenced by convert_one_symbol(), convert_one_symbol(), and generate_c_for_for_one_variable().
|
static |
Definition at line 54 of file compile-c-symbols.c.
References symbol::aclass(), value::address, block_symbol::block, c_symbol_substitution_name(), type::code(), COMPILE_I_RAW_SCOPE, compile_c_instance::convert_type(), symbol::domain(), block::entry_pc(), compile_instance::error_symbol_once(), symtab::filename, get_selected_frame(), gnu_ifunc_resolve_addr, type::is_gnu_ifunc(), symbol::line(), LOC_ARG, LOC_BLOCK, LOC_COMMON_BLOCK, LOC_COMPUTED, LOC_CONST, LOC_CONST_BYTES, LOC_FINAL_VALUE, LOC_LABEL, LOC_LOCAL, LOC_OPTIMIZED_OUT, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, LOC_STATIC, LOC_TYPEDEF, LOC_UNDEF, LOC_UNRESOLVED, value::lval(), lval_memory, general_symbol_info::natural_name(), compile_c_instance::plugin(), general_symbol_info::print_name(), read_var_value(), compile_instance::scope(), STRUCT_DOMAIN, block_symbol::symbol, symbol_read_needs_frame(), symbol::symtab, target_gdbarch(), symbol::type(), symbol::value_address(), symbol::value_block(), and symbol::value_longest().
Referenced by convert_symbol_sym().
|
static |
Definition at line 263 of file compile-c-symbols.c.
References builtin_type(), compile_c_instance::convert_type(), gnu_ifunc_resolve_addr, bound_minimal_symbol::minsym, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_slot_got_plt, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, general_symbol_info::natural_name(), builtin_type::nodebug_data_symbol, builtin_type::nodebug_got_plt_symbol, builtin_type::nodebug_text_gnu_ifunc_symbol, builtin_type::nodebug_text_symbol, builtin_type::nodebug_unknown_symbol, bound_minimal_symbol::objfile, compile_c_instance::plugin(), target_gdbarch(), type, minimal_symbol::type(), and minimal_symbol::value_address().
Referenced by gcc_convert_symbol().
|
static |
Definition at line 212 of file compile-c-symbols.c.
References block_symbol::block, compile_debug, convert_one_symbol(), gdb_printf(), gdb_stdlog, lookup_symbol(), block::static_block(), and block_symbol::symbol.
Referenced by gcc_convert_symbol().
|
static |
Definition at line 461 of file compile-c-symbols.c.
References general_symbol_info::natural_name().
Referenced by generate_c_for_variable_locations().
void gcc_convert_symbol | ( | void * | datum, |
struct gcc_c_context * | gcc_context, | ||
enum gcc_c_oracle_request | request, | ||
const char * | identifier ) |
Definition at line 321 of file compile-c-symbols.c.
References compile_instance::block(), compile_debug, convert_symbol_bmsym(), convert_symbol_sym(), gdb_printf(), gdb_stdlog, LABEL_DOMAIN, lookup_minimal_symbol(), lookup_symbol(), bound_minimal_symbol::minsym, compile_c_instance::plugin(), STRUCT_DOMAIN, block_symbol::symbol, and VAR_DOMAIN.
gcc_address gcc_symbol_address | ( | void * | datum, |
struct gcc_c_context * | gcc_context, | ||
const char * | identifier ) |
Definition at line 386 of file compile-c-symbols.c.
References symbol::aclass(), compile_debug, block::entry_pc(), gdb_printf(), gdb_stdlog, gnu_ifunc_resolve_addr, type::is_gnu_ifunc(), LOC_BLOCK, lookup_bound_minimal_symbol(), lookup_symbol(), bound_minimal_symbol::minsym, mst_text_gnu_ifunc, compile_c_instance::plugin(), block_symbol::symbol, target_gdbarch(), minimal_symbol::type(), symbol::type(), bound_minimal_symbol::value_address(), symbol::value_block(), and VAR_DOMAIN.
|
static |
Definition at line 542 of file compile-c-symbols.c.
References symbol::aclass(), string_file::c_str(), c_symbol_substitution_name(), generate_vla_size(), compile_instance::insert_symbol_error(), is_dynamic_type(), LOC_ARG, LOC_COMPUTED, LOC_LOCAL, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, string_file::size(), SYMBOL_COMPUTED_OPS, symbol::type(), and string_file::write().
Referenced by generate_c_for_variable_locations().
std::vector< bool > generate_c_for_variable_locations | ( | compile_instance * | compiler, |
string_file * | stream, | ||
struct gdbarch * | gdbarch, | ||
const struct block * | block, | ||
CORE_ADDR | pc ) |
Definition at line 611 of file compile-c-symbols.c.
References eq_symname(), block::function(), gdbarch_num_regs(), generate_c_for_for_one_variable(), hash_symname(), block::static_block(), block::superblock(), symbol_seen(), xcalloc(), and xfree().
|
static |
Definition at line 488 of file compile-c-symbols.c.
References type::bounds(), c_get_range_decl_name(), string_file::c_str(), check_typedef(), type::code(), dwarf2_compile_property_to_c(), type::field(), generate_vla_size(), range_bounds::high, type::index_type(), field::is_static(), dynamic_prop::kind(), name, type::num_fields(), PROP_LOCEXPR, PROP_LOCLIST, type::target_type(), field::type(), and TYPE_IS_REFERENCE.
Referenced by generate_c_for_for_one_variable(), and generate_vla_size().
|
static |
Definition at line 450 of file compile-c-symbols.c.
References general_symbol_info::natural_name().
Referenced by generate_c_for_variable_locations().
|
static |
Definition at line 473 of file compile-c-symbols.c.
Referenced by generate_c_for_variable_locations().