[yaml2obj][ELF] Narrow parameter.
authorSean Silva <silvas@purdue.edu>
Sat, 22 Jun 2013 01:37:55 +0000 (01:37 +0000)
committerSean Silva <silvas@purdue.edu>
Sat, 22 Jun 2013 01:37:55 +0000 (01:37 +0000)
The full ELFYAML::Section isn't needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184626 91177308-0d34-0410-b5e6-96231b3b80d8

tools/yaml2obj/yaml2elf.cpp

index 5ca52a2d7009ca2b6039b2ee912d59d5e9aef331..82ff78756ea855a43460fcdb8068a0224e62f493 100644 (file)
@@ -212,7 +212,7 @@ addSymbols(const std::vector<ELFYAML::Symbol> &Symbols, ELFState<ELFT> &State,
 
 template <class ELFT>
 static void handleSymtabSectionHeader(
-    const ELFYAML::Section &Sec, ELFState<ELFT> &State,
+    const ELFYAML::LocalGlobalWeakSymbols &Symbols, ELFState<ELFT> &State,
     typename object::ELFObjectFile<ELFT>::Elf_Shdr &SHeader) {
 
   typedef typename object::ELFObjectFile<ELFT>::Elf_Sym Elf_Sym;
@@ -220,7 +220,7 @@ static void handleSymtabSectionHeader(
   // error for SHT_SYMTAB.
   SHeader.sh_link = State.getDotStrTabSecNo();
   // One greater than symbol table index of the last local symbol.
-  SHeader.sh_info = Sec.Symbols.Local.size() + 1;
+  SHeader.sh_info = Symbols.Local.size() + 1;
   SHeader.sh_entsize = sizeof(Elf_Sym);
 
   std::vector<Elf_Sym> Syms;
@@ -230,9 +230,9 @@ static void handleSymtabSectionHeader(
     zero(Sym);
     Syms.push_back(Sym);
   }
-  addSymbols(Sec.Symbols.Local, State, Syms, ELF::STB_LOCAL);
-  addSymbols(Sec.Symbols.Global, State, Syms, ELF::STB_GLOBAL);
-  addSymbols(Sec.Symbols.Weak, State, Syms, ELF::STB_WEAK);
+  addSymbols(Symbols.Local, State, Syms, ELF::STB_LOCAL);
+  addSymbols(Symbols.Global, State, Syms, ELF::STB_GLOBAL);
+  addSymbols(Symbols.Weak, State, Syms, ELF::STB_WEAK);
 
   ContiguousBlobAccumulator &CBA = State.getSectionContentAccum();
   writeVectorData(CBA.getOSAndAlignedOffset(SHeader.sh_offset), Syms);
@@ -338,7 +338,7 @@ static int writeELF(raw_ostream &OS, const ELFYAML::Object &Doc) {
     // (and setting sh_offset and sh_size) when going through this branch
     // here.
     if (Sec.Type == ELFYAML::ELF_SHT(SHT_SYMTAB))
-      handleSymtabSectionHeader<ELFT>(Sec, State, SHeader);
+      handleSymtabSectionHeader<ELFT>(Sec.Symbols, State, SHeader);
     SHeaders.push_back(SHeader);
   }