summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp
index 9f00fe1984..1a360f5bed 100644
--- a/tools/llvm-readobj/COFFDumper.cpp
+++ b/tools/llvm-readobj/COFFDumper.cpp
@@ -171,22 +171,6 @@ static unsigned getNumUsedSlots(const UnwindCode &UnwindCode) {
}
}
-// Given a symbol sym this functions returns the address and section of it.
-static error_code resolveSectionAndAddress(const COFFObjectFile *Obj,
- const SymbolRef &Sym,
- const coff_section *&ResolvedSection,
- uint64_t &ResolvedAddr) {
- if (error_code EC = Sym.getAddress(ResolvedAddr))
- return EC;
-
- section_iterator iter(Obj->section_begin());
- if (error_code EC = Sym.getSection(iter))
- return EC;
-
- ResolvedSection = Obj->getCOFFSection(*iter);
- return object_error::success;
-}
-
// Given a a section and an offset into this section the function returns the
// symbol used for the relocation at the offset.
error_code COFFDumper::resolveSymbol(const coff_section *Section,
@@ -471,10 +455,14 @@ error_code COFFDumper::resolveRelocation(const coff_section *Section,
if (error_code EC = resolveSymbol(Section, Offset, Sym))
return EC;
- if (error_code EC = resolveSectionAndAddress(Obj, Sym, ResolvedSection,
- ResolvedAddress))
+ if (error_code EC = Sym.getAddress(ResolvedAddr))
+ return EC;
+
+ section_iterator SI(Obj->section_begin());
+ if (error_code EC = Sym.getSection(SI))
return EC;
+ ResolvedSection = Obj->getCOFFSection(*SI);
return object_error::success;
}