From bb418bc23b24d7118d11ee19fb9cb6410f787d5a Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 20 Jul 2015 22:41:44 +0000 Subject: [PATCH] Remove duplicated code. Both ELFObjectFile and ELFFile had an implementation of getLoadName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242725 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Object/ELFObjectFile.h | 14 -------------- tools/llvm-readobj/llvm-readobj.cpp | 8 ++++---- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/include/llvm/Object/ELFObjectFile.h b/include/llvm/Object/ELFObjectFile.h index cd334d5e06f..2a870bdbca9 100644 --- a/include/llvm/Object/ELFObjectFile.h +++ b/include/llvm/Object/ELFObjectFile.h @@ -318,7 +318,6 @@ public: uint8_t getBytesInAddress() const override; StringRef getFileFormatName() const override; unsigned getArch() const override; - StringRef getLoadName() const; std::error_code getPlatformFlags(unsigned &Result) const override { Result = EF.getHeader()->e_flags; @@ -779,19 +778,6 @@ section_iterator ELFObjectFile::section_end() const { return section_iterator(SectionRef(toDRI(EF.section_end()), this)); } -template -StringRef ELFObjectFile::getLoadName() const { - const Elf_Dyn *DI = EF.dynamic_table_begin(); - const Elf_Dyn *DE = EF.dynamic_table_end(); - - while (DI != DE && DI->getTag() != ELF::DT_SONAME) - ++DI; - - if (DI != DE) - return EF.getDynamicString(DI->getVal()); - return ""; -} - template uint8_t ELFObjectFile::getBytesInAddress() const { return ELFT::Is64Bits ? 8 : 4; diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index 3f03618bb22..28532d993f8 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -253,13 +253,13 @@ static std::error_code createDumper(const ObjectFile *Obj, StreamWriter &Writer, static StringRef getLoadName(const ObjectFile *Obj) { if (auto *ELF = dyn_cast(Obj)) - return ELF->getLoadName(); + return ELF->getELFFile()->getLoadName(); if (auto *ELF = dyn_cast(Obj)) - return ELF->getLoadName(); + return ELF->getELFFile()->getLoadName(); if (auto *ELF = dyn_cast(Obj)) - return ELF->getLoadName(); + return ELF->getELFFile()->getLoadName(); if (auto *ELF = dyn_cast(Obj)) - return ELF->getLoadName(); + return ELF->getELFFile()->getLoadName(); llvm_unreachable("Not ELF"); } -- 2.34.1