Home | History | Annotate | Download | only in MC

Lines Matching refs:SD

114     static bool IsELFMetaDataSection(const MCSectionData &SD);
115 static uint64_t DataSectionSize(const MCSectionData &SD);
117 const MCSectionData &SD);
119 const MCSectionData &SD);
221 const MCSymbolData *SD, uint64_t C,
294 const MCSectionData *SD);
519 MCSymbolData &SD = Asm.getSymbolData(Symbol);
528 OriginalData.setExternal(SD.isExternal());
529 MCELF::SetBinding(OriginalData, MCELF::GetBinding(SD));
695 const MCSymbolData *SD,
732 const MCSymbol &Sym = SD->getSymbol();
736 unsigned Binding = MCELF::GetBinding(*SD);
908 const MCSymbolData &SD = Asm.getSymbolData(*S);
909 return SD.getIndex();
1007 for (MCSymbolData &SD : Asm.symbols()) {
1008 const MCSymbol &Symbol = SD.getSymbol();
1014 if (!isInSymtab(Layout, SD,
1020 MSD.SymbolData = &SD;
1025 bool Local = isLocal(SD, Used);
1026 if (!Local && MCELF::GetBinding(SD) == ELF::STB_LOCAL) {
1029 MCELF::SetBinding(SD, ELF::STB_GLOBAL);
1035 } else if (SD.isCommon()) {
1044 MCELF::SetBinding(SD, ELF::STB_WEAK);
1112 const MCSectionData &SD = *it;
1113 if (Relocations[&SD].empty())
1118 static_cast<const MCSectionELF&>(SD.getSection());
1234 MCSectionData &SD) {
1236 MCSectionData::FragmentListType &Fragments = SD.getFragmentList();
1247 auto I = DefiningSymbols.find(&SD);
1257 CompressedFragment->setParent(&SD);
1273 for (MCSymbolData &SD : Asm.symbols())
1274 if (MCFragment *F = SD.getFragment())
1275 DefiningSymbols[F->getParent()].push_back(&SD);
1277 for (MCSectionData &SD : Asm) {
1279 static_cast<const MCSectionELF &>(SD.getSection());
1288 CompressDebugSection(Asm, Layout, DefiningSymbols, Section, SD);
1296 const MCSectionData &SD = *it;
1298 static_cast<const MCSectionELF&>(SD.getSection());
1349 const MCSectionData *SD) {
1350 std::vector<ELFRelocationEntry> &Relocs = Relocations[SD];
1606 bool ELFObjectWriter::IsELFMetaDataSection(const MCSectionData &SD) {
1607 return SD.getOrdinal() == ~UINT32_C(0) &&
1608 !SD.getSection().isVirtualSection();
1611 uint64_t ELFObjectWriter::DataSectionSize(const MCSectionData &SD) {
1613 for (MCSectionData::const_iterator i = SD.begin(), e = SD.end(); i != e;
1623 const MCSectionData &SD) {
1624 if (IsELFMetaDataSection(SD))
1625 return DataSectionSize(SD);
1626 return Layout.getSectionFileSize(&SD);
1630 const MCSectionData &SD) {
1631 if (IsELFMetaDataSection(SD))
1632 return DataSectionSize(SD);
1633 return Layout.getSectionAddressSize(&SD);
1639 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1641 uint64_t Padding = OffsetToAlignment(OS.tell(), SD.getAlignment());
1644 if (IsELFMetaDataSection(SD)) {
1645 for (MCSectionData::const_iterator i = SD.begin(), e = SD.end(); i != e;
1652 Asm.writeSectionData(&SD, Layout);
1681 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1689 uint64_t Size = GetSectionAddressSize(Layout, SD);
1693 SD.getAlignment(), Section);
1770 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1772 FileOff = RoundUpToAlignment(FileOff, SD.getAlignment());
1778 FileOff += GetSectionFileSize(Layout, SD);
1791 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1793 FileOff = RoundUpToAlignment(FileOff, SD.getAlignment());
1799 FileOff += GetSectionFileSize(Layout, SD);