[llvm-readobj] Display sections that do not belong to a segment in the section-mapping
Summary:
The following patch adds the "None" line to the section to segment mapping dump.
That line lists the sections that do not belong to any segment.
I realize that this change differs from GNU readelf which does not display the latter information.
I'd rather not add this "feature" under a command line option. I think that might introduce confusion, since users would have to
make an additional decision as to if they want to see all of the section-to-segment map or just a subset of it.
Another option is to only print the "None" line if the `--section-mapping` option is passed; however,
that might also introduce some confusion, because the section-to-segment map would be different between`--program-headers`
and the `--section-mapping` output. While the difference is just the "None" line, it seems that if we choose to display
the segment-to-section mapping, then we should always display the whole map including the sections
that do not belong to segments.
```
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .gnu.hash
03 .init_array .fini_array .dynamic
04 .dynamic
05 .note.ABI-tag
06 .eh_frame_hdr
07
08 .init_array .fini_array .dynamic .got
None .comment .symtab .strtab .shstrtab <--- THIS LINE
```
Reviewers: grimar, rupprecht, jhenderson, espindola
Reviewed By: rupprecht
Subscribers: khemant, emaste, arichardson, llvm-commits
Differential Revision: https://reviews.llvm.org/D57700
llvm-svn: 353217
diff --git a/llvm/test/tools/llvm-readobj/gnu-phdrs.test b/llvm/test/tools/llvm-readobj/gnu-phdrs.test
index ee19650..f6840e5 100644
--- a/llvm/test/tools/llvm-readobj/gnu-phdrs.test
+++ b/llvm/test/tools/llvm-readobj/gnu-phdrs.test
@@ -59,6 +59,7 @@
ELF32-NEXT: 07 .eh_frame_hdr
ELF32-NEXT: 08
ELF32-NEXT: 09 .tdata .ctors .dtors .jcr .dynamic .got
+ELF32-NEXT: None .comment .shstrtab .symtab .strtab
ELF64-PHDRS: Elf file type is EXEC (Executable file)
ELF64-PHDRS-NEXT: Entry point 0x400610
@@ -90,6 +91,7 @@
ELF64-MAPPING-NEXT: 07 .eh_frame_hdr
ELF64-MAPPING-NEXT: 08
ELF64-MAPPING-NEXT: 09 .tdata .init_array .fini_array .jcr .dynamic .got
+ELF64-MAPPING-NEXT: None .comment .shstrtab .symtab .strtab
ELF64-ONEMAPPING: Section to Segment mapping:
ELF64-ONEMAPPING-NOT: Section to Segment mapping: