Lines Matching refs:part
67 SmallVector<PhdrEntry *, 0> createPhdrs(Partition &part);
68 void addPhdrForSection(Partition &part, unsigned shType, unsigned pType,
72 void setPhdrs(Partition &part);
125 for (unsigned part = 2; part != partitions.size() + 1; ++part) { in copySectionsIntoPartitions() local
130 copy->partition = part; in copySectionsIntoPartitions()
136 copy->partition = part; in copySectionsIntoPartitions()
383 for (Partition &part : partitions) { in createSyntheticSections()
385 sec.partition = part.getNumber(); in createSyntheticSections()
389 if (!part.name.empty()) { in createSyntheticSections()
390 part.elfHeader = std::make_unique<PartitionElfHeaderSection<ELFT>>(); in createSyntheticSections()
391 part.elfHeader->name = part.name; in createSyntheticSections()
392 add(*part.elfHeader); in createSyntheticSections()
394 part.programHeaders = in createSyntheticSections()
396 add(*part.programHeaders); in createSyntheticSections()
400 part.buildId = std::make_unique<BuildIdSection>(); in createSyntheticSections()
401 add(*part.buildId); in createSyntheticSections()
404 part.dynStrTab = std::make_unique<StringTableSection>(".dynstr", true); in createSyntheticSections()
405 part.dynSymTab = in createSyntheticSections()
406 std::make_unique<SymbolTableSection<ELFT>>(*part.dynStrTab); in createSyntheticSections()
407 part.dynamic = std::make_unique<DynamicSection<ELFT>>(); in createSyntheticSections()
410 part.memtagAndroidNote = std::make_unique<MemtagAndroidNote>(); in createSyntheticSections()
411 add(*part.memtagAndroidNote); in createSyntheticSections()
413 part.memtagGlobalDescriptors = in createSyntheticSections()
415 add(*part.memtagGlobalDescriptors); in createSyntheticSections()
420 part.relaDyn = std::make_unique<AndroidPackedRelocationSection<ELFT>>( in createSyntheticSections()
423 part.relaDyn = std::make_unique<RelocationSection<ELFT>>( in createSyntheticSections()
427 add(*part.dynSymTab); in createSyntheticSections()
429 part.verSym = std::make_unique<VersionTableSection>(); in createSyntheticSections()
430 add(*part.verSym); in createSyntheticSections()
433 part.verDef = std::make_unique<VersionDefinitionSection>(); in createSyntheticSections()
434 add(*part.verDef); in createSyntheticSections()
437 part.verNeed = std::make_unique<VersionNeedSection<ELFT>>(); in createSyntheticSections()
438 add(*part.verNeed); in createSyntheticSections()
441 part.gnuHashTab = std::make_unique<GnuHashTableSection>(); in createSyntheticSections()
442 add(*part.gnuHashTab); in createSyntheticSections()
446 part.hashTab = std::make_unique<HashTableSection>(); in createSyntheticSections()
447 add(*part.hashTab); in createSyntheticSections()
450 add(*part.dynamic); in createSyntheticSections()
451 add(*part.dynStrTab); in createSyntheticSections()
452 add(*part.relaDyn); in createSyntheticSections()
456 part.relrDyn = std::make_unique<RelrSection<ELFT>>(threadCount); in createSyntheticSections()
457 add(*part.relrDyn); in createSyntheticSections()
462 part.ehFrameHdr = std::make_unique<EhFrameHeader>(); in createSyntheticSections()
463 add(*part.ehFrameHdr); in createSyntheticSections()
465 part.ehFrame = std::make_unique<EhFrameSection>(); in createSyntheticSections()
466 add(*part.ehFrame); in createSyntheticSections()
470 part.armExidx = std::make_unique<ARMExidxSyntheticSection>(); in createSyntheticSections()
471 add(*part.armExidx); in createSyntheticSections()
476 part.packageMetadataNote = std::make_unique<PackageMetadataNote>(); in createSyntheticSections()
477 add(*part.packageMetadataNote); in createSyntheticSections()
618 for (Partition &part : partitions) in run()
619 removeEmptyPTLoad(part.phdrs); in run()
626 for (Partition &part : partitions) in run()
627 setPhdrs(part); in run()
1111 for (Partition &part : partitions) { in setReservedSymbolSections()
1112 for (PhdrEntry *p : part.phdrs) { in setReservedSymbolSections()
1699 for (Partition &part : partitions) in finalizeAddressDependentContent()
1700 finalizeSynthetic(part.armExidx.get()); in finalizeAddressDependentContent()
1736 for (Partition &part : partitions) { in finalizeAddressDependentContent()
1737 changed |= part.relaDyn->updateAllocSize(); in finalizeAddressDependentContent()
1738 if (part.relrDyn) in finalizeAddressDependentContent()
1739 changed |= part.relrDyn->updateAllocSize(); in finalizeAddressDependentContent()
1740 if (part.memtagGlobalDescriptors) in finalizeAddressDependentContent()
1741 changed |= part.memtagGlobalDescriptors->updateAllocSize(); in finalizeAddressDependentContent()
1984 for (Partition &part : partitions) in finalizeSections()
1985 finalizeSynthetic(part.ehFrame.get()); in finalizeSections()
2081 for (Partition &part : MutableArrayRef<Partition>(partitions).slice(1)) { in finalizeSections()
2083 for (const SymbolTableEntry &e : part.dynSymTab->getSymbols()) in finalizeSections()
2085 for (DynamicReloc &reloc : part.relaDyn->relocs) in finalizeSections()
2088 part.dynSymTab->addSymbol(reloc.sym); in finalizeSections()
2138 for (Partition &part : partitions) { in finalizeSections()
2139 part.phdrs = script->hasPhdrsCommands() ? script->createPhdrs() in finalizeSections()
2140 : createPhdrs(part); in finalizeSections()
2143 addPhdrForSection(part, SHT_ARM_EXIDX, PT_ARM_EXIDX, PF_R); in finalizeSections()
2147 addPhdrForSection(part, SHT_MIPS_REGINFO, PT_MIPS_REGINFO, PF_R); in finalizeSections()
2148 addPhdrForSection(part, SHT_MIPS_OPTIONS, PT_MIPS_OPTIONS, PF_R); in finalizeSections()
2149 addPhdrForSection(part, SHT_MIPS_ABIFLAGS, PT_MIPS_ABIFLAGS, PF_R); in finalizeSections()
2155 addPhdrForSection(part, SHT_RISCV_ATTRIBUTES, PT_RISCV_ATTRIBUTES, in finalizeSections()
2195 for (Partition &part : partitions) { in finalizeSections()
2196 if (part.relaDyn) { in finalizeSections()
2197 part.relaDyn->mergeRels(); in finalizeSections()
2199 part.relaDyn->partitionRels(); in finalizeSections()
2200 finalizeSynthetic(part.relaDyn.get()); in finalizeSections()
2202 if (part.relrDyn) { in finalizeSections()
2203 part.relrDyn->mergeRels(); in finalizeSections()
2204 finalizeSynthetic(part.relrDyn.get()); in finalizeSections()
2207 finalizeSynthetic(part.dynSymTab.get()); in finalizeSections()
2208 finalizeSynthetic(part.gnuHashTab.get()); in finalizeSections()
2209 finalizeSynthetic(part.hashTab.get()); in finalizeSections()
2210 finalizeSynthetic(part.verDef.get()); in finalizeSections()
2211 finalizeSynthetic(part.ehFrameHdr.get()); in finalizeSections()
2212 finalizeSynthetic(part.verSym.get()); in finalizeSections()
2213 finalizeSynthetic(part.verNeed.get()); in finalizeSections()
2214 finalizeSynthetic(part.dynamic.get()); in finalizeSections()
2380 SmallVector<PhdrEntry *, 0> Writer<ELFT>::createPhdrs(Partition &part) { in createPhdrs() argument
2387 unsigned partNo = part.getNumber(); in createPhdrs()
2402 addHdr(PT_PHDR, PF_R)->add(part.programHeaders->getParent()); in createPhdrs()
2498 if (OutputSection *sec = part.dynamic->getParent()) in createPhdrs()
2505 if (part.ehFrame->isNeeded() && part.ehFrameHdr && in createPhdrs()
2506 part.ehFrame->getParent() && part.ehFrameHdr->getParent()) in createPhdrs()
2507 addHdr(PT_GNU_EH_FRAME, part.ehFrameHdr->getParent()->getPhdrFlags()) in createPhdrs()
2508 ->add(part.ehFrameHdr->getParent()); in createPhdrs()
2554 void Writer<ELFT>::addPhdrForSection(Partition &part, unsigned shType, in addPhdrForSection() argument
2556 unsigned partNo = part.getNumber(); in addPhdrForSection()
2565 part.phdrs.push_back(entry); in addPhdrForSection()
2626 for (Partition &part : partitions) { in fixSectionAlignments()
2628 for (const PhdrEntry *p : part.phdrs) in fixSectionAlignments()
2693 for (Partition &part : partitions) in assignFileOffsets()
2694 for (PhdrEntry *p : part.phdrs) in assignFileOffsets()
2745 template <class ELFT> void Writer<ELFT>::setPhdrs(Partition &part) { in setPhdrs() argument
2746 for (PhdrEntry *p : part.phdrs) { in setPhdrs()
2753 if (part.armExidx && p->p_type == PT_ARM_EXIDX) { in setPhdrs()
2754 p->p_filesz = part.armExidx->getSize(); in setPhdrs()
2755 p->p_memsz = part.armExidx->getSize(); in setPhdrs()
2756 p->p_offset = first->offset + part.armExidx->outSecOff; in setPhdrs()
2757 p->p_vaddr = first->addr + part.armExidx->outSecOff; in setPhdrs()
2758 p->p_align = part.armExidx->addralign; in setPhdrs()
2759 if (part.elfHeader) in setPhdrs()
2760 p->p_offset -= part.elfHeader->getParent()->offset; in setPhdrs()
2763 p->p_paddr = first->getLMA() + part.armExidx->outSecOff; in setPhdrs()
2778 if (part.elfHeader) in setPhdrs()
2779 p->p_offset -= part.elfHeader->getParent()->offset; in setPhdrs()
2997 for (Partition &part : partitions) { in writeTrapInstr()
2999 for (PhdrEntry *p : part.phdrs) in writeTrapInstr()
3011 for (PhdrEntry *p : part.phdrs) in writeTrapInstr()
3075 for (Partition &part : partitions) in writeBuildId()
3076 part.buildId->writeBuildId(config->buildIdVector); in writeBuildId()
3115 for (Partition &part : partitions) in writeBuildId()
3116 part.buildId->writeBuildId(output); in writeBuildId()