diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-24 19:57:32 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-24 19:57:32 +0000 |
| commit | 6bf322101bebac03b63fb068fcd3158f795bcee3 (patch) | |
| tree | b9ffab2e507529dc20e5e3dae22cd40f11e2ed0e /llvm/tools | |
| parent | 54565cf02b2f40d34605b8e74f886419829ac396 (diff) | |
| download | bcm5719-llvm-6bf322101bebac03b63fb068fcd3158f795bcee3.tar.gz bcm5719-llvm-6bf322101bebac03b63fb068fcd3158f795bcee3.zip | |
Make computeSymbolSizes never fail.
On ELF that was already the case since getting the size of a symbol
never fails.
On MachO and COFF we could fail trying to get the section of a symbol. But
we don't really need the section, just the section number to know if two
symbols are in the same section or not.
llvm-svn: 240580
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp | 6 | ||||
| -rw-r--r-- | llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp index bd9cf7d5df2..e4d32abb95c 100644 --- a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp +++ b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp @@ -188,12 +188,10 @@ static void dumpCXXData(const ObjectFile *Obj) { uint8_t BytesInAddress = Obj->getBytesInAddress(); - ErrorOr<std::vector<std::pair<SymbolRef, uint64_t>>> SymAddrOrErr = + std::vector<std::pair<SymbolRef, uint64_t>> SymAddr = object::computeSymbolSizes(*Obj); - if (error(SymAddrOrErr.getError())) - return; - for (auto &P : *SymAddrOrErr) { + for (auto &P : SymAddr) { object::SymbolRef Sym = P.first; uint64_t SymSize = P.second; StringRef SymName; diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp index addea588472..65033a2e0cc 100644 --- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -259,13 +259,11 @@ static int printLineInfoForInput(bool LoadObjects, bool UseDebugObj) { std::unique_ptr<DIContext> Context( new DWARFContextInMemory(*SymbolObj,LoadedObjInfo.get())); - ErrorOr<std::vector<std::pair<SymbolRef, uint64_t>>> SymAddrOrErr = + std::vector<std::pair<SymbolRef, uint64_t>> SymAddr = object::computeSymbolSizes(*SymbolObj); - if (std::error_code EC = SymAddrOrErr.getError()) - return Error(EC.message()); // Use symbol info to iterate functions in the object. - for (const auto &P : *SymAddrOrErr) { + for (const auto &P : SymAddr) { object::SymbolRef Sym = P.first; object::SymbolRef::Type SymType; if (Sym.getType(SymType)) |

