Lines Matching refs:Section
84 COFFSection *Section = nullptr; member in __anon6e96ad630111::COFFSymbol
303 COFFSection *Section = createSection(MCSec.getName()); in defineSection() local
305 Section->Symbol = Symbol; in defineSection()
306 Symbol->Section = Section; in defineSection()
313 if (COMDATSymbol->Section) in defineSection()
315 COMDATSymbol->Section = Section; in defineSection()
326 Section->Header.Characteristics = MCSec.getCharacteristics(); in defineSection()
327 Section->Header.Characteristics |= getAlignment(MCSec); in defineSection()
330 Section->MCSection = &MCSec; in defineSection()
331 SectionMap[&MCSec] = Section; in defineSection()
372 if (Sym->Section && Sym->Section != Sec) in DefineSymbol()
379 Sym->Section = nullptr; in DefineSymbol()
388 WeakDefault->Section = Sec; in DefineSymbol()
406 Sym->Section = Sec; in DefineSymbol()
569 for (auto &Section : Sections) in writeSectionHeaders() local
570 Arr.push_back(Section.get()); in writeSectionHeaders()
575 for (auto &Section : Arr) { in writeSectionHeaders() local
576 if (Section->Number == -1) in writeSectionHeaders()
579 COFF::section &S = Section->Header; in writeSectionHeaders()
580 if (Section->Relocations.size() >= 0xffff) in writeSectionHeaders()
690 for (const auto &Section : Asm) in executePostLayoutBinding() local
691 defineSection(static_cast<const MCSectionCOFF &>(Section)); in executePostLayoutBinding()
910 if (!Sym->Section && Sym->Data.SectionNumber != COFF::IMAGE_SYM_ABSOLUTE) in setWeakDefaultNames()
912 if (!AllowComdat && Sym->Section && in setWeakDefaultNames()
913 Sym->Section->Header.Characteristics & COFF::IMAGE_SCN_LNK_COMDAT) in setWeakDefaultNames()
930 static bool isAssociative(const COFFSection &Section) { in isAssociative() argument
931 return Section.Symbol->Aux[0].Aux.SectionDefinition.Selection == in isAssociative()
937 auto Assign = [&](COFFSection &Section) { in assignSectionNumbers() argument
938 Section.Number = I; in assignSectionNumbers()
939 Section.Symbol->Data.SectionNumber = I; in assignSectionNumbers()
940 Section.Symbol->Aux[0].Aux.SectionDefinition.Number = I; in assignSectionNumbers()
947 for (const std::unique_ptr<COFFSection> &Section : Sections) in assignSectionNumbers() local
948 if (!isAssociative(*Section)) in assignSectionNumbers()
949 Assign(*Section); in assignSectionNumbers()
950 for (const std::unique_ptr<COFFSection> &Section : Sections) in assignSectionNumbers() local
951 if (isAssociative(*Section)) in assignSectionNumbers()
952 Assign(*Section); in assignSectionNumbers()
963 for (const auto &Section : Asm) { in assignFileOffsets() local
964 COFFSection *Sec = SectionMap[&Section]; in assignFileOffsets()
969 Sec->Header.SizeOfRawData = Layout.getSectionAddressSize(&Section); in assignFileOffsets()
1034 if (Symbol->Section) in writeObject()
1035 Symbol->Data.SectionNumber = Symbol->Section->Number; in writeObject()
1069 for (auto &Section : Sections) { in writeObject() local
1070 if (Section->Symbol->Aux[0].Aux.SectionDefinition.Selection != in writeObject()
1074 const MCSectionCOFF &MCSec = *Section->MCSection; in writeObject()
1096 Section->Symbol->Aux[0].Aux.SectionDefinition.Number = AssocSec->Number; in writeObject()