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() &&
347 CsectGroup &getCsectGroup(const MCSectionXCOFF *MCSec);
491 CsectGroup &XCOFFWriter::getCsectGroup(const MCSectionXCOFF *MCSec) {
492 switch (MCSec->getMappingClass()) {
494 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
498 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
502 if (XCOFF::XTY_CM == MCSec->getCSectType())
505 if (XCOFF::XTY_SD == MCSec->getCSectType())
512 assert(XCOFF::XTY_CM == MCSec->getCSectType() &&
517 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
522 assert(XCOFF::XTY_CM == MCSec->getCSectType() &&
527 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
535 assert(XCOFF::XTY_SD == MCSec->getCSectType() &&
541 assert((XCOFF::XTY_SD == MCSec->getCSectType() ||
542 XCOFF::XTY_CM == MCSec->getCSectType()) &&
560 const auto *MCSec = cast<const MCSectionXCOFF>(&S);
561 assert(!SectionMap.contains(MCSec) && "Cannot add a section twice.");
565 if (nameShouldBeInStringTable(MCSec->getSymbolTableName()))
566 Strings.add(MCSec->getSymbolTableName());
567 if (MCSec->isCsect()) {
571 assert(XCOFF::XTY_ER != MCSec->getCSectType() &&
573 CsectGroup &Group = getCsectGroup(MCSec);
574 Group.emplace_back(MCSec);
575 SectionMap[MCSec] = &Group.back();
576 } else if (MCSec->isDwarfSect()) {
579 std::make_unique<XCOFFSection>(MCSec);
580 SectionMap[MCSec] = DwarfSec.get();
582 DwarfSectionEntry SecEntry(MCSec->getName(),
583 *MCSec->getDwarfSubtypeFlags(),
626 assert(Csect->MCSec->isCsect() && "only csect is supported now!");
982 CSectionRef.MCSec->getMappingClass());
987 assert(DwarfSectionRef.MCSec->isDwarfSect() && "Not a DWARF section!");
1001 writeSymbolAuxCsectEntry(CSectionRef.Size, getEncodedType(CSectionRef.MCSec),
1002 CSectionRef.MCSec->getMappingClass());
1123 if (Section.MCSec->isCsect())
1127 assert(Section.MCSec->isDwarfSect() && "unsupport section type!");
1205 Csect.MCSec->getStorageClass());
1221 Csect.MCSec->getStorageClass());
1422 SymbolIndexMap[Csect.MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex;
1463 const MCSectionXCOFF *MCSec = Csect.MCSec;
1464 Csect.Address = alignTo(Address, MCSec->getAlign());
1465 Csect.Size = Asm.getSectionAddressSize(*MCSec);
1468 SymbolIndexMap[MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex;
1519 (*DwarfSections.begin()).DwarfSect->MCSec->getAlign()) -
1527 const MCSectionXCOFF *MCSec = DwarfSect.MCSec;
1535 SymbolIndexMap[MCSec->getQualNameSymbol()] = DwarfSect.SymbolTableIndex;
1544 alignTo(Address, MCSec->getAlign());
1548 DwarfSection.Size = DwarfSect.Size = Asm.getSectionAddressSize(*MCSec);
1616 Asm.writeSectionData(W.OS, Csect.MCSec);
1645 Asm.writeSectionData(W.OS, DwarfEntry.DwarfSect->MCSec);