Lines Matching full:sections
81 // We allow sections of types listed below to merged into a
84 // to be allocated for nobits sections. Other ones don't require
88 // NOTE: clang since rL252300 emits SHT_X86_64_UNWIND .eh_frame sections. Allow
103 // 2. Add the InputSection to the InputSectionDescription::sections.
194 // InputSectionDescription::sections.
197 // new synthetic sections at the location of the first input section
206 isd->sections.reserve(isd->sectionBases.size());
210 isd->sections.push_back(cast<InputSection>(s));
214 // We do not want to handle sections that are not alive, so just remove
224 // could be equal, so we may as well have two sections.
239 isd->sections.push_back(syn);
253 // Some input sections may be removed from the list after ICF.
254 for (InputSection *s : isd->sections)
282 sortByOrder(isd->sections, order);
322 errorOrWarn("--compress-sections: deflateInit2 returned " + Twine(res));
349 // Compress certain non-SHF_ALLOC sections:
351 // * (if --compress-debug-sections is specified) non-empty .debug_* sections
352 // * (if --compress-sections is specified) matched sections
369 errorOrWarn("--compress-sections: section '" + name +
374 llvm::TimeTraceScope timeScope("Compress sections");
385 // useful when there are many compressed output sections.
481 llvm::TimeTraceScope timeScope("Write sections", name);
491 // --compress-debug-section/--compress-sections, the content is already known.
518 ArrayRef<InputSection *> sections = getInputSections(*this, storage);
522 fill(buf, sections.empty() ? size : sections[0]->outSecOff, filler);
531 size_t numSections = sections.size();
533 InputSection *isec = sections[i];
545 // Fill gaps between sections.
552 end = buf + sections[i + 1]->outSecOff;
566 size_t numSections = sections.size();
577 // time with other output sections. Note, if a linker script specifies
578 // overlapping output sections (needs --noinhibit-exec or --no-check-sections
582 taskSize += sections[i]->getSize();
595 // sh_link field for SHT_GROUP sections should contain the section index of
610 ArrayRef<InputSectionBase *> sections = section->file->getSections();
612 if (OutputSection *osec = sections[read32(&idx)]->getOutputSection())
679 // Input CREL sections are decoded while REL[A] need to be converted.
687 for (InputSection *relSec : isd->sections) {
718 // We must preserve the link order dependency of sections with the
745 // sh_info for SHT_REL[A] sections should contain the section header index of
782 // For 2 and 3, the sections are sorted by priority from high to low, e.g.
804 // Sorts input sections by the special rules for .ctors and .dtors.
810 llvm::stable_sort(isd->sections, compCtors);
830 if (!isd->sections.empty())
831 return isd->sections[0];
845 ret = isd->sections;
849 storage.insert(storage.end(), isd->sections.begin(), isd->sections.end());
855 // Sorts input sections by section name suffixes, so that .foo.N comes
856 // before .foo.M if N < M. Used to sort .{init,fini}_array.N sections.
862 // Sort sections by priority.
878 ArrayRef<InputSection *> sections = getInputSections(*this, storage);
879 parallelFor(0, sections.size(), [&](size_t i) {
881 // for input .rel[a].<sec> sections which we simply pass through to the
883 // sections created during linking.
884 const auto *sec = dyn_cast<RelocationBaseSection>(sections[i]);
891 // Some targets have NOBITS synthetic sections with dynamic relocations
892 // with non-zero addends. Skip such sections.