Index: ELF/LinkerScript.cpp =================================================================== --- ELF/LinkerScript.cpp +++ ELF/LinkerScript.cpp @@ -256,9 +256,6 @@ std::vector> LinkerScript::createPhdrs(ArrayRef *> Sections) { std::vector> Ret; - PhdrEntry *TlsPhdr = nullptr; - PhdrEntry *NotePhdr = nullptr; - PhdrEntry *RelroPhdr = nullptr; for (const PhdrsCommand &Cmd : Opt.PhdrsCommands) { Ret.emplace_back(Cmd.Type, Cmd.Flags == UINT_MAX ? PF_R : Cmd.Flags); @@ -280,15 +277,6 @@ Phdr.add(Out::Dynamic); } break; - case PT_TLS: - TlsPhdr = &Phdr; - break; - case PT_NOTE: - NotePhdr = &Phdr; - break; - case PT_GNU_RELRO: - RelroPhdr = &Phdr; - break; case PT_GNU_EH_FRAME: if (!Out::EhFrame->empty() && Out::EhFrameHdr) { Phdr.H.p_flags = toPhdrFlags(Out::EhFrameHdr->getFlags()); @@ -304,12 +292,6 @@ if (!(Sec->getFlags() & SHF_ALLOC)) break; - if (TlsPhdr && (Sec->getFlags() & SHF_TLS)) - TlsPhdr->add(Sec); - - if (!needsPtLoad(Sec)) - continue; - std::vector PhdrIds = getPhdrIndices(Sec->getName()); if (!PhdrIds.empty()) { // Assign headers specified by linker script @@ -328,11 +310,6 @@ } Load->add(Sec); } - - if (RelroPhdr && isRelroSection(Sec)) - RelroPhdr->add(Sec); - if (NotePhdr && Sec->getType() == SHT_NOTE) - NotePhdr->add(Sec); } return Ret; }