Lines Matching refs:Section

81   COFFSection *Section = nullptr;  member in __anon1ceee7e50111::COFFSymbol
327 COFFSection *Section = createSection(MCSec.getName()); in defineSection() local
329 Section->Symbol = Symbol; in defineSection()
330 Symbol->Section = Section; in defineSection()
337 if (COMDATSymbol->Section) in defineSection()
339 COMDATSymbol->Section = Section; in defineSection()
350 Section->Header.Characteristics = MCSec.getCharacteristics(); in defineSection()
351 Section->Header.Characteristics |= getAlignment(MCSec); in defineSection()
354 Section->MCSection = &MCSec; in defineSection()
355 SectionMap[&MCSec] = Section; in defineSection()
364 Label->Section = Section; in defineSection()
367 Section->OffsetSymbols.push_back(Label); in defineSection()
409 if (Sym->Section && Sym->Section != Sec) in DefineSymbol()
416 Sym->Section = nullptr; in DefineSymbol()
425 WeakDefault->Section = Sec; in DefineSymbol()
443 Sym->Section = Sec; in DefineSymbol()
570 for (auto &Section : Sections) in writeSectionHeaders() local
571 Arr.push_back(Section.get()); in writeSectionHeaders()
576 for (auto &Section : Arr) { in writeSectionHeaders() local
577 if (Section->Number == -1) in writeSectionHeaders()
580 COFF::section &S = Section->Header; in writeSectionHeaders()
581 if (Section->Relocations.size() >= 0xffff) in writeSectionHeaders()
720 if (!Sym->Section && Sym->Data.SectionNumber != COFF::IMAGE_SYM_ABSOLUTE) in setWeakDefaultNames()
722 if (!AllowComdat && Sym->Section && in setWeakDefaultNames()
723 Sym->Section->Header.Characteristics & COFF::IMAGE_SCN_LNK_COMDAT) in setWeakDefaultNames()
740 static bool isAssociative(const COFFSection &Section) { in isAssociative() argument
741 return Section.Symbol->Aux[0].Aux.SectionDefinition.Selection == in isAssociative()
747 auto Assign = [&](COFFSection &Section) { in assignSectionNumbers() argument
748 Section.Number = I; in assignSectionNumbers()
749 Section.Symbol->Data.SectionNumber = I; in assignSectionNumbers()
750 Section.Symbol->Aux[0].Aux.SectionDefinition.Number = I; in assignSectionNumbers()
757 for (const std::unique_ptr<COFFSection> &Section : Sections) in assignSectionNumbers() local
758 if (!isAssociative(*Section)) in assignSectionNumbers()
759 Assign(*Section); in assignSectionNumbers()
760 for (const std::unique_ptr<COFFSection> &Section : Sections) in assignSectionNumbers() local
761 if (isAssociative(*Section)) in assignSectionNumbers()
762 Assign(*Section); in assignSectionNumbers()
773 for (const auto &Section : Asm) { in assignFileOffsets() local
774 COFFSection *Sec = SectionMap[&Section]; in assignFileOffsets()
779 Sec->Header.SizeOfRawData = Layout.getSectionAddressSize(&Section); in assignFileOffsets()
841 for (const auto &Section : Asm) { in executePostLayoutBinding() local
842 if ((Mode == NonDwoOnly && isDwoSection(Section)) || in executePostLayoutBinding()
843 (Mode == DwoOnly && !isDwoSection(Section))) in executePostLayoutBinding()
845 defineSection(static_cast<const MCSectionCOFF &>(Section), Layout); in executePostLayoutBinding()
919 COFFSection *Section = SectionMap[TargetSection]; in recordRelocation() local
920 Reloc.Symb = Section->Symbol; in recordRelocation()
926 if (UseOffsetLabels && !Section->OffsetSymbols.empty()) { in recordRelocation()
929 if (LabelIndex <= Section->OffsetSymbols.size()) in recordRelocation()
930 Reloc.Symb = Section->OffsetSymbols[LabelIndex - 1]; in recordRelocation()
932 Reloc.Symb = Section->OffsetSymbols.back(); in recordRelocation()
1033 if (Symbol->Section) in writeObject()
1034 Symbol->Data.SectionNumber = Symbol->Section->Number; in writeObject()
1068 for (auto &Section : Sections) { in writeObject() local
1069 if (Section->Symbol->Aux[0].Aux.SectionDefinition.Selection != in writeObject()
1073 const MCSectionCOFF &MCSec = *Section->MCSection; in writeObject()
1095 Section->Symbol->Aux[0].Aux.SectionDefinition.Number = AssocSec->Number; in writeObject()