From 4afeaac09b40fb438db3012d1584101992b30ba0 Mon Sep 17 00:00:00 2001 From: Sid Manning Date: Tue, 11 Dec 2018 16:15:03 +0000 Subject: [PATCH] [llvm-readelf] Add -e/--headers support to readobj/elf Differential Revision: https://reviews.llvm.org/D55298 llvm-svn: 348859 --- llvm/test/tools/llvm-readobj/headers.test | 5 +++++ llvm/tools/llvm-readobj/llvm-readobj.cpp | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 llvm/test/tools/llvm-readobj/headers.test diff --git a/llvm/test/tools/llvm-readobj/headers.test b/llvm/test/tools/llvm-readobj/headers.test new file mode 100644 index 0000000..cc05ece --- /dev/null +++ b/llvm/test/tools/llvm-readobj/headers.test @@ -0,0 +1,5 @@ +RUN: llvm-readelf -e %p/Inputs/trivial.obj.elf-i386 > %t.e +RUN: llvm-readelf --headers %p/Inputs/trivial.obj.elf-i386 > %t.headers +RUN: llvm-readelf -h -l -S %p/Inputs/trivial.obj.elf-i386 > %t.hlS +RUN: cmp %t.e %t.headers +RUN: cmp %t.e %t.hlS diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index ab954a4..ffc5845 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -57,6 +57,14 @@ namespace opts { "--section-groups and --elf-hash-histogram.")); cl::alias AllShort("a", cl::desc("Alias for --all"), cl::aliasopt(All)); + // --headers -e + cl::opt + Headers("headers", + cl::desc("Equivalent to setting: --file-headers, --program-headers, " + "--section-headers")); + cl::alias HeadersShort("e", cl::desc("Alias for --headers"), + cl::aliasopt(Headers)); + // -wide, -W cl::opt WideOutput("wide", cl::desc("Ignored for compatibility with GNU readelf"), @@ -666,6 +674,12 @@ int main(int argc, const char *argv[]) { opts::HashHistogram = true; } + if (opts::Headers) { + opts::FileHeaders = true; + opts::ProgramHeaders = true; + opts::SectionHeaders = true; + } + // Default to stdin if no filename is specified. if (opts::InputFilenames.size() == 0) opts::InputFilenames.push_back("-"); -- 2.7.4