[PATCH] D67157: [lib/ObjectYAML] - Cleanup the private interface of ELFState<ELFT>. NFCI.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 5 01:59:01 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL371033: [lib/ObjectYAML] - Cleanup the private interface of ELFState<ELFT>. NFCI. (authored by grimar, committed by ).
Herald added a project: LLVM.
Changed prior to commit:
https://reviews.llvm.org/D67157?vs=218659&id=218860#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67157/new/
https://reviews.llvm.org/D67157
Files:
llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp
Index: llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp
===================================================================
--- llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp
+++ llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp
@@ -118,11 +118,9 @@
bool buildSymbolIndexes();
void initELFHeader(Elf_Ehdr &Header);
void initProgramHeaders(std::vector<Elf_Phdr> &PHeaders);
- bool initImplicitHeader(ELFState<ELFT> &State, ContiguousBlobAccumulator &CBA,
- Elf_Shdr &Header, StringRef SecName,
- ELFYAML::Section *YAMLSec);
- bool initSectionHeaders(ELFState<ELFT> &State,
- std::vector<Elf_Shdr> &SHeaders,
+ bool initImplicitHeader(ContiguousBlobAccumulator &CBA, Elf_Shdr &Header,
+ StringRef SecName, ELFYAML::Section *YAMLSec);
+ bool initSectionHeaders(std::vector<Elf_Shdr> &SHeaders,
ContiguousBlobAccumulator &CBA);
void initSymtabSectionHeader(Elf_Shdr &SHeader, SymtabType STType,
ContiguousBlobAccumulator &CBA,
@@ -133,6 +131,7 @@
ELFYAML::Section *YAMLSec);
void setProgramHeaderLayout(std::vector<Elf_Phdr> &PHeaders,
std::vector<Elf_Shdr> &SHeaders);
+ void finalizeStrings();
bool writeSectionContent(Elf_Shdr &SHeader,
const ELFYAML::RawContentSection &Section,
ContiguousBlobAccumulator &CBA);
@@ -163,9 +162,6 @@
public:
static int writeELF(raw_ostream &OS, ELFYAML::Object &Doc);
-
-private:
- void finalizeStrings();
};
} // end anonymous namespace
@@ -267,8 +263,7 @@
}
template <class ELFT>
-bool ELFState<ELFT>::initImplicitHeader(ELFState<ELFT> &State,
- ContiguousBlobAccumulator &CBA,
+bool ELFState<ELFT>::initImplicitHeader(ContiguousBlobAccumulator &CBA,
Elf_Shdr &Header, StringRef SecName,
ELFYAML::Section *YAMLSec) {
// Check if the header was already initialized.
@@ -276,19 +271,15 @@
return false;
if (SecName == ".symtab")
- State.initSymtabSectionHeader(Header, SymtabType::Static, CBA, YAMLSec);
+ initSymtabSectionHeader(Header, SymtabType::Static, CBA, YAMLSec);
else if (SecName == ".strtab")
- State.initStrtabSectionHeader(Header, SecName, State.DotStrtab, CBA,
- YAMLSec);
+ initStrtabSectionHeader(Header, SecName, DotStrtab, CBA, YAMLSec);
else if (SecName == ".shstrtab")
- State.initStrtabSectionHeader(Header, SecName, State.DotShStrtab, CBA,
- YAMLSec);
-
+ initStrtabSectionHeader(Header, SecName, DotShStrtab, CBA, YAMLSec);
else if (SecName == ".dynsym")
- State.initSymtabSectionHeader(Header, SymtabType::Dynamic, CBA, YAMLSec);
+ initSymtabSectionHeader(Header, SymtabType::Dynamic, CBA, YAMLSec);
else if (SecName == ".dynstr")
- State.initStrtabSectionHeader(Header, SecName, State.DotDynstr, CBA,
- YAMLSec);
+ initStrtabSectionHeader(Header, SecName, DotDynstr, CBA, YAMLSec);
else
return false;
@@ -313,8 +304,7 @@
}
template <class ELFT>
-bool ELFState<ELFT>::initSectionHeaders(ELFState<ELFT> &State,
- std::vector<Elf_Shdr> &SHeaders,
+bool ELFState<ELFT>::initSectionHeaders(std::vector<Elf_Shdr> &SHeaders,
ContiguousBlobAccumulator &CBA) {
// Ensure SHN_UNDEF entry is present. An all-zero section header is a
// valid SHN_UNDEF entry since SHT_NULL == 0.
@@ -330,7 +320,7 @@
// in the YAML, we need to write them here. This ensures the file offset
// remains correct.
Elf_Shdr &SHeader = SHeaders[I];
- if (initImplicitHeader(State, CBA, SHeader, Sec->Name,
+ if (initImplicitHeader(CBA, SHeader, Sec->Name,
Sec->IsImplicit ? nullptr : Sec))
continue;
@@ -1066,7 +1056,7 @@
ContiguousBlobAccumulator CBA(SectionContentBeginOffset);
std::vector<Elf_Shdr> SHeaders;
- if (!State.initSectionHeaders(State, SHeaders, CBA))
+ if (!State.initSectionHeaders(SHeaders, CBA))
return 1;
// Now we can decide segment offsets
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67157.218860.patch
Type: text/x-patch
Size: 4330 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190905/20594bbc/attachment.bin>
More information about the llvm-commits
mailing list