Index: test/tools/llvm-readobj/justheader.test =================================================================== --- /dev/null +++ test/tools/llvm-readobj/justheader.test @@ -0,0 +1,11 @@ +RUN: llvm-readelf -e %p/Inputs/trivial.obj.elf-i386 \ +RUN: | FileCheck %s +RUN: llvm-readelf --headers %p/Inputs/trivial.obj.elf-i386 \ +RUN: | FileCheck %s + +CHECK: ELF Header: +CHECK: Section Headers: +CHECK: Program Headers: +CHECK-NOT: Relocation section +CHECK-NOT: Symbol table + Index: tools/llvm-readobj/llvm-readobj.cpp =================================================================== --- tools/llvm-readobj/llvm-readobj.cpp +++ tools/llvm-readobj/llvm-readobj.cpp @@ -57,6 +57,14 @@ "--section-groups and --elf-hash-histogram.")); cl::alias AllShort("a", cl::desc("Alias for --all"), cl::aliasopt(All)); + // --headers -e + cl::opt + AllHeaders("headers", + cl::desc("Equivalent to setting: --file-headers, --program-headers, " + "--section-headers")); + cl::alias AllHeadersShort("e", cl::desc("Alias for --headers"), + cl::aliasopt(AllHeaders)); + // -wide, -W cl::opt WideOutput("wide", cl::desc("Ignored for compatibility with GNU readelf"), @@ -666,6 +674,12 @@ opts::HashHistogram = true; } + if (opts::AllHeaders) { + 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("-");