forked from OSchip/llvm-project
[llvm-readobj/elf][test] - Refine --headers testing and the related code comment.
Specifying --headers is equivalent to setting --file-headers, --program-headers and --section-headers at the same time. The existent test case uses a precompiled object and doesn't test the output properly. This patch fixes it. Differential revision: https://reviews.llvm.org/D85832
This commit is contained in:
parent
385c9d673f
commit
936ba7eec3
|
@ -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
|
||||
|
|
|
@ -63,7 +63,7 @@ namespace opts {
|
|||
DependentLibraries("dependent-libraries",
|
||||
cl::desc("Display the dependent libraries section"));
|
||||
|
||||
// --headers -e
|
||||
// --headers, -e
|
||||
cl::opt<bool>
|
||||
Headers("headers",
|
||||
cl::desc("Equivalent to setting: --file-headers, --program-headers, "
|
||||
|
|
Loading…
Reference in New Issue