Index: llvm/trunk/test/tools/llvm-readobj/headers.test =================================================================== --- llvm/trunk/test/tools/llvm-readobj/headers.test +++ llvm/trunk/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 Index: llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp =================================================================== --- llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp +++ llvm/trunk/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 + 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 @@ 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("-");