Home
last modified time | relevance | path

Searched refs:elfSymbol (Results 1 - 6 of 6) sorted by relevance

/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/
H A Ddfx_symbols.cpp83 for (auto elfSymbol : elfSymbols) { in ParseSymbols()
84 symbols.emplace_back(elfSymbol.value, elfSymbol.size, in ParseSymbols()
85 elfSymbol.nameStr, Demangle(elfSymbol.nameStr), symbolsPath); in ParseSymbols()
108 ElfSymbol elfSymbol; in GetFuncNameAndOffsetByPc() local
109 if ((elf != nullptr) && elf->GetFuncInfo(relPc, elfSymbol)) { in GetFuncNameAndOffsetByPc()
110 DFXLOGU("nameStr: %{public}s", elfSymbol.nameStr.c_str()); in GetFuncNameAndOffsetByPc()
111 funcName = Demangle(elfSymbol.nameStr); in GetFuncNameAndOffsetByPc()
112 funcOffset = relPc - elfSymbol in GetFuncNameAndOffsetByPc()
[all...]
H A Ddfx_elf_parser.cpp331 ElfSymbol elfSymbol; in ParseElfSymbols() local
332 if (isFunc && (!ParseElfSymbolName(linkShdrInfo, sym, elfSymbol.nameStr))) { in ParseElfSymbols()
335 elfSymbol.value = static_cast<uint64_t>(sym.st_value); in ParseElfSymbols()
336 elfSymbol.size = static_cast<uint64_t>(sym.st_size); in ParseElfSymbols()
337 elfSymbol.name = static_cast<uint32_t>(sym.st_name); in ParseElfSymbols()
338 elfSymbols_.emplace_back(elfSymbol); in ParseElfSymbols()
356 bool ElfParser::ParseElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) in ParseElfSymbolByAddr() argument
380 ParseElfSymbolName(linkShdrInfo, sym, elfSymbol.nameStr)) { in ParseElfSymbolByAddr()
381 elfSymbol.value = static_cast<uint64_t>(sym.st_value); in ParseElfSymbolByAddr()
382 elfSymbol in ParseElfSymbolByAddr()
522 GetElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) GetElfSymbolByAddr() argument
527 GetElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) GetElfSymbolByAddr() argument
[all...]
H A Ddfx_elf.cpp589 bool DfxElf::GetFuncInfoLazily(uint64_t addr, ElfSymbol& elfSymbol) in GetFuncInfoLazily() argument
592 if (FindFuncSymbol(addr, funcSymbols_, elfSymbol)) { in GetFuncInfoLazily()
598 embeddedElf_->elfParse_->GetElfSymbolByAddr(addr, elfSymbol)) { in GetFuncInfoLazily()
599 funcSymbols_.emplace_back(elfSymbol); in GetFuncInfoLazily()
604 if (!findSymbol && elfParse_->GetElfSymbolByAddr(addr, elfSymbol)) { in GetFuncInfoLazily()
605 funcSymbols_.emplace_back(elfSymbol); in GetFuncInfoLazily()
622 bool DfxElf::GetFuncInfo(uint64_t addr, ElfSymbol& elfSymbol) in GetFuncInfo() argument
625 return GetFuncInfoLazily(addr, elfSymbol); in GetFuncInfo()
629 return FindFuncSymbol(addr, symbols, elfSymbol); in GetFuncInfo()
632 bool DfxElf::FindFuncSymbol(uint64_t addr, const std::vector<ElfSymbol>& symbols, ElfSymbol& elfSymbol) in FindFuncSymbol() argument
[all...]
/base/hiviewdfx/faultloggerd/test/unittest/unwind/
H A Delf_imitate.cpp745 ElfSymbol elfSymbol; in ParseElfSymbols() local
747 elfSymbol.name = std::stoul(strVec[INDEX_I0].substr(0, strVec[INDEX_I0].size() -1)); in ParseElfSymbols()
748 elfSymbol.value = std::stoull(strVec[INDEX_I1], nullptr, base); in ParseElfSymbols()
749 elfSymbol.size = std::stoull(strVec[INDEX_I2]); in ParseElfSymbols()
750 elfSymbol.info = ELF32_ST_INFO(bindMap[strVec[INDEX_I4]], typeMap[strVec[INDEX_I3]]); in ParseElfSymbols()
751 elfSymbol.other = vsMap["strVec[INDEX_I5]"]; in ParseElfSymbols()
753 elfSymbol.shndx = SHN_UNDEF; in ParseElfSymbols()
755 elfSymbol.shndx = SHN_ABS; in ParseElfSymbols()
757 elfSymbol.shndx = static_cast<uint16_t>(std::stoul(strVec[INDEX_I6])); in ParseElfSymbols()
759 elfSymbols_.push_back(elfSymbol); in ParseElfSymbols()
[all...]
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/include/
H A Ddfx_elf_parser.h61 virtual bool GetElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) = 0;
84 bool ParseElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol);
124 bool GetElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) override;
135 bool GetElfSymbolByAddr(uint64_t addr, ElfSymbol& elfSymbol) override;
H A Ddfx_elf.h71 bool GetFuncInfo(uint64_t addr, ElfSymbol& elfSymbol);
72 bool GetFuncInfoLazily(uint64_t addr, ElfSymbol& elfSymbol);
94 bool FindFuncSymbol(uint64_t addr, const std::vector<ElfSymbol>& symbols, ElfSymbol& elfSymbol);

Completed in 5 milliseconds