OSDN Git Service

[llvm-readelf] Make llvm-readelf more compatible with GNU readelf.
authorJordan Rupprecht <rupprecht@google.com>
Mon, 12 Nov 2018 18:02:38 +0000 (18:02 +0000)
committerJordan Rupprecht <rupprecht@google.com>
Mon, 12 Nov 2018 18:02:38 +0000 (18:02 +0000)
commit6856bcc93ce9bc859918a650649db170ab7bbbe0
tree07f67baaf9a79b05c0d33cd72ef321a4ee47521b
parentcd74b0717533779c643684720a3e2379af2a4dda
[llvm-readelf] Make llvm-readelf more compatible with GNU readelf.

Summary:
This change adds a bunch of options that GNU readelf supports. There is one breaking change when invoked as `llvm-readobj`, and three breaking changes when invoked as `llvm-readelf`:
 - Add --all (implies --file-header, --program-headers, etc.)
 - [Breaking] -a is --all instead of --arm-attributes
 - Add --file-header as an alias for --file-headers
 - Replace --sections with --sections-headers, keeping --sections as an alias for it
 - Add --relocs as an alias for --relocations
 - Add --dynamic as an alias for --dynamic-table
 - Add --segments as an alias for --program-headers
 - Add --section-groups as an alias for --elf-section-groups
 - Add --dyn-syms as an alias for --dyn-symbols
 - Add --syms as an alias for --symbols
 - Add --histogram as an alias for --elf-hash-histogram
 - [Breaking] When invoked as `llvm-readelf`, -s is --symbols instead of --sections
 - [Breaking] When invoked as `llvm-readelf`, -t is no longer an alias for --symbols

Reviewers: MaskRay, phosek, mcgrathr, jhenderson

Reviewed By: MaskRay, jhenderson

Subscribers: sbc100, aheejin, edd, jhenderson, silvas, echristo, compnerd, kristina, javed.absar, kristof.beyls, llvm-commits, Bigcheese

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346685 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
test/MC/ARM/elf-execute-only-section.ll
test/tools/llvm-readobj/all.test [new file with mode: 0644]
test/tools/llvm-readobj/readelf-s-alias.test [new file with mode: 0644]
test/tools/llvm-readobj/sections.test
test/tools/llvm-readobj/symbols.test
tools/llvm-readobj/COFFDumper.cpp
tools/llvm-readobj/ELFDumper.cpp
tools/llvm-readobj/MachODumper.cpp
tools/llvm-readobj/ObjDumper.h
tools/llvm-readobj/WasmDumper.cpp
tools/llvm-readobj/llvm-readobj.cpp
tools/llvm-readobj/llvm-readobj.h