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) {
130 copy->partition = part;
136 copy->partition = part;
322 for (Partition &part : partitions) {
324 sec.partition = part.getNumber();
328 if (!part.name.empty()) {
329 part.elfHeader = std::make_unique<PartitionElfHeaderSection<ELFT>>();
330 part.elfHeader->name = part.name;
331 add(*part.elfHeader);
333 part.programHeaders =
335 add(*part.programHeaders);
339 part.buildId = std::make_unique<BuildIdSection>();
340 add(*part.buildId);
343 part.dynStrTab = std::make_unique<StringTableSection>(".dynstr", true);
344 part.dynSymTab =
345 std::make_unique<SymbolTableSection<ELFT>>(*part.dynStrTab);
346 part.dynamic = std::make_unique<DynamicSection<ELFT>>();
350 part.memtagAndroidNote = std::make_unique<MemtagAndroidNote>();
351 add(*part.memtagAndroidNote);
355 part.relaDyn = std::make_unique<AndroidPackedRelocationSection<ELFT>>(
358 part.relaDyn = std::make_unique<RelocationSection<ELFT>>(
362 add(*part.dynSymTab);
364 part.verSym = std::make_unique<VersionTableSection>();
365 add(*part.verSym);
368 part.verDef = std::make_unique<VersionDefinitionSection>();
369 add(*part.verDef);
372 part.verNeed = std::make_unique<VersionNeedSection<ELFT>>();
373 add(*part.verNeed);
376 part.gnuHashTab = std::make_unique<GnuHashTableSection>();
377 add(*part.gnuHashTab);
381 part.hashTab = std::make_unique<HashTableSection>();
382 add(*part.hashTab);
385 add(*part.dynamic);
386 add(*part.dynStrTab);
387 add(*part.relaDyn);
391 part.relrDyn = std::make_unique<RelrSection<ELFT>>(threadCount);
392 add(*part.relrDyn);
397 part.ehFrameHdr = std::make_unique<EhFrameHeader>();
398 add(*part.ehFrameHdr);
400 part.ehFrame = std::make_unique<EhFrameSection>();
401 add(*part.ehFrame);
405 part.armExidx = std::make_unique<ARMExidxSyntheticSection>();
406 add(*part.armExidx);
411 part.packageMetadataNote = std::make_unique<PackageMetadataNote>();
412 add(*part.packageMetadataNote);
421 std::make_unique<BssSection>(".part.end", config->maxPageSize, 1);
552 for (Partition &part : partitions)
553 removeEmptyPTLoad(part.phdrs);
560 for (Partition &part : partitions)
561 setPhdrs(part);
1060 for (Partition &part : partitions) {
1061 for (PhdrEntry *p : part.phdrs) {
1633 for (Partition &part : partitions)
1634 finalizeSynthetic(part.armExidx.get());
1669 for (Partition &part : partitions) {
1670 changed |= part.relaDyn->updateAllocSize();
1671 if (part.relrDyn)
1672 changed |= part.relrDyn->updateAllocSize();
1905 for (Partition &part : partitions)
1906 finalizeSynthetic(part.ehFrame.get());
1986 for (Partition &part : MutableArrayRef<Partition>(partitions).slice(1)) {
1988 for (const SymbolTableEntry &e : part.dynSymTab->getSymbols())
1990 for (DynamicReloc &reloc : part.relaDyn->relocs)
1993 part.dynSymTab->addSymbol(reloc.sym);
2041 for (Partition &part : partitions) {
2042 part.phdrs = script->hasPhdrsCommands() ? script->createPhdrs()
2043 : createPhdrs(part);
2046 addPhdrForSection(part, SHT_ARM_EXIDX, PT_ARM_EXIDX, PF_R);
2050 addPhdrForSection(part, SHT_MIPS_REGINFO, PT_MIPS_REGINFO, PF_R);
2051 addPhdrForSection(part, SHT_MIPS_OPTIONS, PT_MIPS_OPTIONS, PF_R);
2052 addPhdrForSection(part, SHT_MIPS_ABIFLAGS, PT_MIPS_ABIFLAGS, PF_R);
2091 for (Partition &part : partitions) {
2092 if (part.relaDyn) {
2093 part.relaDyn->mergeRels();
2094 // Compute DT_RELACOUNT to be used by part.dynamic.
2095 part.relaDyn->partitionRels();
2096 finalizeSynthetic(part.relaDyn.get());
2098 if (part.relrDyn) {
2099 part.relrDyn->mergeRels();
2100 finalizeSynthetic(part.relrDyn.get());
2103 finalizeSynthetic(part.dynSymTab.get());
2104 finalizeSynthetic(part.gnuHashTab.get());
2105 finalizeSynthetic(part.hashTab.get());
2106 finalizeSynthetic(part.verDef.get());
2107 finalizeSynthetic(part.ehFrameHdr.get());
2108 finalizeSynthetic(part.verSym.get());
2109 finalizeSynthetic(part.verNeed.get());
2110 finalizeSynthetic(part.dynamic.get());
2140 // All information needed for OutputSection part of Map file is available.
2268 SmallVector<PhdrEntry *, 0> Writer<ELFT>::createPhdrs(Partition &part) {
2275 unsigned partNo = part.getNumber();
2290 addHdr(PT_PHDR, PF_R)->add(part.programHeaders->getParent());
2335 // partition end marker (.part.end). It needs to be added to the main
2374 if (OutputSection *sec = part.dynamic->getParent())
2381 if (part.ehFrame->isNeeded() && part.ehFrameHdr &&
2382 part.ehFrame->getParent() && part.ehFrameHdr->getParent())
2383 addHdr(PT_GNU_EH_FRAME, part.ehFrameHdr->getParent()->getPhdrFlags())
2384 ->add(part.ehFrameHdr->getParent());
2446 void Writer<ELFT>::addPhdrForSection(Partition &part, unsigned shType,
2448 unsigned partNo = part.getNumber();
2457 part.phdrs.push_back(entry);
2528 for (Partition &part : partitions) {
2530 for (PhdrEntry *P : part.phdrs) {
2543 for (Partition &part : partitions) {
2545 for (const PhdrEntry *p : part.phdrs)
2610 for (Partition &part : partitions)
2611 for (PhdrEntry *p : part.phdrs)
2662 template <class ELFT> void Writer<ELFT>::setPhdrs(Partition &part) {
2663 for (PhdrEntry *p : part.phdrs) {
2678 if (part.elfHeader)
2679 p->p_offset -= part.elfHeader->getParent()->offset;
2907 for (Partition &part : partitions) {
2909 for (PhdrEntry *p : part.phdrs)
2921 for (PhdrEntry *p : part.phdrs)
2985 for (Partition &part : partitions)
2986 part.buildId->writeBuildId(config->buildIdVector);
3025 for (Partition &part : partitions)
3026 part.buildId->writeBuildId(output);