mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[RuntimeDyld] Propagate Errors from findPPC64TOCSection.
llvm-svn: 267789
This commit is contained in:
parent
3c1e719ae1
commit
7b2c954365
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user