Lines Matching defs:MCSec
83 const MCSectionXCOFF *const MCSec;
90 StringRef getSymbolTableName() const { return MCSec->getSymbolTableName(); }
92 return MCSec->getVisibilityType();
94 XCOFFSection(const MCSectionXCOFF *MCSec)
95 : MCSec(MCSec), SymbolTableIndex(-1), Address(-1), Size(0) {}
217 assert(DwarfSect->MCSec->isDwarfSect() &&
348 CsectGroup &getCsectGroup(const MCSectionXCOFF *MCSec);
492 CsectGroup &XCOFFObjectWriter::getCsectGroup(const MCSectionXCOFF *MCSec) {
493 switch (MCSec->getMappingClass()) {
495 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
499 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
503 if (XCOFF::XTY_CM == MCSec->getCSectType())
506 if (XCOFF::XTY_SD == MCSec->getCSectType())
513 assert(XCOFF::XTY_CM == MCSec->getCSectType() &&
518 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
523 assert(XCOFF::XTY_CM == MCSec->getCSectType() &&
528 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
536 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
542 assert((XCOFF::XTY_SD == MCSec->getCSectType() ||
543 XCOFF::XTY_CM == MCSec->getCSectType()) &&
561 const auto *MCSec = cast<const MCSectionXCOFF>(&S);
562 assert(!SectionMap.contains(MCSec) && "Cannot add a section twice.");
566 if (nameShouldBeInStringTable(MCSec->getSymbolTableName()))
567 Strings.add(MCSec->getSymbolTableName());
568 if (MCSec->isCsect()) {
572 assert(XCOFF::XTY_ER != MCSec->getCSectType() &&
574 CsectGroup &Group = getCsectGroup(MCSec);
575 Group.emplace_back(MCSec);
576 SectionMap[MCSec] = &Group.back();
577 } else if (MCSec->isDwarfSect()) {
580 std::make_unique<XCOFFSection>(MCSec);
581 SectionMap[MCSec] = DwarfSec.get();
583 DwarfSectionEntry SecEntry(MCSec->getName(),
584 *MCSec->getDwarfSubtypeFlags(),
627 assert(Csect->MCSec->isCsect() && "only csect is supported now!");
985 CSectionRef.MCSec->getMappingClass());
990 assert(DwarfSectionRef.MCSec->isDwarfSect() && "Not a DWARF section!");
1004 writeSymbolAuxCsectEntry(CSectionRef.Size, getEncodedType(CSectionRef.MCSec),
1005 CSectionRef.MCSec->getMappingClass());
1126 if (Section.MCSec->isCsect())
1130 assert(Section.MCSec->isDwarfSect() && "unsupport section type!");
1211 Csect.MCSec->getStorageClass());
1227 Csect.MCSec->getStorageClass());
1428 SymbolIndexMap[Csect.MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex;
1469 const MCSectionXCOFF *MCSec = Csect.MCSec;
1470 Csect.Address = alignTo(Address, MCSec->getAlign());
1471 Csect.Size = Asm.getSectionAddressSize(*MCSec);
1474 SymbolIndexMap[MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex;
1525 (*DwarfSections.begin()).DwarfSect->MCSec->getAlign()) -
1533 const MCSectionXCOFF *MCSec = DwarfSect.MCSec;
1541 SymbolIndexMap[MCSec->getQualNameSymbol()] = DwarfSect.SymbolTableIndex;
1550 alignTo(Address, MCSec->getAlign());
1554 DwarfSection.Size = DwarfSect.Size = Asm.getSectionAddressSize(*MCSec);
1622 Asm.writeSectionData(W.OS, Csect.MCSec);
1651 Asm.writeSectionData(W.OS, DwarfEntry.DwarfSect->MCSec);