diff options
Diffstat (limited to 'llvm/test/tools/llvm-readobj/ELF/file-headers.test')
-rw-r--r-- | llvm/test/tools/llvm-readobj/ELF/file-headers.test | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/ELF/file-headers.test b/llvm/test/tools/llvm-readobj/ELF/file-headers.test new file mode 100644 index 00000000000..d3282c804cc --- /dev/null +++ b/llvm/test/tools/llvm-readobj/ELF/file-headers.test @@ -0,0 +1,139 @@ +# RUN: yaml2obj %s --docnum=1 -o %t.i386 +# RUN: llvm-readobj -h %t.i386 | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386 +# RUN: llvm-readobj --file-header %t.i386 | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386 +# RUN: llvm-readobj --file-headers %t.i386 | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386 + +# I386:File: [[FILE]] +# I386-NEXT:Format: ELF32-i386 +# I386-NEXT:Arch: i386 +# I386-NEXT:AddressSize: 32bit +# I386-NEXT:LoadName: <Not found> +# I386-NEXT:ElfHeader { +# I386-NEXT: Ident { +# I386-NEXT: Magic: (7F 45 4C 46) +# I386-NEXT: Class: 32-bit (0x1) +# I386-NEXT: DataEncoding: LittleEndian (0x1) +# I386-NEXT: FileVersion: 1 +# I386-NEXT: OS/ABI: GNU/Linux (0x3) +# I386-NEXT: ABIVersion: 0 +# I386-NEXT: Unused: (00 00 00 00 00 00 00) +# I386-NEXT: } +# I386-NEXT: Type: Relocatable (0x1) +# I386-NEXT: Machine: EM_386 (0x3) +# I386-NEXT: Version: 1 +# I386-NEXT: Entry: 0x0 +# I386-NEXT: ProgramHeaderOffset: 0x0 +# I386-NEXT: SectionHeaderOffset: 0x48 +# I386-NEXT: Flags [ (0x0) +# I386-NEXT: ] +# I386-NEXT: HeaderSize: 52 +# I386-NEXT: ProgramHeaderEntrySize: 0 +# I386-NEXT: ProgramHeaderCount: 0 +# I386-NEXT: SectionHeaderEntrySize: 40 +# I386-NEXT: SectionHeaderCount: 3 +# I386-NEXT: StringTableSectionIndex: 2 +# I386-NEXT:} +# I386-NOT:{{.}} + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + OSABI: ELFOSABI_GNU + Type: ET_REL + Machine: EM_386 + +# RUN: yaml2obj %s --docnum=2 -o %t.x86-64 +# RUN: llvm-readobj -h %t.x86-64 \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-64 +# RUN: llvm-readobj --file-header %t.x86-64 \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-64 +# RUN: llvm-readobj --file-headers %t.x86-64 \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-64 + +# X86-64:File: [[FILE]] +# X86-64-NEXT:Format: ELF64-x86-64 +# X86-64-NEXT:Arch: x86_64 +# X86-64-NEXT:AddressSize: 64bit +# X86-64-NEXT:LoadName: <Not found> +# X86-64-NEXT:ElfHeader { +# X86-64-NEXT: Ident { +# X86-64-NEXT: Magic: (7F 45 4C 46) +# X86-64-NEXT: Class: 64-bit (0x2) +# X86-64-NEXT: DataEncoding: LittleEndian (0x1) +# X86-64-NEXT: FileVersion: 1 +# X86-64-NEXT: OS/ABI: GNU/Linux (0x3) +# X86-64-NEXT: ABIVersion: 0 +# X86-64-NEXT: Unused: (00 00 00 00 00 00 00) +# X86-64-NEXT: } +# X86-64-NEXT: Type: Relocatable (0x1) +# X86-64-NEXT: Machine: EM_X86_64 (0x3E) +# X86-64-NEXT: Version: 1 +# X86-64-NEXT: Entry: 0x0 +# X86-64-NEXT: ProgramHeaderOffset: 0x0 +# X86-64-NEXT: SectionHeaderOffset: 0x58 +# X86-64-NEXT: Flags [ (0x0) +# X86-64-NEXT: ] +# X86-64-NEXT: HeaderSize: 64 +# X86-64-NEXT: ProgramHeaderEntrySize: 0 +# X86-64-NEXT: ProgramHeaderCount: 0 +# X86-64-NEXT: SectionHeaderEntrySize: 64 +# X86-64-NEXT: SectionHeaderCount: 3 +# X86-64-NEXT: StringTableSectionIndex: 2 +# X86-64-NEXT:} +# X86-64-NOT:{{.}} + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + OSABI: ELFOSABI_GNU + Type: ET_REL + Machine: EM_X86_64 + +# RUN: yaml2obj %s --docnum=3 -o %t.lanai +# RUN: llvm-readobj -h %t.lanai \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.lanai --check-prefix LANAI +# RUN: llvm-readobj --file-header %t.lanai \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.lanai --check-prefix LANAI +# RUN: llvm-readobj --file-headers %t.lanai \ +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.lanai --check-prefix LANAI + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2MSB + Type: ET_REL + Machine: EM_LANAI + +# LANAI:File: [[FILE]] +# LANAI-NEXT:Format: ELF32-lanai +# LANAI-NEXT:Arch: lanai +# LANAI-NEXT:AddressSize: 32bit +# LANAI-NEXT:LoadName: <Not found> +# LANAI-NEXT:ElfHeader { +# LANAI-NEXT: Ident { +# LANAI-NEXT: Magic: (7F 45 4C 46) +# LANAI-NEXT: Class: 32-bit (0x1) +# LANAI-NEXT: DataEncoding: BigEndian (0x2) +# LANAI-NEXT: FileVersion: 1 +# LANAI-NEXT: OS/ABI: SystemV (0x0) +# LANAI-NEXT: ABIVersion: 0 +# LANAI-NEXT: Unused: (00 00 00 00 00 00 00) +# LANAI-NEXT: } +# LANAI-NEXT: Type: Relocatable (0x1) +# LANAI-NEXT: Machine: EM_LANAI (0xF4) +# LANAI-NEXT: Version: 1 +# LANAI-NEXT: Entry: 0x0 +# LANAI-NEXT: ProgramHeaderOffset: 0x0 +# LANAI-NEXT: SectionHeaderOffset: 0x48 +# LANAI-NEXT: Flags [ (0x0) +# LANAI-NEXT: ] +# LANAI-NEXT: HeaderSize: 52 +# LANAI-NEXT: ProgramHeaderEntrySize: 0 +# LANAI-NEXT: ProgramHeaderCount: 0 +# LANAI-NEXT: SectionHeaderEntrySize: 40 +# LANAI-NEXT: SectionHeaderCount: 3 +# LANAI-NEXT: StringTableSectionIndex: 2 +# LANAI-NEXT:} +# LANAI-NOT:{{.}} |