Lines Matching refs:MCSec
83 const MCSectionXCOFF *const MCSec; member
90 StringRef getSymbolTableName() const { return MCSec->getSymbolTableName(); } in getSymbolTableName()
92 return MCSec->getVisibilityType(); in getVisibilityType()
94 XCOFFSection(const MCSectionXCOFF *MCSec) in XCOFFSection()
95 : MCSec(MCSec), SymbolTableIndex(-1), Address(-1), Size(0) {} in XCOFFSection()
191 assert(DwarfSect->MCSec->isDwarfSect() && in DwarfSectionEntry()
254 CsectGroup &getCsectGroup(const MCSectionXCOFF *MCSec);
364 CsectGroup &XCOFFObjectWriter::getCsectGroup(const MCSectionXCOFF *MCSec) { in getCsectGroup() argument
365 switch (MCSec->getMappingClass()) { in getCsectGroup()
367 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
371 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
375 if (XCOFF::XTY_CM == MCSec->getCSectType()) in getCsectGroup()
378 if (XCOFF::XTY_SD == MCSec->getCSectType()) in getCsectGroup()
385 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
390 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
395 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
400 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
408 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
429 const auto *MCSec = cast<const MCSectionXCOFF>(&S); in executePostLayoutBinding() local
430 assert(SectionMap.find(MCSec) == SectionMap.end() && in executePostLayoutBinding()
435 if (nameShouldBeInStringTable(MCSec->getSymbolTableName())) in executePostLayoutBinding()
436 Strings.add(MCSec->getSymbolTableName()); in executePostLayoutBinding()
437 if (MCSec->isCsect()) { in executePostLayoutBinding()
441 assert(XCOFF::XTY_ER != MCSec->getCSectType() && in executePostLayoutBinding()
443 CsectGroup &Group = getCsectGroup(MCSec); in executePostLayoutBinding()
444 Group.emplace_back(MCSec); in executePostLayoutBinding()
445 SectionMap[MCSec] = &Group.back(); in executePostLayoutBinding()
446 } else if (MCSec->isDwarfSect()) { in executePostLayoutBinding()
449 std::make_unique<XCOFFSection>(MCSec); in executePostLayoutBinding()
450 SectionMap[MCSec] = DwarfSec.get(); in executePostLayoutBinding()
452 DwarfSectionEntry SecEntry(MCSec->getName(), in executePostLayoutBinding()
453 *MCSec->getDwarfSubtypeFlags(), in executePostLayoutBinding()
493 assert(Csect->MCSec->isCsect() && "only csect is supported now!"); in executePostLayoutBinding()
742 CSectionRef.MCSec->getMappingClass()); in writeSymbolEntryForCsectMemberLabel()
747 assert(DwarfSectionRef.MCSec->isDwarfSect() && "Not a DWARF section!"); in writeSymbolEntryForDwarfSection()
761 writeSymbolAuxCsectEntry(CSectionRef.Size, getEncodedType(CSectionRef.MCSec), in writeSymbolEntryForControlSection()
762 CSectionRef.MCSec->getMappingClass()); in writeSymbolEntryForControlSection()
840 if (Section.MCSec->isCsect()) in writeRelocation()
844 assert(Section.MCSec->isDwarfSect() && "unsupport section type!"); in writeRelocation()
886 Csect.MCSec->getStorageClass()); in writeSymbolTable()
902 Csect.MCSec->getStorageClass()); in writeSymbolTable()
986 SymbolIndexMap[Csect.MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex; in assignAddressesAndIndices()
1028 const MCSectionXCOFF *MCSec = Csect.MCSec; in assignAddressesAndIndices() local
1029 Csect.Address = alignTo(Address, MCSec->getAlignment()); in assignAddressesAndIndices()
1030 Csect.Size = Layout.getSectionAddressSize(MCSec); in assignAddressesAndIndices()
1033 SymbolIndexMap[MCSec->getQualNameSymbol()] = Csect.SymbolTableIndex; in assignAddressesAndIndices()
1066 (*DwarfSections.begin()).DwarfSect->MCSec->getAlignment()) - in assignAddressesAndIndices()
1075 const MCSectionXCOFF *MCSec = DwarfSect.MCSec; in assignAddressesAndIndices() local
1083 SymbolIndexMap[MCSec->getQualNameSymbol()] = DwarfSect.SymbolTableIndex; in assignAddressesAndIndices()
1092 alignTo(Address, MCSec->getAlignment()); in assignAddressesAndIndices()
1096 DwarfSection.Size = DwarfSect.Size = Layout.getSectionAddressSize(MCSec); in assignAddressesAndIndices()
1182 Asm.writeSectionData(W.OS, Csect.MCSec, Layout); in writeSectionForControlSectionEntry()
1211 Asm.writeSectionData(W.OS, DwarfEntry.DwarfSect->MCSec, Layout); in writeSectionForDwarfSectionEntry()