[yaml2obj][ELF] Ensure STN_UNDEF entry is present.
authorSean Silva <silvas@purdue.edu>
Tue, 18 Jun 2013 23:19:17 +0000 (23:19 +0000)
committerSean Silva <silvas@purdue.edu>
Tue, 18 Jun 2013 23:19:17 +0000 (23:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184258 91177308-0d34-0410-b5e6-96231b3b80d8

test/Object/yaml2obj-elf-symbol-basic.yaml
tools/yaml2obj/yaml2elf.cpp

index c33d38530419e59a76272ae7b54961d2664613c8..e6a6cbc6d519c96ffea05ffceca45902d51ee2a3 100644 (file)
@@ -12,7 +12,6 @@ Sections:
   - Name: .symtab
     Type: SHT_SYMTAB
     Symbols:
-    - Name: "" # TODO: Add STN_UNDEF automatically.
     - Name: main
 
 # CHECK:      Symbols [
index bebcbde256f3fb120ffd7129ee2a85b4e542bfeb..a67a275bf99e6cb78c21afae3ad3c1c20bd07215 100644 (file)
@@ -154,7 +154,12 @@ static void handleSymtabSectionHeader(
   SHeader.sh_entsize = sizeof(Elf_Sym);
 
   std::vector<Elf_Sym> Syms;
-  // FIXME: Ensure STN_UNDEF entry is present.
+  {
+    // Ensure STN_UNDEF is present
+    Elf_Sym Sym;
+    zero(Sym);
+    Syms.push_back(Sym);
+  }
   for (unsigned i = 0, e = Sec.Symbols.size(); i != e; ++i) {
     const ELFYAML::Symbol &Sym = Sec.Symbols[i];
     Elf_Sym Symbol;