Lines Matching refs:Sec

171   void defineSection(MCSectionCOFF const &Sec);
192 const COFFSection &Sec, const MCSection &MCSec);
259 static uint32_t getAlignment(const MCSectionCOFF &Sec) { in getAlignment() argument
260 switch (Sec.getAlignment()) { in getAlignment()
361 COFFSection *Sec = nullptr; in DefineSymbol() local
363 Sec = SectionMap[Base->getFragment()->getParent()]; in DefineSymbol()
364 if (Sym->Section && Sym->Section != Sec) in DefineSymbol()
376 if (!Sec) in DefineSymbol()
379 WeakDefault->Section = Sec; in DefineSymbol()
396 Sym->Section = Sec; in DefineSymbol()
615 const COFFSection &Sec, in writeSection() argument
617 if (Sec.Number == -1) in writeSection()
621 if (Sec.Header.PointerToRawData != 0) { in writeSection()
622 assert(W.OS.tell() == Sec.Header.PointerToRawData && in writeSection()
628 COFFSection *Sec = SectionMap[&MCSec]; in writeSection() local
629 COFFSymbol::AuxiliarySymbols &AuxSyms = Sec->Symbol->Aux; in writeSection()
636 if (Sec.Relocations.empty()) { in writeSection()
637 assert(Sec.Header.PointerToRelocations == 0 && in writeSection()
642 assert(W.OS.tell() == Sec.Header.PointerToRelocations && in writeSection()
645 if (Sec.Relocations.size() >= 0xffff) { in writeSection()
649 R.VirtualAddress = Sec.Relocations.size() + 1; in writeSection()
655 for (const auto &Relocation : Sec.Relocations) in writeSection()
724 COFFSection *Sec = SectionMap[MCSec]; in recordRelocation() local
826 Sec->Relocations.push_back(Reloc); in recordRelocation()
901 COFFSection *Sec = SectionMap[&Section]; in assignFileOffsets() local
903 if (Sec->Number == -1) in assignFileOffsets()
906 Sec->Header.SizeOfRawData = Layout.getSectionAddressSize(&Section); in assignFileOffsets()
908 if (IsPhysicalSection(Sec)) { in assignFileOffsets()
909 Sec->Header.PointerToRawData = Offset; in assignFileOffsets()
910 Offset += Sec->Header.SizeOfRawData; in assignFileOffsets()
913 if (!Sec->Relocations.empty()) { in assignFileOffsets()
914 bool RelocationsOverflow = Sec->Relocations.size() >= 0xffff; in assignFileOffsets()
919 Sec->Header.NumberOfRelocations = 0xffff; in assignFileOffsets()
921 Sec->Header.NumberOfRelocations = Sec->Relocations.size(); in assignFileOffsets()
923 Sec->Header.PointerToRelocations = Offset; in assignFileOffsets()
930 Offset += COFF::RelocationSize * Sec->Relocations.size(); in assignFileOffsets()
932 for (auto &Relocation : Sec->Relocations) { in assignFileOffsets()
938 assert(Sec->Symbol->Aux.size() == 1 && in assignFileOffsets()
940 AuxSymbol &Aux = Sec->Symbol->Aux[0]; in assignFileOffsets()
943 Aux.Aux.SectionDefinition.Length = Sec->Header.SizeOfRawData; in assignFileOffsets()
945 Sec->Header.NumberOfRelocations; in assignFileOffsets()
947 Sec->Header.NumberOfLineNumbers; in assignFileOffsets()