From: Xing GUO Date: Thu, 28 Mar 2019 12:51:46 +0000 (+0000) Subject: - Addressed @jhenderson 's comments X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6717b4e616a2aba531b58d55ac03d1b8978370f6;p=llvm - Addressed @jhenderson 's comments - Format patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357165 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-readobj/ELFDumper.cpp b/tools/llvm-readobj/ELFDumper.cpp index 89257e833d4..e7cfb8d555c 100644 --- a/tools/llvm-readobj/ELFDumper.cpp +++ b/tools/llvm-readobj/ELFDumper.cpp @@ -274,9 +274,9 @@ public: StringRef &SectionName, unsigned &SectionIndex) const; std::string getStaticSymbolName(uint32_t Index) const; - std::string getSymbolVersionByIndex(StringRef StrTab, - const uint32_t VersionSymbolIndex, - bool &IsDefault) const; + StringRef getSymbolVersionByIndex(StringRef StrTab, + uint32_t VersionSymbolIndex, + bool &IsDefault) const; void printSymbolsHelper(bool IsDynamic) const; const Elf_Shdr *getDotSymtabSec() const { return DotSymtabSec; } @@ -644,12 +644,11 @@ StringRef ELFDumper::getSymbolVersion(StringRef StrTab, reinterpret_cast(DynSymRegion.Addr)) / sizeof(Elf_Sym); - // Get the corresponding version index entry + // Get the corresponding version index entry. const Elf_Versym *Versym = unwrapOrError(ObjF->getELFFile()->template getEntry( dot_gnu_version_sec, EntryIndex)); - return StringRef( - this->getSymbolVersionByIndex(StrTab, Versym->vs_index, IsDefault)); + return this->getSymbolVersionByIndex(StrTab, Versym->vs_index, IsDefault); } static std::string maybeDemangle(StringRef Name) { @@ -668,24 +667,24 @@ std::string ELFDumper::getStaticSymbolName(uint32_t Index) const { } template -std::string ELFDumper::getSymbolVersionByIndex( - StringRef StrTab, const uint32_t SymbolVersionIndex, bool &IsDefault) const { +StringRef ELFDumper::getSymbolVersionByIndex( + StringRef StrTab, uint32_t SymbolVersionIndex, bool &IsDefault) const { size_t VersionIndex = SymbolVersionIndex & VERSYM_VERSION; // Special markers for unversioned symbols. if (VersionIndex == VER_NDX_LOCAL || VersionIndex == VER_NDX_GLOBAL) { IsDefault = false; - return ""; + return StringRef(""); } - // Lookup this symbol in the version table + // Lookup this symbol in the version table. LoadVersionMap(); if (VersionIndex >= VersionMap.size() || VersionMap[VersionIndex].isNull()) reportError("Invalid version entry"); const VersionMapEntry &Entry = VersionMap[VersionIndex]; - // Get the version name string + // Get the version name string. size_t NameOffset; if (Entry.isVerdef()) { // The first Verdaux entry holds the name. @@ -697,7 +696,7 @@ std::string ELFDumper::getSymbolVersionByIndex( } if (NameOffset >= StrTab.size()) reportError("Invalid string offset"); - return std::string(StrTab.data() + NameOffset); + return StringRef(StrTab.data() + NameOffset); } template