[PATCH] D57365: [llvm-readobj] Add a flag to dump just the section-to-segment mapping.

Jordan Rupprecht via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 29 14:38:20 PST 2019


rupprecht added a comment.

This still needs a few tests, such as:

1. llvm-readelf -section-mapping prints the section mapping (and no program headers)
2. llvm-readelf -section-mapping -program-headers produces the same output as llvm-readelf -program-headers
3. llvm-readelf -section-mapping -program-headers (or equivalently llvm-readelf -program-headers) prints the section to segment mapping exactly once (RUN: llvm-readelf ... | grep "Section to Segment mapping:" | count 1)



================
Comment at: llvm/tools/llvm-readobj/llvm-readobj.cpp:486
     Dumper->printProgramHeaders();
+    Dumper->printSectionMapping();
+  }
----------------
This can still show up twice, i.e.

```
$ llvm-readelf --section-mapping --program-headers llvm-readelf
# ... section to segment mapping ...
# ... program headers ...
# ... section to segment mapping ...
```

I was thinking something like this would work:
```
  if (opts::ProgramHeaders)
    Dumper->printProgramHeaders();
  if (opts::ProgramHeaders || opts::SectionMapping)
    Dumper->printSectionMapping();
```
Or equivalently,
```
  // In args parsing section above
  if (opts::ProgramHeaders)
    opts::SectionMapping = true; // Maybe also check --section-mapping=false wasn't explicitly specified
  ...
  // Here
  if (opts::ProgramHeaders)
    Dumper->printProgramHeaders();
  if (opts::SectionMapping)
    Dumper->printSectionMapping();
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57365/new/

https://reviews.llvm.org/D57365





More information about the llvm-commits mailing list