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);
124 for (unsigned part = 2; part != partitions.size() + 1; ++part) { in copySectionsIntoPartitions() local
135 copy->partition = part; in copySectionsIntoPartitions()
152 Partition &part = s->getPartition(); in combineEhSections() local
154 part.ehFrame->addSection(es); in combineEhSections()
156 } else if (s->kind() == SectionBase::Regular && part.armExidx && in combineEhSections()
157 part.armExidx->addSection(cast<InputSection>(s))) { in combineEhSections()
340 for (Partition &part : partitions) { in createSyntheticSections()
342 sec.partition = part.getNumber(); in createSyntheticSections()
346 if (!part.name.empty()) { in createSyntheticSections()
347 part.elfHeader = std::make_unique<PartitionElfHeaderSection<ELFT>>(); in createSyntheticSections()
348 part.elfHeader->name = part.name; in createSyntheticSections()
349 add(*part.elfHeader); in createSyntheticSections()
351 part.programHeaders = in createSyntheticSections()
353 add(*part.programHeaders); in createSyntheticSections()
357 part.buildId = std::make_unique<BuildIdSection>(); in createSyntheticSections()
358 add(*part.buildId); in createSyntheticSections()
361 part.dynStrTab = std::make_unique<StringTableSection>(".dynstr", true); in createSyntheticSections()
362 part.dynSymTab = in createSyntheticSections()
363 std::make_unique<SymbolTableSection<ELFT>>(*part.dynStrTab); in createSyntheticSections()
364 part.dynamic = std::make_unique<DynamicSection<ELFT>>(); in createSyntheticSections()
368 part.memtagAndroidNote = std::make_unique<MemtagAndroidNote>(); in createSyntheticSections()
369 add(*part.memtagAndroidNote); in createSyntheticSections()
373 part.relaDyn = in createSyntheticSections()
376 part.relaDyn = std::make_unique<RelocationSection<ELFT>>( in createSyntheticSections()
380 add(*part.dynSymTab); in createSyntheticSections()
382 part.verSym = std::make_unique<VersionTableSection>(); in createSyntheticSections()
383 add(*part.verSym); in createSyntheticSections()
386 part.verDef = std::make_unique<VersionDefinitionSection>(); in createSyntheticSections()
387 add(*part.verDef); in createSyntheticSections()
390 part.verNeed = std::make_unique<VersionNeedSection<ELFT>>(); in createSyntheticSections()
391 add(*part.verNeed); in createSyntheticSections()
394 part.gnuHashTab = std::make_unique<GnuHashTableSection>(); in createSyntheticSections()
395 add(*part.gnuHashTab); in createSyntheticSections()
399 part.hashTab = std::make_unique<HashTableSection>(); in createSyntheticSections()
400 add(*part.hashTab); in createSyntheticSections()
403 add(*part.dynamic); in createSyntheticSections()
404 add(*part.dynStrTab); in createSyntheticSections()
405 add(*part.relaDyn); in createSyntheticSections()
409 part.relrDyn = std::make_unique<RelrSection<ELFT>>(); in createSyntheticSections()
410 add(*part.relrDyn); in createSyntheticSections()
415 part.ehFrameHdr = std::make_unique<EhFrameHeader>(); in createSyntheticSections()
416 add(*part.ehFrameHdr); in createSyntheticSections()
418 part.ehFrame = std::make_unique<EhFrameSection>(); in createSyntheticSections()
419 add(*part.ehFrame); in createSyntheticSections()
425 part.armExidx = std::make_unique<ARMExidxSyntheticSection>(); in createSyntheticSections()
426 add(*part.armExidx); in createSyntheticSections()
430 part.packageMetadataNote = std::make_unique<PackageMetadataNote>(); in createSyntheticSections()
431 add(*part.packageMetadataNote); in createSyntheticSections()
564 for (Partition &part : partitions) in run()
565 removeEmptyPTLoad(part.phdrs); in run()
572 for (Partition &part : partitions) in run()
573 setPhdrs(part); in run()
1067 for (Partition &part : partitions) { in setReservedSymbolSections()
1068 for (PhdrEntry *p : part.phdrs) { in setReservedSymbolSections()
1641 for (Partition &part : partitions) in finalizeAddressDependentContent()
1642 finalizeSynthetic(part.armExidx.get()); in finalizeAddressDependentContent()
1677 for (Partition &part : partitions) { in finalizeAddressDependentContent()
1678 changed |= part.relaDyn->updateAllocSize(); in finalizeAddressDependentContent()
1679 if (part.relrDyn) in finalizeAddressDependentContent()
1680 changed |= part.relrDyn->updateAllocSize(); in finalizeAddressDependentContent()
1913 for (Partition &part : partitions) in finalizeSections()
1914 finalizeSynthetic(part.ehFrame.get()); in finalizeSections()
1942 for (Partition &part : partitions) { in finalizeSections()
1943 for (EhInputSection *sec : part.ehFrame->sections) in finalizeSections()
1945 if (part.armExidx && part.armExidx->isLive()) in finalizeSections()
1946 for (InputSection *sec : part.armExidx->exidxSections) in finalizeSections()
2008 for (Partition &part : MutableArrayRef<Partition>(partitions).slice(1)) { in finalizeSections()
2010 for (const SymbolTableEntry &e : part.dynSymTab->getSymbols()) in finalizeSections()
2012 for (DynamicReloc &reloc : part.relaDyn->relocs) in finalizeSections()
2015 part.dynSymTab->addSymbol(reloc.sym); in finalizeSections()
2063 for (Partition &part : partitions) { in finalizeSections()
2064 part.phdrs = script->hasPhdrsCommands() ? script->createPhdrs() in finalizeSections()
2065 : createPhdrs(part); in finalizeSections()
2068 addPhdrForSection(part, SHT_ARM_EXIDX, PT_ARM_EXIDX, PF_R); in finalizeSections()
2072 addPhdrForSection(part, SHT_MIPS_REGINFO, PT_MIPS_REGINFO, PF_R); in finalizeSections()
2073 addPhdrForSection(part, SHT_MIPS_OPTIONS, PT_MIPS_OPTIONS, PF_R); in finalizeSections()
2074 addPhdrForSection(part, SHT_MIPS_ABIFLAGS, PT_MIPS_ABIFLAGS, PF_R); in finalizeSections()
2113 for (Partition &part : partitions) { in finalizeSections()
2114 if (part.relaDyn) { in finalizeSections()
2116 part.relaDyn->partitionRels(); in finalizeSections()
2117 finalizeSynthetic(part.relaDyn.get()); in finalizeSections()
2120 finalizeSynthetic(part.dynSymTab.get()); in finalizeSections()
2121 finalizeSynthetic(part.gnuHashTab.get()); in finalizeSections()
2122 finalizeSynthetic(part.hashTab.get()); in finalizeSections()
2123 finalizeSynthetic(part.verDef.get()); in finalizeSections()
2124 finalizeSynthetic(part.relrDyn.get()); in finalizeSections()
2125 finalizeSynthetic(part.ehFrameHdr.get()); in finalizeSections()
2126 finalizeSynthetic(part.verSym.get()); in finalizeSections()
2127 finalizeSynthetic(part.verNeed.get()); in finalizeSections()
2128 finalizeSynthetic(part.dynamic.get()); in finalizeSections()
2286 SmallVector<PhdrEntry *, 0> Writer<ELFT>::createPhdrs(Partition &part) { in createPhdrs() argument
2293 unsigned partNo = part.getNumber(); in createPhdrs()
2308 addHdr(PT_PHDR, PF_R)->add(part.programHeaders->getParent()); in createPhdrs()
2392 if (OutputSection *sec = part.dynamic->getParent()) in createPhdrs()
2399 if (part.ehFrame->isNeeded() && part.ehFrameHdr && in createPhdrs()
2400 part.ehFrame->getParent() && part.ehFrameHdr->getParent()) in createPhdrs()
2401 addHdr(PT_GNU_EH_FRAME, part.ehFrameHdr->getParent()->getPhdrFlags()) in createPhdrs()
2402 ->add(part.ehFrameHdr->getParent()); in createPhdrs()
2448 void Writer<ELFT>::addPhdrForSection(Partition &part, unsigned shType, in addPhdrForSection() argument
2450 unsigned partNo = part.getNumber(); in addPhdrForSection()
2459 part.phdrs.push_back(entry); in addPhdrForSection()
2520 for (Partition &part : partitions) { in fixSectionAlignments()
2522 for (const PhdrEntry *p : part.phdrs) in fixSectionAlignments()
2587 for (Partition &part : partitions) in assignFileOffsets()
2588 for (PhdrEntry *p : part.phdrs) in assignFileOffsets()
2639 template <class ELFT> void Writer<ELFT>::setPhdrs(Partition &part) { in setPhdrs() argument
2640 for (PhdrEntry *p : part.phdrs) { in setPhdrs()
2655 if (part.elfHeader) in setPhdrs()
2656 p->p_offset -= part.elfHeader->getParent()->offset; in setPhdrs()
2883 for (Partition &part : partitions) { in writeTrapInstr()
2885 for (PhdrEntry *p : part.phdrs) in writeTrapInstr()
2897 for (PhdrEntry *p : part.phdrs) in writeTrapInstr()
2956 for (Partition &part : partitions) in writeBuildId()
2957 part.buildId->writeBuildId(config->buildIdVector); in writeBuildId()
2996 for (Partition &part : partitions) in writeBuildId()
2997 part.buildId->writeBuildId(output); in writeBuildId()