From 2a40483418370b97149ce9e87384cdd1d0b702ac Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Tue, 19 May 2015 23:53:20 +0000 Subject: MC: Use MCSymbol in MCAsmLayout::getSymbolOffset(), NFC Continue to canonicalize on MCSymbol instead of MCSymbolData when both are needed. llvm-svn: 237749 --- llvm/lib/MC/ELFObjectWriter.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'llvm/lib/MC/ELFObjectWriter.cpp') diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 9f87cd1..97d6d39 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -407,7 +407,7 @@ uint64_t ELFObjectWriter::SymbolValue(MCSymbolData &Data, return Data.getCommonAlignment(); uint64_t Res; - if (!Layout.getSymbolOffset(&Data, Res)) + if (!Layout.getSymbolOffset(Data.getSymbol(), Res)) return 0; if (Layout.getAssembler().isThumbFunc(&Data.getSymbol())) @@ -800,12 +800,11 @@ void ELFObjectWriter::RecordRelocation(MCAssembler &Asm, Asm.getContext().reportFatalError( Fixup.getLoc(), "Cannot represent a difference across sections"); - const MCSymbolData &SymBD = Asm.getSymbolData(SymB); - if (::isWeak(SymBD)) + if (::isWeak(SymB.getData())) Asm.getContext().reportFatalError( Fixup.getLoc(), "Cannot represent a subtraction with a weak symbol"); - uint64_t SymBOffset = Layout.getSymbolOffset(&SymBD); + uint64_t SymBOffset = Layout.getSymbolOffset(SymB); uint64_t K = SymBOffset - FixupOffset; IsPCRel = true; C -= K; @@ -819,7 +818,7 @@ void ELFObjectWriter::RecordRelocation(MCAssembler &Asm, unsigned Type = GetRelocType(Target, Fixup, IsPCRel); bool RelocateWithSymbol = shouldRelocateWithSymbol(Asm, RefA, SymAD, C, Type); if (!RelocateWithSymbol && SymA && !SymA->isUndefined()) - C += Layout.getSymbolOffset(SymAD); + C += Layout.getSymbolOffset(*SymA); uint64_t Addend = 0; if (hasRelocationAddend()) { -- cgit v1.1