Remove the MCSymbolData typedef.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 29 May 2015 20:41:47 +0000 (20:41 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 29 May 2015 20:41:47 +0000 (20:41 +0000)
The getData member function is next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238611 91177308-0d34-0410-b5e6-96231b3b80d8

19 files changed:
include/llvm/MC/MCELFSymbolFlags.h
include/llvm/MC/MCSymbol.h
lib/MC/ELFObjectWriter.cpp
lib/MC/MCAssembler.cpp
lib/MC/MCELFStreamer.cpp
lib/MC/MCExpr.cpp
lib/MC/MCMachOStreamer.cpp
lib/MC/MCObjectStreamer.cpp
lib/MC/MCObjectWriter.cpp
lib/MC/MachObjectWriter.cpp
lib/MC/WinCOFFObjectWriter.cpp
lib/MC/WinCOFFStreamer.cpp
lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp

index 297c44269a8f67a97120cd20a95ddf23fc56087a..98bc416297e60e5de828869da691336f7f35c31e 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "llvm/Support/ELF.h"
 
-// Because all the symbol flags need to be stored in the MCSymbolData
+// Because all the symbol flags need to be stored in the MCSymbol
 // 'flags' variable we need to provide shift constants per flag type.
 
 namespace llvm {
index 325afec9feeaed1b537147d37fb2d019fd8a0f78..7db5bade8e2449956c44f8112b2a35d4ffa33e6e 100644 (file)
@@ -283,8 +283,6 @@ public:
   void dump() const;
 };
 
-typedef MCSymbol MCSymbolData;
-
 inline raw_ostream &operator<<(raw_ostream &OS, const MCSymbol &Sym) {
   Sym.print(OS);
   return OS;
index 6667f597bd0bad0c35f3ea29829c4ad78dd50f28..a96e7a272acc75fa9600d9f649ed5c8e4f3443a2 100644 (file)
@@ -359,7 +359,7 @@ void ELFObjectWriter::writeHeader(const MCAssembler &Asm) {
 
 uint64_t ELFObjectWriter::SymbolValue(const MCSymbol &Sym,
                                       const MCAsmLayout &Layout) {
-  MCSymbolData &Data = Sym.getData();
+  MCSymbol &Data = Sym.getData();
   if (Sym.isCommon() && Data.isExternal())
     return Sym.getCommonAlignment();
 
@@ -379,7 +379,7 @@ void ELFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
   // versions declared with @@@ to be renamed.
 
   for (const MCSymbol &Alias : Asm.symbols()) {
-    MCSymbolData &OriginalData = Alias.getData();
+    MCSymbol &OriginalData = Alias.getData();
 
     // Not an alias.
     if (!Alias.isVariable())
@@ -388,7 +388,7 @@ void ELFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
     if (!Ref)
       continue;
     const MCSymbol &Symbol = Ref->getSymbol();
-    MCSymbolData &SD = Symbol.getData();
+    MCSymbol &SD = Symbol.getData();
 
     StringRef AliasName = Alias.getName();
     size_t Pos = AliasName.find('@');
@@ -452,7 +452,7 @@ void ELFObjectWriter::writeSymbol(SymbolTableWriter &Writer,
                                   uint32_t StringIndex, ELFSymbolData &MSD,
                                   const MCAsmLayout &Layout) {
 #ifndef NDEBUG
-  MCSymbolData &OrigData = MSD.Symbol->getData();
+  MCSymbol &OrigData = MSD.Symbol->getData();
   assert((!OrigData.getFragment() ||
           (OrigData.getFragment()->getParent() == &MSD.Symbol->getSection())) &&
          "The symbol's section doesn't match the fragment's symbol");
@@ -466,7 +466,7 @@ void ELFObjectWriter::writeSymbol(SymbolTableWriter &Writer,
   // Binding and Type share the same byte as upper and lower nibbles
   uint8_t Binding = MCELF::GetBinding(*MSD.Symbol);
   uint8_t Type = MCELF::GetType(*MSD.Symbol);
-  MCSymbolData *BaseSD = nullptr;
+  MCSymbol *BaseSD = nullptr;
   if (Base) {
     BaseSD = &Base->getData();
     Type = mergeTypeForSet(Type, MCELF::GetType(*Base));
@@ -769,7 +769,7 @@ bool ELFObjectWriter::isInSymtab(const MCAsmLayout &Layout,
 
 bool ELFObjectWriter::isLocal(const MCSymbol &Symbol, bool IsUsedInReloc,
                               bool IsSignature) {
-  const MCSymbolData &Data = Symbol.getData();
+  const MCSymbol &Data = Symbol.getData();
   if (Data.isExternal())
     return false;
 
index e26db89dec840c16c80cb350cfb03794e4cf23d1..208c06ce4f966a7206058aae112cc04794b0301f 100644 (file)
@@ -120,7 +120,7 @@ uint64_t MCAsmLayout::getFragmentOffset(const MCFragment *F) const {
 // Simple getSymbolOffset helper for the non-varibale case.
 static bool getLabelOffset(const MCAsmLayout &Layout, const MCSymbol &S,
                            bool ReportError, uint64_t &Val) {
-  const MCSymbolData &SD = S.getData();
+  const MCSymbol &SD = S.getData();
   if (!SD.getFragment()) {
     if (ReportError)
       report_fatal_error("unable to evaluate offset to undefined symbol '" +
index 0554832dd5f17b9b6b1bfb1a0b3cd3931c7946ce..c1d12c6c37de810c36c6f7185da6c876df41f1e9 100644 (file)
@@ -214,7 +214,7 @@ bool MCELFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
   // important side effect of calling registerSymbol here is to register
   // the symbol with the assembler.
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
 
   // The implementation of symbol attributes is designed to match 'as', but it
   // leaves much to desired. It doesn't really make sense to arbitrarily add and
@@ -314,7 +314,7 @@ bool MCELFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
 void MCELFStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
                                      unsigned ByteAlignment) {
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
 
   if (!BindingExplicitlySet.count(Symbol)) {
     MCELF::SetBinding(*Symbol, ELF::STB_GLOBAL);
@@ -346,7 +346,7 @@ void MCELFStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
                                           unsigned ByteAlignment) {
   // FIXME: Should this be caught and done earlier?
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   MCELF::SetBinding(*Symbol, ELF::STB_LOCAL);
   SD.setExternal(false);
   BindingExplicitlySet.insert(Symbol);
index 35d084d08e9351db62bbf6857ec0a3c8e34b096d..b850971e691497189b20d4c18101cbce29e9b582 100644 (file)
@@ -471,8 +471,8 @@ static void AttemptToFoldSymbolOffsetDifference(
   if (!Asm->getWriter().IsSymbolRefDifferenceFullyResolved(*Asm, A, B, InSet))
     return;
 
-  const MCSymbolData &AD = SA.getData();
-  const MCSymbolData &BD = SB.getData();
+  const MCSymbol &AD = SA.getData();
+  const MCSymbol &BD = SB.getData();
 
   if (AD.getFragment() == BD.getFragment()) {
     Addend += (SA.getOffset() - SB.getOffset());
index 9924c5d94ce524a092ed1766d69ea706e7603fc8..a84bf7e86cb83a5a25568c96667b9e61e5ccf5d4 100644 (file)
@@ -173,7 +173,7 @@ void MCMachOStreamer::ChangeSection(MCSection *Section,
 void MCMachOStreamer::EmitEHSymAttributes(const MCSymbol *Symbol,
                                           MCSymbol *EHSymbol) {
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   if (SD.isExternal())
     EmitSymbolAttribute(EHSymbol, MCSA_Global);
   if (Symbol->getFlags() & SF_WeakDefinition)
@@ -296,7 +296,7 @@ bool MCMachOStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
   // important side effect of calling registerSymbol here is to register
   // the symbol with the assembler.
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
 
   // The implementation of symbol attributes is designed to match 'as', but it
   // leaves much to desired. It doesn't really make sense to arbitrarily add and
@@ -391,7 +391,7 @@ void MCMachOStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
   AssignSection(Symbol, nullptr);
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   SD.setExternal(true);
   Symbol->setCommon(Size, ByteAlignment);
 }
@@ -417,7 +417,7 @@ void MCMachOStreamer::EmitZerofill(MCSection *Section, MCSymbol *Symbol,
   assert(Symbol->isUndefined() && "Cannot define a symbol twice!");
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
 
   // Emit an align fragment if necessary.
   if (ByteAlignment != 1)
@@ -469,7 +469,7 @@ void MCMachOStreamer::FinishImpl() {
   // defining symbols.
   DenseMap<const MCFragment *, const MCSymbol *> DefiningSymbolMap;
   for (const MCSymbol &Symbol : getAssembler().symbols()) {
-    MCSymbolData &SD = Symbol.getData();
+    MCSymbol &SD = Symbol.getData();
     if (getAssembler().isSymbolLinkerVisible(Symbol) && SD.getFragment()) {
       // An atom defining symbol should never be internal to a fragment.
       assert(Symbol.getOffset() == 0 &&
index 2a7aeab4d84472f51c4c310ee53df77bf6b7f49e..e61b9ddc8032342c5c009aedada7654dc73944d2 100644 (file)
@@ -47,7 +47,7 @@ void MCObjectStreamer::flushPendingLabels(MCFragment *F, uint64_t FOffset) {
       F->setParent(CurSection);
     }
     for (MCSymbol *Sym : PendingLabels) {
-      MCSymbolData *SD = &Sym->getData();
+      MCSymbol *SD = &Sym->getData();
       SD->setFragment(F);
       Sym->setOffset(FOffset);
     }
@@ -164,7 +164,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) {
   MCStreamer::EmitLabel(Symbol);
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   assert(!SD.getFragment() && "Unexpected fragment on symbol data!");
 
   // If there is a current fragment, mark the symbol as pointing into it.
index 3e18eef994a6d8ada4b5025687cd7bb7372faae7..727b754d753dabca867d13dba61e89bc6dc069ab 100644 (file)
@@ -30,8 +30,8 @@ bool MCObjectWriter::IsSymbolRefDifferenceFullyResolved(
   if (SA.isUndefined() || SB.isUndefined())
     return false;
 
-  const MCSymbolData &DataA = SA.getData();
-  const MCSymbolData &DataB = SB.getData();
+  const MCSymbol &DataA = SA.getData();
+  const MCSymbol &DataB = SB.getData();
   if(!DataA.getFragment() || !DataB.getFragment())
     return false;
 
index b84077b1a606ee1df18ddf5731fc95f738d843b4..77e7a5a4e1c28abeb56b59a1e14d8769e01d0110 100644 (file)
@@ -329,7 +329,7 @@ const MCSymbol &MachObjectWriter::findAliasedSymbol(const MCSymbol &Sym) const {
 void MachObjectWriter::WriteNlist(MachSymbolData &MSD,
                                   const MCAsmLayout &Layout) {
   const MCSymbol *Symbol = MSD.Symbol;
-  MCSymbolData &Data = Symbol->getData();
+  MCSymbol &Data = Symbol->getData();
   const MCSymbol *AliasedSymbol = &findAliasedSymbol(*Symbol);
   uint8_t SectionIndex = MSD.SectionIndex;
   uint8_t Type = 0;
@@ -554,7 +554,7 @@ void MachObjectWriter::ComputeSymbolTable(
   // match 'as'. Even though it doesn't matter for correctness, this is
   // important for letting us diff .o files.
   for (const MCSymbol &Symbol : Asm.symbols()) {
-    MCSymbolData &SD = Symbol.getData();
+    MCSymbol &SD = Symbol.getData();
 
     // Ignore non-linker visible symbols.
     if (!Asm.isSymbolLinkerVisible(Symbol))
@@ -582,7 +582,7 @@ void MachObjectWriter::ComputeSymbolTable(
 
   // Now add the data for local symbols.
   for (const MCSymbol &Symbol : Asm.symbols()) {
-    MCSymbolData &SD = Symbol.getData();
+    MCSymbol &SD = Symbol.getData();
 
     // Ignore non-linker visible symbols.
     if (!Asm.isSymbolLinkerVisible(Symbol))
index c24217e52309fa75285e64773ad2795bdcc1b843..e5af4ab8321ee8cfc2267a5bf5ca9dd5b37fd2c5 100644 (file)
@@ -364,7 +364,7 @@ void WinCOFFObjectWriter::defineSection(MCSectionCOFF const &Sec) {
 
 static uint64_t getSymbolValue(const MCSymbol &Symbol,
                                const MCAsmLayout &Layout) {
-  const MCSymbolData &Data = Symbol.getData();
+  const MCSymbol &Data = Symbol.getData();
   if (Symbol.isCommon() && Data.isExternal())
     return Symbol.getCommonSize();
 
@@ -414,7 +414,7 @@ void WinCOFFObjectWriter::DefineSymbol(const MCSymbol &Symbol,
 
     coff_symbol->MC = &Symbol;
   } else {
-    const MCSymbolData &ResSymData = Symbol.getData();
+    const MCSymbol &ResSymData = Symbol.getData();
     const MCSymbol *Base = Layout.getBaseSymbol(Symbol);
     coff_symbol->Data.Value = getSymbolValue(Symbol, Layout);
 
@@ -434,7 +434,7 @@ void WinCOFFObjectWriter::DefineSymbol(const MCSymbol &Symbol,
     if (!Base) {
       coff_symbol->Data.SectionNumber = COFF::IMAGE_SYM_ABSOLUTE;
     } else {
-      const MCSymbolData &BaseData = Base->getData();
+      const MCSymbol &BaseData = Base->getData();
       if (BaseData.getFragment()) {
         COFFSection *Sec = SectionMap[BaseData.getFragment()->getParent()];
 
@@ -672,7 +672,7 @@ bool WinCOFFObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(
 }
 
 bool WinCOFFObjectWriter::isWeak(const MCSymbol &Sym) const {
-  const MCSymbolData &SD = Sym.getData();
+  const MCSymbol &SD = Sym.getData();
   if (!SD.isExternal())
     return false;
 
@@ -701,7 +701,7 @@ void WinCOFFObjectWriter::RecordRelocation(
                                       Twine("symbol '") + A.getName() +
                                           "' can not be undefined");
 
-  const MCSymbolData &A_SD = A.getData();
+  const MCSymbol &A_SD = A.getData();
 
   MCSection *Section = Fragment->getParent();
 
@@ -718,7 +718,7 @@ void WinCOFFObjectWriter::RecordRelocation(
 
   if (SymB) {
     const MCSymbol *B = &SymB->getSymbol();
-    const MCSymbolData &B_SD = B->getData();
+    const MCSymbol &B_SD = B->getData();
     if (!B_SD.getFragment())
       Asm.getContext().reportFatalError(
           Fixup.getLoc(),
index 06c6a9780dde961d292d363ab269dcdd1cb67ade..bbc748a4ac850572e86345635fbbb5a760bc7c51 100644 (file)
@@ -97,7 +97,7 @@ bool MCWinCOFFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
          "Got non-COFF section in the COFF backend!");
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
 
   switch (Attribute) {
   default: return false;
@@ -197,7 +197,7 @@ void MCWinCOFFStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
   AssignSection(Symbol, nullptr);
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   SD.setExternal(true);
   Symbol->setCommon(Size, ByteAlignment);
 
@@ -227,7 +227,7 @@ void MCWinCOFFStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
     Section->setAlignment(ByteAlignment);
 
   getAssembler().registerSymbol(*Symbol);
-  MCSymbolData &SD = Symbol->getData();
+  MCSymbol &SD = Symbol->getData();
   SD.setExternal(false);
 
   AssignSection(Symbol, Section);
index e80eeaee3c42b5d577e45bef9de9490c48d559fa..ad126f779cb3531385890ce90074dd95991c1102 100644 (file)
@@ -165,7 +165,7 @@ private:
         Name + "." + Twine(MappingSymbolCounter++));
 
     getAssembler().registerSymbol(*Symbol);
-    MCSymbolData &SD = Symbol->getData();
+    MCSymbol &SD = Symbol->getData();
     MCELF::SetType(*Symbol, ELF::STT_NOTYPE);
     MCELF::SetBinding(*Symbol, ELF::STB_LOCAL);
     SD.setExternal(false);
index 2769ae986a0b9ae43e585e2b26713bae2c643bb2..38765a01bb7829576908feb4fdf249ed505113fc 100644 (file)
@@ -209,11 +209,11 @@ void AArch64MachObjectWriter::RecordRelocation(
     }
   } else if (Target.getSymB()) { // A - B + constant
     const MCSymbol *A = &Target.getSymA()->getSymbol();
-    const MCSymbolData &A_SD = A->getData();
+    const MCSymbol &A_SD = A->getData();
     const MCSymbol *A_Base = Asm.getAtom(*A);
 
     const MCSymbol *B = &Target.getSymB()->getSymbol();
-    const MCSymbolData &B_SD = B->getData();
+    const MCSymbol &B_SD = B->getData();
     const MCSymbol *B_Base = Asm.getAtom(*B);
 
     // Check for "_foo@got - .", which comes through here as:
index ad570f9a55c1e7f83ec4b023c4652bfe243a345c..2050a8b8305879959617272f6dcc1d669683ed3b 100644 (file)
@@ -601,7 +601,7 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
   // the offset when the destination has the same MCFragment.
   if (A && (unsigned)Fixup.getKind() == ARM::fixup_arm_thumb_bl) {
     const MCSymbol &Sym = A->getSymbol();
-    const MCSymbolData &SymData = Sym.getData();
+    const MCSymbol &SymData = Sym.getData();
     IsResolved = (SymData.getFragment() == DF);
   }
   // We must always generate a relocation for BL/BLX instructions if we have
index 67762c59bfc1b32cc16fb5b4d55a99ae15169c99..da5d94e2d2fa3012adb0859e0afbeaaa8d27d9cf 100644 (file)
@@ -567,7 +567,7 @@ private:
                                      Twine(MappingSymbolCounter++));
 
     getAssembler().registerSymbol(*Symbol);
-    MCSymbolData &SD = Symbol->getData();
+    MCSymbol &SD = Symbol->getData();
     MCELF::SetType(*Symbol, ELF::STT_NOTYPE);
     MCELF::SetBinding(*Symbol, ELF::STB_LOCAL);
     SD.setExternal(false);
index f28bf0e7fbb2cf5809b57f8d85d1462538a52c0c..07b3c4ce936561a40f370e7ac176f7d10759daa1 100644 (file)
@@ -152,7 +152,7 @@ RecordARMScatteredHalfRelocation(MachObjectWriter *Writer,
 
   // See <reloc.h>.
   const MCSymbol *A = &Target.getSymA()->getSymbol();
-  const MCSymbolData *A_SD = &A->getData();
+  const MCSymbol *A_SD = &A->getData();
 
   if (!A_SD->getFragment())
     Asm.getContext().reportFatalError(Fixup.getLoc(),
@@ -166,7 +166,7 @@ RecordARMScatteredHalfRelocation(MachObjectWriter *Writer,
   FixedValue += SecAddr;
 
   if (const MCSymbolRefExpr *B = Target.getSymB()) {
-    const MCSymbolData *B_SD = &B->getSymbol().getData();
+    const MCSymbol *B_SD = &B->getSymbol().getData();
 
     if (!B_SD->getFragment())
       Asm.getContext().reportFatalError(Fixup.getLoc(),
@@ -255,7 +255,7 @@ void ARMMachObjectWriter::RecordARMScatteredRelocation(MachObjectWriter *Writer,
 
   // See <reloc.h>.
   const MCSymbol *A = &Target.getSymA()->getSymbol();
-  const MCSymbolData *A_SD = &A->getData();
+  const MCSymbol *A_SD = &A->getData();
 
   if (!A_SD->getFragment())
     Asm.getContext().reportFatalError(Fixup.getLoc(),
@@ -270,7 +270,7 @@ void ARMMachObjectWriter::RecordARMScatteredRelocation(MachObjectWriter *Writer,
 
   if (const MCSymbolRefExpr *B = Target.getSymB()) {
     assert(Type == MachO::ARM_RELOC_VANILLA && "invalid reloc for 2 symbols");
-    const MCSymbolData *B_SD = &B->getSymbol().getData();
+    const MCSymbol *B_SD = &B->getSymbol().getData();
 
     if (!B_SD->getFragment())
       Asm.getContext().reportFatalError(Fixup.getLoc(),
index 5c52b8b0c574a01c16712a180788f6f902884d40..f54018a894271ddb92e5c50e6ad4e1d629045d13 100644 (file)
@@ -206,7 +206,7 @@ bool PPCMachObjectWriter::RecordScatteredRelocation(
 
   // See <reloc.h>.
   const MCSymbol *A = &Target.getSymA()->getSymbol();
-  const MCSymbolData *A_SD = &A->getData();
+  const MCSymbol *A_SD = &A->getData();
 
   if (!A_SD->getFragment())
     report_fatal_error("symbol '" + A->getName() +
@@ -219,7 +219,7 @@ bool PPCMachObjectWriter::RecordScatteredRelocation(
   uint32_t Value2 = 0;
 
   if (const MCSymbolRefExpr *B = Target.getSymB()) {
-    const MCSymbolData *B_SD = &B->getSymbol().getData();
+    const MCSymbol *B_SD = &B->getSymbol().getData();
 
     if (!B_SD->getFragment())
       report_fatal_error("symbol '" + B->getSymbol().getName() +
index 5dadbd2797e111cc697b41174d80337cc3c7bca3..531b8a75427d9d35ee7b71eb59d743e37ea4a8c8 100644 (file)
@@ -142,13 +142,13 @@ void X86MachObjectWriter::RecordX86_64Relocation(
     const MCSymbol *A = &Target.getSymA()->getSymbol();
     if (A->isTemporary())
       A = &Writer->findAliasedSymbol(*A);
-    const MCSymbolData &A_SD = A->getData();
+    const MCSymbol &A_SD = A->getData();
     const MCSymbol *A_Base = Asm.getAtom(*A);
 
     const MCSymbol *B = &Target.getSymB()->getSymbol();
     if (B->isTemporary())
       B = &Writer->findAliasedSymbol(*B);
-    const MCSymbolData &B_SD = B->getData();
+    const MCSymbol &B_SD = B->getData();
     const MCSymbol *B_Base = Asm.getAtom(*B);
 
     // Neither symbol can be modified.
@@ -211,7 +211,7 @@ void X86MachObjectWriter::RecordX86_64Relocation(
       if (!Asm.getContext().getAsmInfo()->isSectionAtomizableBySymbols(Sec))
         Asm.addLocalUsedInReloc(*Symbol);
     }
-    const MCSymbolData &SD = Symbol->getData();
+    const MCSymbol &SD = Symbol->getData();
     RelSymbol = Asm.getAtom(*Symbol);
 
     // Relocations inside debug sections always use local relocations when
@@ -354,7 +354,7 @@ bool X86MachObjectWriter::RecordScatteredRelocation(MachObjectWriter *Writer,
 
   // See <reloc.h>.
   const MCSymbol *A = &Target.getSymA()->getSymbol();
-  const MCSymbolData *A_SD = &A->getData();
+  const MCSymbol *A_SD = &A->getData();
 
   if (!A_SD->getFragment())
     report_fatal_error("symbol '" + A->getName() +
@@ -368,7 +368,7 @@ bool X86MachObjectWriter::RecordScatteredRelocation(MachObjectWriter *Writer,
   uint32_t Value2 = 0;
 
   if (const MCSymbolRefExpr *B = Target.getSymB()) {
-    const MCSymbolData *B_SD = &B->getSymbol().getData();
+    const MCSymbol *B_SD = &B->getSymbol().getData();
 
     if (!B_SD->getFragment())
       report_fatal_error("symbol '" + B->getSymbol().getName() +