Lines Matching refs:MCSec

84   const MCSectionXCOFF *const MCSec;  member
91 StringRef getSymbolTableName() const { return MCSec->getSymbolTableName(); } in getSymbolTableName()
93 return MCSec->getVisibilityType(); in getVisibilityType()
95 XCOFFSection(const MCSectionXCOFF *MCSec) in XCOFFSection()
96 : MCSec(MCSec), SymbolTableIndex(-1), Address(-1), Size(0) {} in XCOFFSection()
218 assert(DwarfSect->MCSec->isDwarfSect() && in DwarfSectionEntry()
350 CsectGroup &getCsectGroup(const MCSectionXCOFF *MCSec);
492 CsectGroup &XCOFFObjectWriter::getCsectGroup(const MCSectionXCOFF *MCSec) { in getCsectGroup() argument
493 switch (MCSec->getMappingClass()) { in getCsectGroup()
495 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
499 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
503 if (XCOFF::XTY_CM == MCSec->getCSectType()) in getCsectGroup()
506 if (XCOFF::XTY_SD == MCSec->getCSectType()) in getCsectGroup()
513 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
518 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
523 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
528 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
537 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
556 const auto *MCSec = cast<const MCSectionXCOFF>(&S); in executePostLayoutBinding() local
557 assert(!SectionMap.contains(MCSec) && "Cannot add a section twice."); in executePostLayoutBinding()
561 if (nameShouldBeInStringTable(MCSec->getSymbolTableName())) in executePostLayoutBinding()
562 Strings.add(MCSec->getSymbolTableName()); in executePostLayoutBinding()
563 if (MCSec->isCsect()) { in executePostLayoutBinding()
567 assert(XCOFF::XTY_ER != MCSec->getCSectType() && in executePostLayoutBinding()
569 CsectGroup &Group = getCsectGroup(MCSec); in executePostLayoutBinding()
570 Group.emplace_back(MCSec); in executePostLayoutBinding()
571 SectionMap[MCSec] = &Group.back(); in executePostLayoutBinding()
572 } else if (MCSec->isDwarfSect()) { in executePostLayoutBinding()
575 std::make_unique<XCOFFSection>(MCSec); in executePostLayoutBinding()
576 SectionMap[MCSec] = DwarfSec.get(); in executePostLayoutBinding()
578 DwarfSectionEntry SecEntry(MCSec->getName(), in executePostLayoutBinding()
579 *MCSec->getDwarfSubtypeFlags(), in executePostLayoutBinding()
619 assert(Csect->MCSec->isCsect() && "only csect is supported now!"); in executePostLayoutBinding()
931 CSectionRef.MCSec->getMappingClass()); in writeSymbolEntryForCsectMemberLabel()
936 assert(DwarfSectionRef.MCSec->isDwarfSect() && "Not a DWARF section!"); in writeSymbolEntryForDwarfSection()
950 writeSymbolAuxCsectEntry(CSectionRef.Size, getEncodedType(CSectionRef.MCSec), in writeSymbolEntryForControlSection()
951 CSectionRef.MCSec->getMappingClass()); in writeSymbolEntryForControlSection()
1072 if (Section.MCSec->isCsect()) in writeRelocation()
1076 assert(Section.MCSec->isDwarfSect() && "unsupport section type!"); in writeRelocation()
1149 Csect.MCSec->getStorageClass()); in writeSymbolTable()
1165 Csect.MCSec->getStorageClass()); in writeSymbolTable()
1366 SymbolIndexMap[Csect.MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex; in assignAddressesAndIndices()
1407 const MCSectionXCOFF *MCSec = Csect.MCSec; in assignAddressesAndIndices() local
1408 Csect.Address = alignTo(Address, MCSec->getAlign()); in assignAddressesAndIndices()
1409 Csect.Size = Layout.getSectionAddressSize(MCSec); in assignAddressesAndIndices()
1412 SymbolIndexMap[MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex; in assignAddressesAndIndices()
1463 (*DwarfSections.begin()).DwarfSect->MCSec->getAlign()) - in assignAddressesAndIndices()
1471 const MCSectionXCOFF *MCSec = DwarfSect.MCSec; in assignAddressesAndIndices() local
1479 SymbolIndexMap[MCSec->getQualNameSymbol()] = DwarfSect.SymbolTableIndex; in assignAddressesAndIndices()
1488 alignTo(Address, MCSec->getAlign()); in assignAddressesAndIndices()
1492 DwarfSection.Size = DwarfSect.Size = Layout.getSectionAddressSize(MCSec); in assignAddressesAndIndices()
1560 Asm.writeSectionData(W.OS, Csect.MCSec, Layout); in writeSectionForControlSectionEntry()
1589 Asm.writeSectionData(W.OS, DwarfEntry.DwarfSect->MCSec, Layout); in writeSectionForDwarfSectionEntry()