Lines Matching refs:Section
118 // This holds the .strtab section index.
120 // This holds the .symtab section index.
123 // Sections in the order they are to be output in the section table.
173 // Start and end offset of each section
187 // Map from a signature symbol to the group section index
193 /// \param SectionIndexMap - Maps a section to its index.
194 /// \param RevGroupMap - Maps a signature symbol to the group section.
233 const MCSectionELF &Section);
350 // e_shentsize = Section header entry size
353 // e_shnum = # of section header ents
356 // e_shstrndx = Section # of '.shstrtab'
493 // to use a relocation with a section if that is possible. Using the section
500 // A PCRel relocation to an absolute value has no symbol (or section). We
501 // represent that with a relocation to a null section.
514 // in a relocation with a null section which is the desired result.
521 // section and patch the difference in the addend.
532 // An undefined symbol is not in any section, so the relocation has to point
555 // If a relocation points to a mergeable section, we have to be careful.
556 // If the offset is zero, a relocation with the section will encode the
559 // If we change such a relocation to use the section, the linker would think
569 // only handle section relocations to mergeable sections if using RELA.
583 // set, so we would lose the bit if we relocated with the section.
584 // FIXME: We could use the section but add the bit to the relocation value.
595 // can at least know that all symbols in the section will move together.
820 const MCSectionELF &Section =
822 MSD.SectionIndex = SectionIndexMap.lookup(&Section);
823 assert(MSD.SectionIndex && "Invalid section index!");
879 // This holds the .symtab_shndx section index.
973 // "ZLIB" followed by 8 bytes representing the uncompressed size of the section,
994 MCSectionELF &Section = static_cast<MCSectionELF &>(Sec);
995 StringRef SectionName = Section.getSectionName();
1002 Asm.writeSectionData(&Section, Layout);
1010 Asm.writeSectionData(&Section, Layout);
1026 Asm.getContext().renameELFSection(&Section,
1103 uint64_t Size, const MCSectionELF &Section) {
1107 switch(Section.getType()) {
1119 const MCSectionELF *InfoSection = Section.getAssociatedSection();
1141 Section.getType() == ELF::SHT_ARM_EXIDX)
1142 sh_link = SectionIndexMap.lookup(Section.getAssociatedSection());
1144 WriteSecHdrEntry(StrTabBuilder.getOffset(Section.getSectionName()),
1145 Section.getType(), Section.getFlags(), 0, Offset, Size,
1146 sh_link, sh_info, Section.getAlignment(),
1147 Section.getEntrySize());
1155 // Null section first.
1160 for (const MCSectionELF *Section : SectionTable) {
1162 unsigned Type = Section->getType();
1166 GroupSymbolIndex = Section->getGroup()->getIndex();
1169 SectionOffsets.find(Section)->second;
1172 Size = Layout.getSectionAddressSize(Section);
1177 *Section);
1201 MCSectionELF &Section = static_cast<MCSectionELF &>(Sec);
1203 align(Section.getAlignment());
1205 // Remember the offset into the file for this section.
1208 const MCSymbolELF *SignatureSymbol = Section.getGroup();
1209 writeSectionData(Asm, Section, Layout);
1212 SectionOffsets[&Section] = std::make_pair(SecStart, SecEnd);
1214 MCSectionELF *RelSection = createRelocationSection(Ctx, Section);
1227 Members.push_back(&Section);
1232 SectionIndexMap[&Section] = addToSectionTable(&Section);
1242 // Remember the offset into the file for this section.
1263 // Remember the offset into the file for this section.
1284 // ... then the section header table ...