summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-05-16 11:33:48 +0000
committerFangrui Song <maskray@google.com>2019-05-16 11:33:48 +0000
commita076ec54bee20c423cf710ea2818d01df84e28b0 (patch)
tree9349552e719590d0d902eb3e688645141e47d9e3 /llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
parent671fc5f3f44986f7d20c3fcf2126cfad39b1adaf (diff)
downloadbcm5719-llvm-a076ec54bee20c423cf710ea2818d01df84e28b0.tar.gz
bcm5719-llvm-a076ec54bee20c423cf710ea2818d01df84e28b0.zip
[Object] Change object::SectionRef::getContents() to return Expected<StringRef>
Expected<ArrayRef<uint8_t>> may be better but use Expected<StringRef> for now. Follow-up of D61781. llvm-svn: 360876
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/Symbolize.cpp')
-rw-r--r--llvm/lib/DebugInfo/Symbolize/Symbolize.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
index 7e91a20416b..00e4139c0ba 100644
--- a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
+++ b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
@@ -221,9 +221,12 @@ bool getGNUDebuglinkContents(const ObjectFile *Obj, std::string &DebugName,
Section.getName(Name);
Name = Name.substr(Name.find_first_not_of("._"));
if (Name == "gnu_debuglink") {
- StringRef Data;
- Section.getContents(Data);
- DataExtractor DE(Data, Obj->isLittleEndian(), 0);
+ Expected<StringRef> ContentsOrErr = Section.getContents();
+ if (!ContentsOrErr) {
+ consumeError(ContentsOrErr.takeError());
+ return false;
+ }
+ DataExtractor DE(*ContentsOrErr, Obj->isLittleEndian(), 0);
uint32_t Offset = 0;
if (const char *DebugNameStr = DE.getCStr(&Offset)) {
// 4-byte align the offset.
OpenPOWER on IntegriCloud