From 081a1941b595f6294e4ce678fd61ef56a2ceb51e Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Thu, 8 Aug 2013 22:27:13 +0000 Subject: [Object] Split the ELF interface into 3 parts. * ELFTypes.h contains template magic for defining types based on endianess, size, and alignment. * ELFFile.h defines the ELFFile class which provides low level ELF specific access. * ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188022 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/yaml2obj/yaml2elf.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'tools/yaml2obj') diff --git a/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp index 61252a4a28..d3b25ecf09 100644 --- a/tools/yaml2obj/yaml2elf.cpp +++ b/tools/yaml2obj/yaml2elf.cpp @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// #include "yaml2obj.h" -#include "llvm/Object/ELF.h" +#include "llvm/Object/ELFObjectFile.h" #include "llvm/Object/ELFYAML.h" #include "llvm/Support/ELF.h" #include "llvm/Support/MemoryBuffer.h" @@ -157,7 +157,7 @@ class ELFState { unsigned DotStrtabSecNo; /// \brief The accumulated contents of all sections so far. ContiguousBlobAccumulator &SectionContentAccum; - typedef typename object::ELFObjectFile::Elf_Ehdr Elf_Ehdr; + typedef typename object::ELFFile::Elf_Ehdr Elf_Ehdr; /// \brief The ELF file header. Elf_Ehdr &Header; @@ -185,9 +185,9 @@ public: template static void addSymbols(const std::vector &Symbols, ELFState &State, - std::vector::Elf_Sym> &Syms, + std::vector::Elf_Sym> &Syms, unsigned SymbolBinding) { - typedef typename object::ELFObjectFile::Elf_Sym Elf_Sym; + typedef typename object::ELFFile::Elf_Sym Elf_Sym; for (unsigned i = 0, e = Symbols.size(); i != e; ++i) { const ELFYAML::Symbol &Sym = Symbols[i]; Elf_Sym Symbol; @@ -211,11 +211,12 @@ addSymbols(const std::vector &Symbols, ELFState &State, } template -static void handleSymtabSectionHeader( - const ELFYAML::LocalGlobalWeakSymbols &Symbols, ELFState &State, - typename object::ELFObjectFile::Elf_Shdr &SHeader) { +static void +handleSymtabSectionHeader(const ELFYAML::LocalGlobalWeakSymbols &Symbols, + ELFState &State, + typename object::ELFFile::Elf_Shdr &SHeader) { - typedef typename object::ELFObjectFile::Elf_Sym Elf_Sym; + typedef typename object::ELFFile::Elf_Sym Elf_Sym; SHeader.sh_type = ELF::SHT_SYMTAB; SHeader.sh_link = State.getDotStrTabSecNo(); // One greater than symbol table index of the last local symbol. @@ -241,8 +242,8 @@ static void handleSymtabSectionHeader( template static int writeELF(raw_ostream &OS, const ELFYAML::Object &Doc) { using namespace llvm::ELF; - typedef typename object::ELFObjectFile::Elf_Ehdr Elf_Ehdr; - typedef typename object::ELFObjectFile::Elf_Shdr Elf_Shdr; + typedef typename object::ELFFile::Elf_Ehdr Elf_Ehdr; + typedef typename object::ELFFile::Elf_Shdr Elf_Shdr; const ELFYAML::FileHeader &Hdr = Doc.Header; -- cgit v1.2.3