summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Silva <silvas@purdue.edu>2013-06-18 23:19:17 +0000
committerSean Silva <silvas@purdue.edu>2013-06-18 23:19:17 +0000
commitca0170ffa1ba6d53f0008b345cb5ac777e81c3b1 (patch)
tree4d5dda9aea00f34259ae20eec8718ac111999076
parentafcf60fe15999ea07193118f447a34f41171e433 (diff)
downloadllvm-ca0170ffa1ba6d53f0008b345cb5ac777e81c3b1.tar.gz
llvm-ca0170ffa1ba6d53f0008b345cb5ac777e81c3b1.tar.bz2
llvm-ca0170ffa1ba6d53f0008b345cb5ac777e81c3b1.tar.xz
[yaml2obj][ELF] Ensure STN_UNDEF entry is present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184258 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Object/yaml2obj-elf-symbol-basic.yaml1
-rw-r--r--tools/yaml2obj/yaml2elf.cpp7
2 files changed, 6 insertions, 2 deletions
diff --git a/test/Object/yaml2obj-elf-symbol-basic.yaml b/test/Object/yaml2obj-elf-symbol-basic.yaml
index c33d385304..e6a6cbc6d5 100644
--- a/test/Object/yaml2obj-elf-symbol-basic.yaml
+++ b/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/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp
index bebcbde256..a67a275bf9 100644
--- a/tools/yaml2obj/yaml2elf.cpp
+++ b/tools/yaml2obj/yaml2elf.cpp
@@ -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;