diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-02-26 12:51:19 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-02-26 12:51:19 +0000 |
commit | 2895793c6a17c567a64108f9f23500ee4b014e9d (patch) | |
tree | 81541e82448328c2b88eb99cca7261471e2cf183 /tools/llvm-nm | |
parent | 18f2091b7bd2a3bba5389b406a412c631c913335 (diff) | |
download | llvm-2895793c6a17c567a64108f9f23500ee4b014e9d.tar.gz llvm-2895793c6a17c567a64108f9f23500ee4b014e9d.tar.bz2 llvm-2895793c6a17c567a64108f9f23500ee4b014e9d.tar.xz |
Move getELFDynamicSymbolIterators to a public header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202264 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-nm')
-rw-r--r-- | tools/llvm-nm/llvm-nm.cpp | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index d93177e245..ffdc773780 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -462,30 +462,6 @@ static char getNMTypeChar(SymbolicFile *Obj, basic_symbol_iterator I) { return Ret; } -static void getDynamicSymbolIterators(SymbolicFile *Obj, - basic_symbol_iterator &Begin, - basic_symbol_iterator &End) { - if (ELF32LEObjectFile *ELF = dyn_cast<ELF32LEObjectFile>(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - if (ELF64LEObjectFile *ELF = dyn_cast<ELF64LEObjectFile>(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - if (ELF32BEObjectFile *ELF = dyn_cast<ELF32BEObjectFile>(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - ELF64BEObjectFile *ELF = cast<ELF64BEObjectFile>(Obj); - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; -} - static void dumpSymbolNamesFromObject(SymbolicFile *Obj) { basic_symbol_iterator IBegin = Obj->symbol_begin(); basic_symbol_iterator IEnd = Obj->symbol_end(); @@ -494,7 +470,10 @@ static void dumpSymbolNamesFromObject(SymbolicFile *Obj) { error("File format has no dynamic symbol table", Obj->getFileName()); return; } - getDynamicSymbolIterators(Obj, IBegin, IEnd); + std::pair<symbol_iterator, symbol_iterator> IDyn = + getELFDynamicSymbolIterators(Obj); + IBegin = IDyn.first; + IEnd = IDyn.second; } std::string NameBuffer; raw_string_ostream OS(NameBuffer); |