Lines Matching defs:name

80 /// Get a vector of symbols that are associated with a certain name
82 /// @param name the name the symbols need to match
86 symtab::lookup_symbol(const std::string& name) const
89 const auto it = name_symbol_map_.find(name);
154 /// Construct a symtab object from existing name->symbol lookup maps.
157 /// @param function_symbol_map a map from ELF function name to elf_symbol
159 /// @param variable_symbol_map a map from ELF variable name to elf_symbol
190 /// still be discoverable through the name->symbol and addr->symbol lookup
284 // no name, no game
288 const std::string name = name_str;
289 if (name.empty())
300 // -> addr/name/namespace (in case of PREL32: offset)
309 if (is_kernel && name.rfind("__ksymtab_", 0) == 0)
311 ABG_ASSERT(exported_kernel_symbols.insert(name.substr(10)).second);
314 if (is_kernel && name.rfind("__crc_", 0) == 0)
319 ABG_ASSERT(crc_values.emplace(name.substr(6), crc_value).second);
322 if (strings_section && is_kernel && name.rfind("__kstrtabns_", 0) == 0)
337 // interpret the empty namespace name as no namespace name
340 name.substr(12), std::string(first, limit - first)).second);
365 (env, i, sym->st_size, name,
381 // add to the name->symbol lookup
382 name_symbol_map_[name].push_back(symbol_sptr);
387 const auto it = name_symbol_map_.find(name);
394 ABG_ASSERT(main_common_sym->get_name() == name);
452 /// vector as well as the name->symbol lookup map. The addr->symbol lookup
455 /// @param function_symbol_map a map from ELF function name to elf_symbol
457 /// @param variable_symbol_map a map from ELF variable name to elf_symbol
493 /// Notify the symtab about the name of the main symbol at a given address.
502 /// @param name the name of the main symbol
504 symtab::update_main_symbol(GElf_Addr addr, const std::string& name)
517 elf_symbol_sptr new_main = symbol->update_main_symbol(name);
642 // if the name of 'symbol' is foo, then the name of it2->second is
643 // ".foo". That is, foo is the name of the symbol when it refers to the
644 // function descriptor in the .opd section and ".foo" is an internal name
648 // is an internal name.
660 // source code (the one named foo). The symbol which name is prefixed
709 // no name, no game
713 const std::string name = name_str;
714 if (name.empty())
719 if (name.size() > cfi.size()
720 && name.compare(name.size() - cfi.size(), cfi.size(), cfi) == 0)
721 // ... name.ends_with(".cfi")
723 const auto candidate_name = name.substr(0, name.size() - cfi.size());