Lines Matching refs:Sec

177   void defineSection(MCSectionCOFF const &Sec);
198 const COFFSection &Sec, const MCSection &MCSec);
266 static uint32_t getAlignment(const MCSectionCOFF &Sec) { in getAlignment() argument
267 switch (Sec.getAlignment()) { in getAlignment()
369 COFFSection *Sec = nullptr; in DefineSymbol() local
371 Sec = SectionMap[Base->getFragment()->getParent()]; in DefineSymbol()
372 if (Sym->Section && Sym->Section != Sec) in DefineSymbol()
385 if (!Sec) in DefineSymbol()
388 WeakDefault->Section = Sec; in DefineSymbol()
406 Sym->Section = Sec; in DefineSymbol()
625 const COFFSection &Sec, in writeSection() argument
627 if (Sec.Number == -1) in writeSection()
631 if (Sec.Header.PointerToRawData != 0) { in writeSection()
632 assert(W.OS.tell() == Sec.Header.PointerToRawData && in writeSection()
638 COFFSection *Sec = SectionMap[&MCSec]; in writeSection() local
639 COFFSymbol::AuxiliarySymbols &AuxSyms = Sec->Symbol->Aux; in writeSection()
646 if (Sec.Relocations.empty()) { in writeSection()
647 assert(Sec.Header.PointerToRelocations == 0 && in writeSection()
652 assert(W.OS.tell() == Sec.Header.PointerToRelocations && in writeSection()
655 if (Sec.Relocations.size() >= 0xffff) { in writeSection()
659 R.VirtualAddress = Sec.Relocations.size() + 1; in writeSection()
665 for (const auto &Relocation : Sec.Relocations) in writeSection()
741 COFFSection *Sec = SectionMap[MCSec]; in recordRelocation() local
847 Sec->Relocations.push_back(Reloc); in recordRelocation()
964 COFFSection *Sec = SectionMap[&Section]; in assignFileOffsets() local
966 if (Sec->Number == -1) in assignFileOffsets()
969 Sec->Header.SizeOfRawData = Layout.getSectionAddressSize(&Section); in assignFileOffsets()
971 if (IsPhysicalSection(Sec)) { in assignFileOffsets()
972 Sec->Header.PointerToRawData = Offset; in assignFileOffsets()
973 Offset += Sec->Header.SizeOfRawData; in assignFileOffsets()
976 if (!Sec->Relocations.empty()) { in assignFileOffsets()
977 bool RelocationsOverflow = Sec->Relocations.size() >= 0xffff; in assignFileOffsets()
982 Sec->Header.NumberOfRelocations = 0xffff; in assignFileOffsets()
984 Sec->Header.NumberOfRelocations = Sec->Relocations.size(); in assignFileOffsets()
986 Sec->Header.PointerToRelocations = Offset; in assignFileOffsets()
993 Offset += COFF::RelocationSize * Sec->Relocations.size(); in assignFileOffsets()
995 for (auto &Relocation : Sec->Relocations) { in assignFileOffsets()
1001 assert(Sec->Symbol->Aux.size() == 1 && in assignFileOffsets()
1003 AuxSymbol &Aux = Sec->Symbol->Aux[0]; in assignFileOffsets()
1006 Aux.Aux.SectionDefinition.Length = Sec->Header.SizeOfRawData; in assignFileOffsets()
1008 Sec->Header.NumberOfRelocations; in assignFileOffsets()
1010 Sec->Header.NumberOfLineNumbers; in assignFileOffsets()