diff --git a/llvm/test/tools/llvm-readobj/ELF/headers.test b/llvm/test/tools/llvm-readobj/ELF/headers.test --- a/llvm/test/tools/llvm-readobj/ELF/headers.test +++ b/llvm/test/tools/llvm-readobj/ELF/headers.test @@ -1,5 +1,48 @@ -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 +## This is a test for --headers and its alias -e. +## Specifying --headers is equivalent to setting --file-headers, +## --program-headers and --section-headers at the same time. +## We test these options independently, so here we just check +## that --headers triggers them. + +# RUN: yaml2obj %s -o %t + +## Case A: test llvm-readelf output. +# RUN: llvm-readelf --headers %t > %t.headers.gnu.txt +# RUN: FileCheck %s --input-file=%t.headers.gnu.txt --check-prefix=GNU + +# GNU: ELF Header: +# GNU: Section Headers: +# GNU: Program Headers: +# GNU: Section to Segment mapping: + +# RUN: llvm-readelf -e %t > %t.e.gnu.txt +# RUN: cmp %t.headers.gnu.txt %t.e.gnu.txt + +# RUN: llvm-readelf --file-headers --program-headers --section-headers %t > %t.all.gnu.txt +# RUN: cmp %t.headers.gnu.txt %t.all.gnu.txt + +## Case B: test llvm-readobj output. +# RUN: llvm-readobj --headers %t > %t.headers.llvm.txt +# RUN: FileCheck %s --input-file=%t.headers.llvm.txt --check-prefix=LLVM + +# LLVM: ElfHeader { +# LLVM: Sections [ +# LLVM: ProgramHeaders [ + +# RUN: llvm-readobj -e %t > %t.e.llvm.txt +# RUN: cmp %t.headers.llvm.txt %t.e.llvm.txt + +# RUN: llvm-readobj --file-headers --program-headers --section-headers %t > %t.all.llvm.txt +# RUN: cmp %t.headers.llvm.txt %t.all.llvm.txt + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_NONE +Sections: + - Name: .foo + Type: SHT_PROGBITS +ProgramHeaders: + - Type: PT_LOAD diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -63,7 +63,7 @@ DependentLibraries("dependent-libraries", cl::desc("Display the dependent libraries section")); - // --headers -e + // --headers, -e cl::opt Headers("headers", cl::desc("Equivalent to setting: --file-headers, --program-headers, "