[llvm-readobj] Print section type values for unknown sections.
authorMatt Davis <Matthew.Davis@sony.com>
Wed, 27 Feb 2019 18:39:17 +0000 (18:39 +0000)
committerMatt Davis <Matthew.Davis@sony.com>
Wed, 27 Feb 2019 18:39:17 +0000 (18:39 +0000)
commit7a24dbdfd31511d754be2a931c2fcd2b00a0fb4f
treea6d22eaf1f772b4e6953b25128c0dcc40e8ac8d2
parentd89d6380558fff7a9e484ad34d2a1d0cd5dff809
[llvm-readobj] Print section type values for unknown sections.

Summary:
This patch displays a hexadecimal section value (Elf_Shdr::sh_type) or section-relative offset when printing unknown sections.

Here is a subset of the output (ignoring the fields following "Type" when dumping an ELF's GNU `--section-headers` table).
Section Headers:
```
  [Nr] Name              Type
  [16] android_rel       LOOS+0x1
  [17] android_rela      LOOS+0x2
  [27] unknown           0x1000: <unknown>
  [28] loos              LOOS+0
  [30] hios              VERSYM
  [31] loproc            LOPROC+0
  [33] hiproc            LOPROC+0xFFFFFFF
  [34] louser            LOUSER+0
  [36] hiuser            LOUSER+0x7FFFFFFF
```

As a comparison, the previous output looked something like the above, but with a blank "Type" field:
```
  [Nr] Name              Type
  [27] unknown
  [28] loos
  [30] hios              VERSYM
  [31] loproc
  [33] hiproc
  [34] louser
  [36] hiuser
```

This fixes PR40773

Reviewers: jhenderson, rupprecht, Bigcheese

Reviewed By: jhenderson, rupprecht, Bigcheese

Subscribers: MaskRay, Bigcheese, srhines, jdoerfert, llvm-commits

Tags: #llvm

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

llvm-svn: 355014
llvm/test/tools/llvm-readobj/elf-section-types.test
llvm/tools/llvm-readobj/ELFDumper.cpp