diff options
Diffstat (limited to 'llvm/lib/XRay/InstrumentationMap.cpp')
-rw-r--r-- | llvm/lib/XRay/InstrumentationMap.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/XRay/InstrumentationMap.cpp b/llvm/lib/XRay/InstrumentationMap.cpp index 862949f578c..2eeb4559021 100644 --- a/llvm/lib/XRay/InstrumentationMap.cpp +++ b/llvm/lib/XRay/InstrumentationMap.cpp @@ -78,9 +78,10 @@ loadObj(StringRef Filename, object::OwningBinary<object::ObjectFile> &ObjFile, "Failed to find XRay instrumentation map.", std::make_error_code(std::errc::executable_format_error)); - if (I->getContents(Contents)) - return errorCodeToError( - std::make_error_code(std::errc::executable_format_error)); + if (Expected<StringRef> E = I->getContents()) + Contents = *E; + else + return E.takeError(); RelocMap Relocs; if (ObjFile.getBinary()->isELF()) { |