[yaml2obj] revert bad change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348579 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp
index 5c3eb13..bd4c1c3 100644
--- a/tools/yaml2obj/yaml2elf.cpp
+++ b/tools/yaml2obj/yaml2elf.cpp
@@ -158,9 +158,6 @@
bool writeSectionContent(Elf_Shdr &SHeader, const ELFYAML::Group &Group,
ContiguousBlobAccumulator &CBA);
bool writeSectionContent(Elf_Shdr &SHeader,
- const ELFYAML::VersionNeedSection &Section,
- ContiguousBlobAccumulator &CBA);
- bool writeSectionContent(Elf_Shdr &SHeader,
const ELFYAML::MipsABIFlags &Section,
ContiguousBlobAccumulator &CBA);
bool hasDynamicSymbols() const;
@@ -295,13 +292,6 @@
// SHT_NOBITS section does not have content
// so just to setup the section offset.
CBA.getOSAndAlignedOffset(SHeader.sh_offset, SHeader.sh_addralign);
- } else if (auto S = dyn_cast<ELFYAML::VersionNeedSection>(Sec.get())) {
- if (S->Link.empty())
- // For VersionNeed section set link to .dynstr by default.
- SHeader.sh_link = getDotDynStrSecNo();
-
- if (!writeSectionContent(SHeader, *S, CBA))
- return false;
} else
llvm_unreachable("Unknown section type");
@@ -558,55 +548,6 @@
}
template <class ELFT>
-bool ELFState<ELFT>::writeSectionContent(
- Elf_Shdr &SHeader, const ELFYAML::VersionNeedSection &Section,
- ContiguousBlobAccumulator &CBA) {
- assert(Section.Type == llvm::ELF::SHT_GNU_verneed &&
- "Section type is not SHT_GNU_verneed");
-
- typedef typename ELFT::Verneed Elf_Verneed;
- typedef typename ELFT::Vernaux Elf_Vernaux;
-
- uint64_t BlobSize = 0;
- SHeader.sh_info = Section.VersionNeeds.size();
- auto &OS = CBA.getOSAndAlignedOffset(SHeader.sh_offset, SHeader.sh_addralign);
-
- for (auto VNeedIt = Section.VersionNeeds.begin();
- VNeedIt != Section.VersionNeeds.end(); ++VNeedIt) {
- Elf_Verneed VNeed;
-
- VNeed.vn_version = VNeedIt->Version;
- VNeed.vn_cnt = VNeedIt->Auxiliaries.size();
- // VNeed.vn_file = DotDynstr.add(VNeedIt->File);
- // errs() << "Need Name: " << VNeedIt->File << " Index: " << DotDynstr.add(VNeedIt->File) << '\n';
- VNeed.vn_aux = sizeof(Elf_Verneed);
- VNeed.vn_next =
- (VNeedIt != Section.VersionNeeds.end() - 1)
- ? sizeof(Elf_Verneed) + VNeed.vn_cnt * sizeof(Elf_Vernaux)
- : 0;
- BlobSize += sizeof(Elf_Verneed);
- OS.write((const char *)&VNeed, sizeof(VNeed));
-
- for (auto VNeedAuxIt = VNeedIt->Auxiliaries.begin();
- VNeedAuxIt != VNeedIt->Auxiliaries.end(); ++VNeedAuxIt) {
- Elf_Vernaux VNeedAux;
- zero(VNeedAux);
- VNeedAux.vna_hash = VNeedAuxIt->Hash;
- VNeedAux.vna_flags = VNeedAuxIt->Flags;
- VNeedAux.vna_other = VNeedAuxIt->Other;
- // VNeedAux.vna_name = DotDynstr.add(VNeedAuxIt->Name);
- VNeedAux.vna_next = (VNeedAuxIt != VNeedIt->Auxiliaries.end() - 1)
- ? sizeof(Elf_Vernaux)
- : 0;
- BlobSize += sizeof(Elf_Vernaux);
- OS.write((const char *)&VNeedAux, sizeof(Elf_Vernaux));
- }
- }
- SHeader.sh_size = BlobSize;
- return true;
-}
-
-template <class ELFT>
bool ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader,
const ELFYAML::MipsABIFlags &Section,
ContiguousBlobAccumulator &CBA) {