summaryrefslogtreecommitdiffstats
path: root/lld/ELF
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-10-20 06:34:03 +0000
committerRui Ueyama <ruiu@google.com>2016-10-20 06:34:03 +0000
commitf2e78818e80ab48c949bbfd8c4867d2ec5832727 (patch)
tree28411cef3f77fc2866869ee4f86bb156d88adeba /lld/ELF
parent13146fce60e3fa7c37b5784b8ee7265dba2f2de7 (diff)
downloadbcm5719-llvm-f2e78818e80ab48c949bbfd8c4867d2ec5832727.tar.gz
bcm5719-llvm-f2e78818e80ab48c949bbfd8c4867d2ec5832727.zip
Rename variables so that they are more in line with rest of the code.
llvm-svn: 284699
Diffstat (limited to 'lld/ELF')
-rw-r--r--lld/ELF/ELFCreator.cpp23
-rw-r--r--lld/ELF/ELFCreator.h8
-rw-r--r--lld/ELF/InputFiles.cpp14
3 files changed, 20 insertions, 25 deletions
diff --git a/lld/ELF/ELFCreator.cpp b/lld/ELF/ELFCreator.cpp
index 3130d0d10aa..27a1bf60dda 100644
--- a/lld/ELF/ELFCreator.cpp
+++ b/lld/ELF/ELFCreator.cpp
@@ -29,15 +29,10 @@ ELFCreator<ELFT>::ELFCreator(std::uint16_t Type, std::uint16_t Machine) {
? ELFDATA2LSB
: ELFDATA2MSB;
Header.e_ident[EI_VERSION] = EV_CURRENT;
- Header.e_ident[EI_OSABI] = 0;
Header.e_type = Type;
Header.e_machine = Machine;
Header.e_version = EV_CURRENT;
- Header.e_entry = 0;
- Header.e_phoff = 0;
- Header.e_flags = 0;
Header.e_ehsize = sizeof(Elf_Ehdr);
- Header.e_phnum = 0;
Header.e_shentsize = sizeof(Elf_Shdr);
Header.e_shstrndx = 1;
@@ -61,7 +56,7 @@ template <class ELFT>
typename ELFCreator<ELFT>::Section
ELFCreator<ELFT>::addSection(StringRef Name) {
auto Shdr = new (Alloc) Elf_Shdr{};
- Shdr->sh_name = SecHdrStrTabBuilder.add(Name);
+ Shdr->sh_name = ShStrTabBuilder.add(Name);
Sections.push_back(Shdr);
return {Shdr, Sections.size()};
}
@@ -70,18 +65,18 @@ template <class ELFT>
typename ELFCreator<ELFT>::Symbol ELFCreator<ELFT>::addSymbol(StringRef Name) {
auto Sym = new (Alloc) Elf_Sym{};
Sym->st_name = StrTabBuilder.add(Name);
- StaticSymbols.push_back(Sym);
- return {Sym, StaticSymbols.size()};
+ Symbols.push_back(Sym);
+ return {Sym, Symbols.size()};
}
template <class ELFT> size_t ELFCreator<ELFT>::layout() {
- SecHdrStrTabBuilder.finalizeInOrder();
- ShStrTab->sh_size = SecHdrStrTabBuilder.getSize();
+ ShStrTabBuilder.finalizeInOrder();
+ ShStrTab->sh_size = ShStrTabBuilder.getSize();
StrTabBuilder.finalizeInOrder();
StrTab->sh_size = StrTabBuilder.getSize();
- SymTab->sh_size = (StaticSymbols.size() + 1) * sizeof(Elf_Sym);
+ SymTab->sh_size = (Symbols.size() + 1) * sizeof(Elf_Sym);
uintX_t Offset = sizeof(Elf_Ehdr);
for (Elf_Shdr *Sec : Sections) {
@@ -98,15 +93,15 @@ template <class ELFT> size_t ELFCreator<ELFT>::layout() {
return Offset;
}
-template <class ELFT> void ELFCreator<ELFT>::write(uint8_t *Out) {
+template <class ELFT> void ELFCreator<ELFT>::writeTo(uint8_t *Out) {
std::memcpy(Out, &Header, sizeof(Elf_Ehdr));
- SecHdrStrTabBuilder.write(Out + ShStrTab->sh_offset);
+ ShStrTabBuilder.write(Out + ShStrTab->sh_offset);
StrTabBuilder.write(Out + StrTab->sh_offset);
Elf_Sym *Sym = reinterpret_cast<Elf_Sym *>(Out + SymTab->sh_offset);
// Skip null.
++Sym;
- for (Elf_Sym *S : StaticSymbols)
+ for (Elf_Sym *S : Symbols)
*Sym++ = *S;
Elf_Shdr *Shdr = reinterpret_cast<Elf_Shdr *>(Out + Header.e_shoff);
diff --git a/lld/ELF/ELFCreator.h b/lld/ELF/ELFCreator.h
index 9efe76eaae9..c720aa9c0ce 100644
--- a/lld/ELF/ELFCreator.h
+++ b/lld/ELF/ELFCreator.h
@@ -39,13 +39,13 @@ public:
Section addSection(StringRef Name);
Symbol addSymbol(StringRef Name);
size_t layout();
- void write(uint8_t *Out);
+ void writeTo(uint8_t *Out);
private:
- Elf_Ehdr Header;
+ Elf_Ehdr Header = {};
std::vector<Elf_Shdr *> Sections;
- std::vector<Elf_Sym *> StaticSymbols;
- llvm::StringTableBuilder SecHdrStrTabBuilder{llvm::StringTableBuilder::ELF};
+ std::vector<Elf_Sym *> Symbols;
+ llvm::StringTableBuilder ShStrTabBuilder{llvm::StringTableBuilder::ELF};
llvm::StringTableBuilder StrTabBuilder{llvm::StringTableBuilder::ELF};
llvm::BumpPtrAllocator Alloc;
Elf_Shdr *ShStrTab;
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index c70a850ed27..a2c1f71e6ec 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -782,8 +782,8 @@ static InputFile *createELFFile(MemoryBufferRef MB) {
// so that we can link it as a regular ELF file.
template <class ELFT> InputFile *BinaryFile::createELF() {
// Fill the ELF file header.
- ELFCreator<ELFT> ELF(ET_REL, Config->EMachine);
- auto DataSec = ELF.addSection(".data");
+ ELFCreator<ELFT> File(ET_REL, Config->EMachine);
+ auto DataSec = File.addSection(".data");
DataSec.Header->sh_flags = SHF_ALLOC;
DataSec.Header->sh_size = MB.getBufferSize();
DataSec.Header->sh_type = SHT_PROGBITS;
@@ -796,26 +796,26 @@ template <class ELFT> InputFile *BinaryFile::createELF() {
// Add _start, _end and _size symbols.
std::string StartSym = "_binary_" + Filepath + "_start";
- auto SSym = ELF.addSymbol(StartSym);
+ auto SSym = File.addSymbol(StartSym);
SSym.Sym->setBindingAndType(STB_GLOBAL, STT_OBJECT);
SSym.Sym->st_shndx = DataSec.Index;
std::string EndSym = "_binary_" + Filepath + "_end";
- auto ESym = ELF.addSymbol(EndSym);
+ auto ESym = File.addSymbol(EndSym);
ESym.Sym->setBindingAndType(STB_GLOBAL, STT_OBJECT);
ESym.Sym->st_shndx = DataSec.Index;
ESym.Sym->st_value = MB.getBufferSize();
std::string SizeSym = "_binary_" + Filepath + "_size";
- auto SZSym = ELF.addSymbol(SizeSym);
+ auto SZSym = File.addSymbol(SizeSym);
SZSym.Sym->setBindingAndType(STB_GLOBAL, STT_OBJECT);
SZSym.Sym->st_shndx = SHN_ABS;
SZSym.Sym->st_value = MB.getBufferSize();
// Fix the ELF file layout and write it down to ELFData uint8_t vector.
- size_t Size = ELF.layout();
+ size_t Size = File.layout();
ELFData.resize(Size);
- ELF.write(ELFData.data());
+ File.writeTo(ELFData.data());
// Fill .data section with actual data.
std::copy(MB.getBufferStart(), MB.getBufferEnd(),
OpenPOWER on IntegriCloud