From abe18db2686a1ab0ac67e2c336b2c1ea1daeeca7 Mon Sep 17 00:00:00 2001 From: Sean Silva Date: Tue, 18 Jun 2013 23:19:17 +0000 Subject: [PATCH] [yaml2obj][ELF] Ensure STN_UNDEF entry is present. llvm-svn: 184258 --- llvm/test/Object/yaml2obj-elf-symbol-basic.yaml | 1 - llvm/tools/yaml2obj/yaml2elf.cpp | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/llvm/test/Object/yaml2obj-elf-symbol-basic.yaml b/llvm/test/Object/yaml2obj-elf-symbol-basic.yaml index c33d38530419..e6a6cbc6d519 100644 --- a/llvm/test/Object/yaml2obj-elf-symbol-basic.yaml +++ b/llvm/test/Object/yaml2obj-elf-symbol-basic.yaml @@ -12,7 +12,6 @@ Sections: - Name: .symtab Type: SHT_SYMTAB Symbols: - - Name: "" # TODO: Add STN_UNDEF automatically. - Name: main # CHECK: Symbols [ diff --git a/llvm/tools/yaml2obj/yaml2elf.cpp b/llvm/tools/yaml2obj/yaml2elf.cpp index bebcbde256f3..a67a275bf99e 100644 --- a/llvm/tools/yaml2obj/yaml2elf.cpp +++ b/llvm/tools/yaml2obj/yaml2elf.cpp @@ -154,7 +154,12 @@ static void handleSymtabSectionHeader( SHeader.sh_entsize = sizeof(Elf_Sym); std::vector 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;