summaryrefslogtreecommitdiffstats
path: root/llvm/tools/obj2yaml/elf2yaml.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/obj2yaml/elf2yaml.cpp')
-rw-r--r--llvm/tools/obj2yaml/elf2yaml.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp
index bd27c103403..dea3cf73a5d 100644
--- a/llvm/tools/obj2yaml/elf2yaml.cpp
+++ b/llvm/tools/obj2yaml/elf2yaml.cpp
@@ -376,8 +376,12 @@ Error ELFDumper<ELFT>::dumpCommonSection(const Elf_Shdr *Shdr,
if (Shdr->sh_link != ELF::SHN_UNDEF) {
auto LinkSection = Obj.getSection(Shdr->sh_link);
- if (LinkSection.takeError())
- return LinkSection.takeError();
+ if (!LinkSection)
+ return make_error<StringError>(
+ "unable to resolve sh_link reference in section '" + S.Name +
+ "': " + toString(LinkSection.takeError()),
+ inconvertibleErrorCode());
+
NameOrErr = getUniquedSectionName(*LinkSection);
if (!NameOrErr)
return NameOrErr.takeError();
OpenPOWER on IntegriCloud