[llvm-readobj] Display section names for STT_SECTION symbols.
authorMatt Davis <Matthew.Davis@sony.com>
Fri, 1 Mar 2019 17:31:32 +0000 (17:31 +0000)
committerMatt Davis <Matthew.Davis@sony.com>
Fri, 1 Mar 2019 17:31:32 +0000 (17:31 +0000)
commit8a6f11f45fad375f2b42d865c841cb163fdf5686
tree4797b8aedecb46be3452c2e6683d1747e2263a76
parent12b1f2418d6fea2a59861aa5e6cc243047ce614b
[llvm-readobj] Display section names for STT_SECTION symbols.

Summary:
This patch will obtain the section name for symbols that refer to a section.  Prior to this patch the Name field for STT_SECTIONs was blank, now it is populated.

Before:
```
Symbol table '.symtab' contains 6 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    3
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    4
     4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _GLOBAL_OFFSET_TABLE_
     5: 0000000000000000     0 TLS     GLOBAL DEFAULT  UND sym
```

With this patch:
```
Symbol table '.symtab' contains 6 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 .text
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 .data
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 .bss
     4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _GLOBAL_OFFSET_TABLE_
     5: 0000000000000000     0 TLS     GLOBAL DEFAULT  UND sym
```

This fixes PR40788

Reviewers: jhenderson, rupprecht, espindola

Reviewed By: rupprecht

Subscribers: emaste, javed.absar, arichardson, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58796

llvm-svn: 355207
llvm/test/MC/ARM/arm-elf-symver.s
llvm/test/MC/ELF/alias.s
llvm/test/MC/ELF/many-sections-2.s
llvm/test/MC/ELF/section-sym.s
llvm/test/MC/ELF/symver.s
llvm/test/MC/ELF/weakref.s
llvm/test/Object/readobj-shared-object.test
llvm/test/tools/llvm-readobj/gnu-symbols.test
llvm/test/tools/llvm-readobj/sections-ext.test
llvm/tools/llvm-readobj/ELFDumper.cpp