Home | History | Annotate | Download | only in MC

Lines Matching refs:Section

60                               const MCSectionELF &Section);
113 // This holds the .strtab section index.
115 // This holds the .symtab section index.
264 // Map from a group section to the signature symbol
266 // Map from a signature symbol to the group section
268 // Map from a section to the section with the relocations
270 // Map from a section to its offset
276 /// \param SectionIndexMap - Maps a section to its index.
277 /// \param RevGroupMap - Maps a signature symbol to the group section.
299 // those are the .note.GNU-stack section and the group sections.
338 const MCSectionELF &Section);
421 // e_shentsize = Section header entry size
424 // e_shnum = # of section header ents
430 // e_shstrndx = Section # of '.shstrtab'
600 // Write out a symbol table entry for each regular section.
603 const MCSectionELF &Section =
605 if (Section.getType() == ELF::SHT_RELA ||
606 Section.getType() == ELF::SHT_REL ||
607 Section.getType() == ELF::SHT_STRTAB ||
608 Section.getType() == ELF::SHT_SYMTAB ||
609 Section.getType() == ELF::SHT_SYMTAB_SHNDX)
612 ELF::STV_DEFAULT, SectionIndexMap.lookup(&Section),
659 const MCSectionELF &Section =
661 const SectionKind secKind = Section.getKind();
676 if (&Sec2 != &Section &&
685 if (Section.getFlags() & ELF::SHF_MERGE) {
720 // Offset of the symbol in the section
723 // Offset of the relocation in the section
734 // Offset of the symbol in the section
843 const MCSectionELF &Section =
845 if (Section.getType() != ELF::SHT_GROUP)
847 SectionIndexMap[&Section] = Index++;
852 const MCSectionELF &Section =
854 if (Section.getType() == ELF::SHT_GROUP ||
855 Section.getType() == ELF::SHT_REL ||
856 Section.getType() == ELF::SHT_RELA)
858 SectionIndexMap[&Section] = Index++;
859 const MCSectionELF *RelSection = RelMap.lookup(&Section);
927 const MCSectionELF &Section =
929 MSD.SectionIndex = SectionIndexMap.lookup(&Section);
932 assert(MSD.SectionIndex && "Invalid section index!");
995 const MCSectionELF &Section =
998 const StringRef SectionName = Section.getSectionName();
1013 RelMap[&Section] = RelaSection;
1023 const MCSectionELF &Section =
1026 const MCSectionELF *RelaSection = RelMap.lookup(&Section);
1182 const MCSectionELF &Section =
1184 Sections.push_back(&Section);
1188 // Section header string table.
1191 // section 0.
1196 const MCSectionELF &Section = *Sections[I];
1198 StringRef Name = Section.getSectionName();
1202 SectionStringTableIndex[&Section] = Index - Name.size() - 1;
1207 // into the sh_name field of the section header table.
1208 SectionStringTableIndex[&Section] = Index;
1222 // Create the .note.GNU-stack section if needed.
1234 const MCSectionELF &Section =
1236 if (!(Section.getFlags() & ELF::SHF_GROUP))
1239 const MCSymbol *SignatureSymbol = Section.getGroup();
1257 const MCSectionELF &Section =
1259 if (!(Section.getFlags() & ELF::SHF_GROUP))
1261 const MCSectionELF *Group = RevGroupMap[Section.getGroup()];
1265 unsigned Index = SectionIndexMap.lookup(&Section);
1275 const MCSectionELF &Section) {
1279 switch(Section.getType()) {
1281 sh_link = SectionStringTableIndex[&Section];
1296 unsigned SecNameLen = (Section.getType() == ELF::SHT_REL) ? 4 : 5;
1297 StringRef SectionName = Section.getSectionName().substr(SecNameLen);
1342 Section.getType() == ELF::SHT_ARM_EXIDX) {
1343 StringRef SecName(Section.getSectionName());
1359 WriteSecHdrEntry(SectionStringTableIndex[&Section], Section.getType(),
1360 Section.getFlags(), 0, Offset, Size, sh_link, sh_info,
1361 Alignment, Section.getEntrySize());
1396 const MCSectionELF &Section) {
1397 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1430 // Null section first.
1438 const MCSectionELF &Section = *Sections[i];
1439 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1441 if (Section.getType() != ELF::SHT_GROUP)
1445 GroupMap.lookup(&Section));
1450 SectionOffsetMap.lookup(&Section), Size,
1451 SD.getAlignment(), Section);
1459 const MCSectionELF &Section =
1461 if (Section.getType() == ELF::SHT_GROUP)
1462 Sections.push_back(&Section);
1467 const MCSectionELF &Section =
1469 if (Section.getType() != ELF::SHT_GROUP &&
1470 Section.getType() != ELF::SHT_REL &&
1471 Section.getType() != ELF::SHT_RELA)
1472 Sections.push_back(&Section);
1477 const MCSectionELF &Section =
1479 if (Section.getType() == ELF::SHT_REL ||
1480 Section.getType() == ELF::SHT_RELA)
1481 Sections.push_back(&Section);
1525 const MCSectionELF &Section = *Sections[i];
1526 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1530 // Remember the offset into the file for this section.
1531 SectionOffsetMap[&Section] = FileOff;
1533 // Get the size of the section in the output file (including padding).
1546 const MCSectionELF &Section = *Sections[i];
1547 const MCSectionData &SD = Asm.getOrCreateSectionData(Section);
1551 // Remember the offset into the file for this section.
1552 SectionOffsetMap[&Section] = FileOff;
1554 // Get the size of the section in the output file (including padding).
1569 // ... then the section header table ...