diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-03 18:19:00 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-03 18:19:00 +0000 |
commit | ed067c45d4b668db740fbb1728200fc51f4b9b51 (patch) | |
tree | cc50ae3d78954ad1e634cbd4278eec6095a50bdb /llvm/tools/llvm-rtdyld | |
parent | e2df87f24b0af7fa80789e8da15c9cef9e6996f7 (diff) | |
download | bcm5719-llvm-ed067c45d4b668db740fbb1728200fc51f4b9b51.tar.gz bcm5719-llvm-ed067c45d4b668db740fbb1728200fc51f4b9b51.zip |
Return ErrorOr from getSymbolAddress.
It can fail trying to get the section on ELF and COFF. This makes sure the
error is handled.
llvm-svn: 241366
Diffstat (limited to 'llvm/tools/llvm-rtdyld')
-rw-r--r-- | llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp index 98c6f5c4399..50eb87ab934 100644 --- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -269,9 +269,10 @@ static int printLineInfoForInput(bool LoadObjects, bool UseDebugObj) { ErrorOr<StringRef> Name = Sym.getName(); if (!Name) continue; - uint64_t Addr; - if (Sym.getAddress(Addr)) + ErrorOr<uint64_t> AddrOrErr = Sym.getAddress(); + if (!AddrOrErr) continue; + uint64_t Addr = *AddrOrErr; uint64_t Size = P.second; // If we're not using the debug object, compute the address of the |