From 65056a39f31d5c556b35f17ff40bdf432a725de4 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Wed, 26 Feb 2014 12:51:19 +0000 Subject: Move getELFDynamicSymbolIterators to a public header. llvm-svn: 202264 --- llvm/tools/llvm-nm/llvm-nm.cpp | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) (limited to 'llvm/tools') diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index d93177e245c..ffdc7737803 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/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(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - if (ELF64LEObjectFile *ELF = dyn_cast(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - if (ELF32BEObjectFile *ELF = dyn_cast(Obj)) { - Begin = ELF->dynamic_symbol_begin(); - End = ELF->dynamic_symbol_end(); - return; - } - ELF64BEObjectFile *ELF = cast(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 IDyn = + getELFDynamicSymbolIterators(Obj); + IBegin = IDyn.first; + IEnd = IDyn.second; } std::string NameBuffer; raw_string_ostream OS(NameBuffer); -- cgit v1.2.3