[llvm] r267789 - [RuntimeDyld] Propagate Errors from findPPC64TOCSection.
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 27 13:51:58 PDT 2016
Author: lhames
Date: Wed Apr 27 15:51:58 2016
New Revision: 267789
URL: http://llvm.org/viewvc/llvm-project?rev=267789&view=rev
Log:
[RuntimeDyld] Propagate Errors from findPPC64TOCSection.
Modified:
llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Modified: llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp?rev=267789&r1=267788&r2=267789&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp Wed Apr 27 15:51:58 2016
@@ -1592,7 +1592,8 @@ RuntimeDyldELF::processRelocationRef(
}
RelocationValueRef TOCValue;
- findPPC64TOCSection(Obj, ObjSectionToID, TOCValue);
+ if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, TOCValue))
+ return std::move(Err);
if (Value.SymbolName || Value.SectionID != TOCValue.SectionID)
llvm_unreachable("Unsupported TOC relocation.");
Value.Addend -= TOCValue.Addend;
@@ -1604,9 +1605,11 @@ RuntimeDyldELF::processRelocationRef(
// symbols (in which case the addend is respected).
if (RelType == ELF::R_PPC64_TOC) {
RelType = ELF::R_PPC64_ADDR64;
- findPPC64TOCSection(Obj, ObjSectionToID, Value);
+ if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
+ return std::move(Err);
} else if (TargetName == ".TOC.") {
- findPPC64TOCSection(Obj, ObjSectionToID, Value);
+ if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
+ return std::move(Err);
Value.Addend += Addend;
}
More information about the llvm-commits
mailing list