summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2014-03-14 06:53:16 +0000
committerSimon Atanasyan <simon@atanasyan.com>2014-03-14 06:53:16 +0000
commit9f685d3951b81515dae30067821deadc4c8d635f (patch)
treeeddc211e0ba06b2e419bb4ab99ce434ac41e21c8
parentdfbd26215e069228c8d69d73a7d07e59d19f68c6 (diff)
downloadllvm-9f685d3951b81515dae30067821deadc4c8d635f.tar.gz
llvm-9f685d3951b81515dae30067821deadc4c8d635f.tar.bz2
llvm-9f685d3951b81515dae30067821deadc4c8d635f.tar.xz
[yaml2obj][ELF] Assign name (.shstrtab) to the section holds sections names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203897 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Object/yaml2obj-elf-section-basic.yaml13
-rw-r--r--tools/yaml2obj/yaml2elf.cpp1
2 files changed, 14 insertions, 0 deletions
diff --git a/test/Object/yaml2obj-elf-section-basic.yaml b/test/Object/yaml2obj-elf-section-basic.yaml
index 34be11d365..c1f6935185 100644
--- a/test/Object/yaml2obj-elf-section-basic.yaml
+++ b/test/Object/yaml2obj-elf-section-basic.yaml
@@ -33,3 +33,16 @@ Sections:
# CHECK: SectionData (
# CHECK-NEXT: 0000: EBFE
# CHECK-NEXT: )
+#
+# CHECK: Section {
+# CHECK: Name: .symtab (7)
+# CHECK: Type: SHT_SYMTAB (0x2)
+# CHECK: }
+# CHECK: Section {
+# CHECK: Name: .strtab (15)
+# CHECK: Type: SHT_STRTAB (0x3)
+# CHECK: }
+# CHECK: Section {
+# CHECK: Name: .shstrtab (23)
+# CHECK: Type: SHT_STRTAB (0x3)
+# CHECK: }
diff --git a/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp
index d46e154987..e24a5492f9 100644
--- a/tools/yaml2obj/yaml2elf.cpp
+++ b/tools/yaml2obj/yaml2elf.cpp
@@ -357,6 +357,7 @@ static int writeELF(raw_ostream &OS, const ELFYAML::Object &Doc) {
// Section header string table header.
Elf_Shdr SHStrTabSHeader;
zero(SHStrTabSHeader);
+ SHStrTabSHeader.sh_name = SHStrTab.addString(StringRef(".shstrtab"));
createStringTableSectionHeader(SHStrTabSHeader, SHStrTab, CBA);
SHeaders.push_back(SHStrTabSHeader);