Simplify. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257689 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2016-01-13 22:23:36 +00:00
parent 72a0507d6e
commit 9a03a19dcd

View File

@ -618,6 +618,7 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
const MCSectionELF &FixupSection = cast<MCSectionELF>(*Fragment->getParent());
uint64_t C = Target.getConstant();
uint64_t FixupOffset = Layout.getFragmentOffset(Fragment) + Fixup.getOffset();
MCContext &Ctx = Asm.getContext();
if (const MCSymbolRefExpr *RefB = Target.getSymB()) {
assert(RefB->getKind() == MCSymbolRefExpr::VK_None &&
@ -631,7 +632,7 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
// or (A + C - R). If B = R + K and the relocation is not pcrel, we can
// replace B to implement it: (A - R - K + C)
if (IsPCRel) {
Asm.getContext().reportError(
Ctx.reportError(
Fixup.getLoc(),
"No relocation available to represent this relative expression");
return;
@ -640,24 +641,23 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
const auto &SymB = cast<MCSymbolELF>(RefB->getSymbol());
if (SymB.isUndefined()) {
Asm.getContext().reportError(
Fixup.getLoc(),
Twine("symbol '") + SymB.getName() +
"' can not be undefined in a subtraction expression");
Ctx.reportError(Fixup.getLoc(),
Twine("symbol '") + SymB.getName() +
"' can not be undefined in a subtraction expression");
return;
}
assert(!SymB.isAbsolute() && "Should have been folded");
const MCSection &SecB = SymB.getSection();
if (&SecB != &FixupSection) {
Asm.getContext().reportError(
Fixup.getLoc(), "Cannot represent a difference across sections");
Ctx.reportError(Fixup.getLoc(),
"Cannot represent a difference across sections");
return;
}
if (::isWeak(SymB)) {
Asm.getContext().reportError(
Fixup.getLoc(), "Cannot represent a subtraction with a weak symbol");
Ctx.reportError(Fixup.getLoc(),
"Cannot represent a subtraction with a weak symbol");
return;
}