diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-05-19 23:53:20 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-05-19 23:53:20 +0000 |
commit | 2a40483418370b97149ce9e87384cdd1d0b702ac (patch) | |
tree | a7a70ec4ed639b4ad6887534258249f101943f9c /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | c6c660b3dd60784662879dc4e236fdf066e79d10 (diff) | |
download | bcm5719-llvm-2a40483418370b97149ce9e87384cdd1d0b702ac.tar.gz bcm5719-llvm-2a40483418370b97149ce9e87384cdd1d0b702ac.zip |
MC: Use MCSymbol in MCAsmLayout::getSymbolOffset(), NFC
Continue to canonicalize on MCSymbol instead of MCSymbolData when both
are needed.
llvm-svn: 237749
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 9f87cd1f183..97d6d39f2ec 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()) { |