[llvm] 2bca784 - [llvm-readobj] - Massive test cases cleanup.
Georgii Rymar via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 3 04:07:31 PDT 2020
Author: Georgii Rymar
Date: 2020-08-03T14:07:06+03:00
New Revision: 2bca784ab840a9fe0f4e508cece9cbcce95838bb
URL: https://github.com/llvm/llvm-project/commit/2bca784ab840a9fe0f4e508cece9cbcce95838bb
DIFF: https://github.com/llvm/llvm-project/commit/2bca784ab840a9fe0f4e508cece9cbcce95838bb.diff
LOG: [llvm-readobj] - Massive test cases cleanup.
This patch does the following:
1) Starts using YAML macro to reduce the number of YAML documents in tests.
2) Adds `#` before 'RUN'/`CHECK` lines in a few tests where it is missing.
3) Removes unused YAML keys.
4) Starts using `ENTSIZE=<none>` to simplify tests (see D84526).
5) Removes trailing white spaces in a few places.
Differential revision: https://reviews.llvm.org/D85013
Added:
Modified:
llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test
llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
llvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test
llvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
llvm/test/tools/llvm-readobj/ELF/dependent-libraries.test
llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test
llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s
llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
llvm/test/tools/llvm-readobj/ELF/file-types.test
llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
llvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test
llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test
llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test
llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
llvm/test/tools/llvm-readobj/ELF/hidden-versym.test
llvm/test/tools/llvm-readobj/ELF/merged.test
llvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test
llvm/test/tools/llvm-readobj/ELF/mips-options.test
llvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test
llvm/test/tools/llvm-readobj/ELF/needed-libs.test
llvm/test/tools/llvm-readobj/ELF/no-action.test
llvm/test/tools/llvm-readobj/ELF/packed-relocs.test
llvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test
llvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test
llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test
llvm/test/tools/llvm-readobj/ELF/sections.test
llvm/test/tools/llvm-readobj/ELF/types.test
llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test
llvm/test/tools/llvm-readobj/ELF/versym-invalid.test
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test b/llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test
index cb0e6213cafd..19627378094e 100644
--- a/llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test
+++ b/llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test
@@ -1,11 +1,11 @@
-RUN: llvm-readobj --file-headers -l -S --symbols %p/Inputs/trivial.obj.elf-amdhsa-gfx803 | FileCheck %s
+# RUN: llvm-readobj --file-headers -l -S --symbols %p/Inputs/trivial.obj.elf-amdhsa-gfx803 | FileCheck %s
-CHECK: Format: elf64-amdgpu
-CHECK: Arch: unknown
-CHECK: ElfHeader {
-CHECK: Ident {
-CHECK: OS/ABI: AMDGPU_HSA (0x40)
-CHECK: ABIVersion: 0
-CHECK: }
-CHECK: Machine: EM_AMDGPU (0xE0)
-CHECK: }
+# CHECK: Format: elf64-amdgpu
+# CHECK: Arch: unknown
+# CHECK: ElfHeader {
+# CHECK: Ident {
+# CHECK: OS/ABI: AMDGPU_HSA (0x40)
+# CHECK: ABIVersion: 0
+# CHECK: }
+# CHECK: Machine: EM_AMDGPU (0xE0)
+# CHECK: }
diff --git a/llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test b/llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
index 9142fc65a025..4a079c29b83e 100644
--- a/llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
+++ b/llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
@@ -50,7 +50,7 @@ ProgramHeaders:
- Section: .dynamic
## Show we print a warning for an invalid relocation table size stored in a DT_RELASZ entry.
-# RUN: yaml2obj --docnum=2 %s -o %t2
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELA -DTAG1=DT_RELASZ -DTAG1VAL=0xFF -DTAG2=DT_RELAENT %s -o %t2
# RUN: llvm-readobj --dyn-relocations %t2 2>&1 | FileCheck %s -DFILE=%t2 --check-prefix=INVALID-DT-RELASZ
# RUN: llvm-readelf --dyn-relocations %t2 2>&1 | FileCheck %s -DFILE=%t2 --check-prefix=INVALID-DT-RELASZ
@@ -63,277 +63,73 @@ FileHeader:
Type: ET_DYN
Machine: EM_X86_64
Sections:
- - Name: .rela.dyn
- Type: SHT_RELA
- Relocations:
- - Type: R_X86_64_NONE
+ - Name: .relx.dyn
+ Type: SHT_[[RELTYPE]]
- Name: .dynamic
Type: SHT_DYNAMIC
Entries:
- - Tag: DT_RELA
+ - Tag: DT_[[RELTYPE]]
Value: 0x0
- - Tag: DT_RELASZ
- Value: 0xFF
- - Tag: DT_RELAENT
- Value: 0x18
+ - Tag: [[TAG1]]
+ Value: [[TAG1VAL=0x18]]
+ - Tag: [[TAG2]]
+ Value: [[TAG2VAL=0x18]]
- Tag: DT_NULL
Value: 0x0
DynamicSymbols: []
ProgramHeaders:
- Type: PT_LOAD
Sections:
- - Section: .rela.dyn
+ - Section: .relx.dyn
- Section: .dynamic
## Show we print a warning for an invalid relocation table entry size stored in a DT_RELAENT entry.
-# RUN: yaml2obj --docnum=3 %s -o %t3
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELA -DTAG1=DT_RELASZ -DTAG2=DT_RELAENT -DTAG2VAL=0xFF %s -o %t3
# RUN: llvm-readobj --dyn-relocations %t3 2>&1 | FileCheck %s -DFILE=%t3 --check-prefix=INVALID-DT-RELAENT
# RUN: llvm-readelf --dyn-relocations %t3 2>&1 | FileCheck %s -DFILE=%t3 --check-prefix=INVALID-DT-RELAENT
## INVALID-DT-RELAENT: warning: '[[FILE]]': invalid DT_RELASZ value (0x18) or DT_RELAENT value (0xff)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .rela.dyn
- Type: SHT_RELA
- Relocations:
- - Type: R_X86_64_NONE
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_RELA
- Value: 0x0
- - Tag: DT_RELASZ
- Value: 0x18
- - Tag: DT_RELAENT
- Value: 0xFF
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .rela.dyn
- - Section: .dynamic
-
## Show we print a warning for an invalid relocation table size stored in a DT_RELSZ entry.
-# RUN: yaml2obj --docnum=4 %s -o %t4
+# RUN: yaml2obj --docnum=2 -DRELTYPE=REL -DTAG1=DT_RELSZ -DTAG1VAL=0xFF -DTAG2=DT_RELENT %s -o %t4
# RUN: llvm-readobj --dyn-relocations %t4 2>&1 | FileCheck %s -DFILE=%t4 --check-prefix=INVALID-DT-RELSZ
# RUN: llvm-readelf --dyn-relocations %t4 2>&1 | FileCheck %s -DFILE=%t4 --check-prefix=INVALID-DT-RELSZ
## INVALID-DT-RELSZ: warning: '[[FILE]]': invalid DT_RELSZ value (0xff) or DT_RELENT value (0x18)
---- !ELF
-FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_386
-Sections:
- - Name: .rela.dyn
- Type: SHT_REL
- Relocations:
- - Type: R_386_NONE
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_REL
- Value: 0x0
- - Tag: DT_RELSZ
- Value: 0xFF
- - Tag: DT_RELENT
- Value: 0x18
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .rela.dyn
- - Section: .dynamic
-
## Show we print a warning for an invalid relocation table entry size stored in a DT_RELENT entry.
-# RUN: yaml2obj --docnum=5 %s -o %t5
+# RUN: yaml2obj --docnum=2 -DRELTYPE=REL -DTAG1=DT_RELSZ -DTAG2=DT_RELENT -DTAG2VAL=0xFF %s -o %t5
# RUN: llvm-readobj --dyn-relocations %t5 2>&1 | FileCheck %s -DFILE=%t5 --check-prefix=INVALID-DT-RELENT
# RUN: llvm-readelf --dyn-relocations %t5 2>&1 | FileCheck %s -DFILE=%t5 --check-prefix=INVALID-DT-RELENT
## INVALID-DT-RELENT: warning: '[[FILE]]': invalid DT_RELSZ value (0x18) or DT_RELENT value (0xff)
---- !ELF
-FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_386
-Sections:
- - Name: .rela.dyn
- Type: SHT_REL
- Relocations:
- - Type: R_386_NONE
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_REL
- Value: 0x0
- - Tag: DT_RELSZ
- Value: 0x18
- - Tag: DT_RELENT
- Value: 0xFF
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .rela.dyn
- - Section: .dynamic
-
## Show we print a warning for an invalid relocation table size stored in a DT_RELRSZ/DT_ANDROID_RELRSZ entry.
-# RUN: yaml2obj --docnum=6 %s -o %t6
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELR -DTAG1=DT_RELRSZ -DTAG1VAL=0xFF -DTAG2=DT_RELRENT %s -o %t6
# RUN: llvm-readobj --dyn-relocations %t6 2>&1 | FileCheck %s -DFILE=%t6 --check-prefix=INVALID-DT-RELRSZ
# RUN: llvm-readelf --dyn-relocations %t6 2>&1 | FileCheck %s -DFILE=%t6 --check-prefix=INVALID-DT-RELRSZ
-# RUN: yaml2obj --docnum=7 %s -o %t7
+
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELR -DTAG1=DT_ANDROID_RELRSZ -DTAG1VAL=0xFF -DTAG2=DT_ANDROID_RELRENT %s -o %t7
# RUN: llvm-readobj --dyn-relocations %t7 2>&1 | FileCheck %s -DFILE=%t7 --check-prefix=INVALID-DT-ANDROID-RELRSZ
# RUN: llvm-readelf --dyn-relocations %t7 2>&1 | FileCheck %s -DFILE=%t7 --check-prefix=INVALID-DT-ANDROID-RELRSZ
## INVALID-DT-RELRSZ: warning: '[[FILE]]': invalid DT_RELRSZ value (0xff) or DT_RELRENT value (0x18)
## INVALID-DT-ANDROID-RELRSZ: warning: '[[FILE]]': invalid DT_ANDROID_RELRSZ value (0xff) or DT_ANDROID_RELRENT value (0x18)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .relr.dyn
- Type: SHT_RELR
- Flags: [ SHF_ALLOC ]
- Content: ""
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_RELR
- Value: 0x0
- - Tag: DT_RELRSZ
- Value: 0xFF
- - Tag: DT_RELRENT
- Value: 0x18
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .relr.dyn
- - Section: .dynamic
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .relr.dyn
- Type: SHT_RELR
- Flags: [ SHF_ALLOC ]
- Content: ""
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_RELR
- Value: 0x0
- - Tag: DT_ANDROID_RELRSZ
- Value: 0xFF
- - Tag: DT_ANDROID_RELRENT
- Value: 0x18
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .relr.dyn
- - Section: .dynamic
-
## Show we print a warning for an invalid relocation table entry size stored in a DT_RELRENT/DT_ANDROID_RELRENT entry.
-# RUN: yaml2obj --docnum=8 %s -o %t8
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELR -DTAG1=DT_RELRSZ -DTAG2=DT_RELRENT -DTAG2VAL=0xFF %s -o %t8
# RUN: llvm-readobj --dyn-relocations %t8 2>&1 | FileCheck %s -DFILE=%t8 --check-prefix=INVALID-DT-RELRENT
# RUN: llvm-readelf --dyn-relocations %t8 2>&1 | FileCheck %s -DFILE=%t8 --check-prefix=INVALID-DT-RELRENT
-# RUN: yaml2obj --docnum=9 %s -o %t9
+# RUN: yaml2obj --docnum=2 -DRELTYPE=RELR -DTAG1=DT_ANDROID_RELRSZ -DTAG2=DT_ANDROID_RELRENT -DTAG2VAL=0xFF %s -o %t9
# RUN: llvm-readobj --dyn-relocations %t9 2>&1 | FileCheck %s -DFILE=%t9 --check-prefix=INVALID-DT-ANDROID-RELRENT
# RUN: llvm-readelf --dyn-relocations %t9 2>&1 | FileCheck %s -DFILE=%t9 --check-prefix=INVALID-DT-ANDROID-RELRENT
## INVALID-DT-RELRENT: invalid DT_RELRSZ value (0x18) or DT_RELRENT value (0xff)
## INVALID-DT-ANDROID-RELRENT: invalid DT_ANDROID_RELRSZ value (0x18) or DT_ANDROID_RELRENT value (0xff)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .relr.dyn
- Type: SHT_RELR
- Flags: [ SHF_ALLOC ]
- Content: ""
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_RELR
- Value: 0x0
- - Tag: DT_RELRSZ
- Value: 0x18
- - Tag: DT_RELRENT
- Value: 0xFF
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .relr.dyn
- - Section: .dynamic
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .relr.dyn
- Type: SHT_RELR
- Flags: [ SHF_ALLOC ]
- Content: ""
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_RELR
- Value: 0x0
- - Tag: DT_ANDROID_RELRSZ
- Value: 0x18
- - Tag: DT_ANDROID_RELRENT
- Value: 0xFF
- - Tag: DT_NULL
- Value: 0x0
-DynamicSymbols: []
-ProgramHeaders:
- - Type: PT_LOAD
- Sections:
- - Section: .relr.dyn
- - Section: .dynamic
-
## Show we print a warning for an invalid value of DT_PLTRELSZ, which describes the total size
## of the relocation entries associated with the procedure linkage table.
-# RUN: yaml2obj --docnum=10 %s -o %t10
+# RUN: yaml2obj --docnum=3 %s -o %t10
# RUN: llvm-readobj --dyn-relocations %t10 2>&1 | FileCheck %s -DFILE=%t10 --check-prefix=INVALID-DT-PLTRELSZ
# RUN: llvm-readelf --dyn-relocations %t10 2>&1 | FileCheck %s -DFILE=%t10 --check-prefix=INVALID-DT-PLTRELSZ
@@ -369,7 +165,7 @@ ProgramHeaders:
- Section: .dynamic
## Show we print a warning when dumping dynamic relocations if there is no dynamic symbol table.
-# RUN: yaml2obj --docnum=11 %s -o %t11
+# RUN: yaml2obj --docnum=4 %s -o %t11
# RUN: llvm-readobj --dyn-relocations %t11 2>&1 | FileCheck %s -DFILE=%t11 --check-prefix=LLVM-NO-DYNSYM
# RUN: llvm-readelf --dyn-relocations %t11 2>&1 | FileCheck %s -DFILE=%t11 --check-prefix=GNU-NO-DYNSYM
@@ -419,7 +215,7 @@ ProgramHeaders:
## Show we print a warning when the symbol index of a dynamic relocation is too
## large (goes past the end of the dynamic symbol table).
-# RUN: yaml2obj --docnum=12 %s -o %t12
+# RUN: yaml2obj --docnum=5 %s -o %t12
# RUN: llvm-readobj --dyn-relocations %t12 2>&1 | FileCheck %s -DFILE=%t12 --check-prefix=LLVM-INVALID-DYNSYM
# RUN: llvm-readelf --dyn-relocations %t12 2>&1 | FileCheck %s -DFILE=%t12 --check-prefix=GNU-INVALID-DYNSYM
@@ -465,7 +261,7 @@ ProgramHeaders:
- Section: .dynamic
## Show that when we have both REL and RELA relocations, we dump both sets.
-# RUN: yaml2obj --docnum=13 %s -o %t13
+# RUN: yaml2obj --docnum=6 %s -o %t13
# RUN: llvm-readobj --dyn-relocations %t13 2>&1 | FileCheck %s -DFILE=%t13 --check-prefix=BOTH-RELA-REL-LLVM
# RUN: llvm-readelf --dyn-relocations %t13 2>&1 | FileCheck %s -DFILE=%t13 --check-prefix=BOTH-RELA-REL-GNU
diff --git a/llvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test b/llvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test
index d64b1dfb11a8..a685c7eccc1f 100644
--- a/llvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test
+++ b/llvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test
@@ -2,7 +2,7 @@
## .dynsym section's sh_link field is broken.
## Case 1: sh_link is set to 0.
-# RUN: yaml2obj --docnum=1 %s -o %t1
+# RUN: yaml2obj --docnum=1 -DLINK=0 %s -o %t1
# RUN: llvm-readobj -S %t1 2>&1 | FileCheck %s -DFILE=%t1 --check-prefixes=LLVM,ERR
# RUN: llvm-readelf -S %t1 2>&1 | FileCheck %s -DFILE=%t1 --check-prefixes=GNU,ERR
@@ -32,25 +32,15 @@ FileHeader:
Sections:
- Name: .dynsym
Type: SHT_DYNSYM
+ Link: [[LINK]]
## Case 2: sh_link is set to 255, which is larger than the number of the sections.
-# RUN: yaml2obj --docnum=2 %s -o %t2
+# RUN: yaml2obj --docnum=1 -DLINK=255 %s -o %t2
# RUN: llvm-readobj -S %t2 2>&1 | FileCheck -DFILE=%t2 %s --check-prefixes=LLVM2,ERR2
# RUN: llvm-readelf -S %t2 2>&1 | FileCheck -DFILE=%t2 %s --check-prefixes=GNU2,ERR2
-# ERR2: warning: '[[FILE]]': invalid section index
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .dynsym
- Type: SHT_DYNSYM
- Link: 255
+# ERR2: warning: '[[FILE]]': invalid section index: 255
# LLVM2: Name: .dynsym
# LLVM2-NEXT: Type: SHT_DYNSYM
diff --git a/llvm/test/tools/llvm-readobj/ELF/call-graph-profile.test b/llvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
index 8ccc93cf426f..65709cb5f696 100644
--- a/llvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
+++ b/llvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
@@ -37,8 +37,7 @@ Sections:
- From: bar
To: foo
Weight: 98
-## 0x10 is the normal entry size for the SHT_LLVM_CALL_GRAPH_PROFILE section.
- EntSize: [[ENTSIZE=0x10]]
+ EntSize: [[ENTSIZE=<none>]]
Symbols:
- Name: foo
- Name: bar
diff --git a/llvm/test/tools/llvm-readobj/ELF/dependent-libraries.test b/llvm/test/tools/llvm-readobj/ELF/dependent-libraries.test
index 97f8a7578139..440217f3253d 100644
--- a/llvm/test/tools/llvm-readobj/ELF/dependent-libraries.test
+++ b/llvm/test/tools/llvm-readobj/ELF/dependent-libraries.test
@@ -30,8 +30,18 @@ FileHeader:
Sections:
- Name: .deplibs
Type: SHT_LLVM_DEPENDENT_LIBRARIES
+ ShType: [[TYPE=<none>]]
Libraries: [ foo, bar, foo ]
+## Show the output when there are no dependent library sections. Check that we are
+## locating dependent library sections by type. To do this we change the type to an arbitrary one.
+# RUN: yaml2obj --docnum=1 -DTYPE=SHT_PROGBITS %s -o %t3
+# RUN: llvm-readobj --dependent-libraries %t3 2>&1 | FileCheck %s --check-prefix=NONE
+# RUN: llvm-readelf --dependent-libraries %t3 2>&1 | FileCheck %s --allow-empty --implicit-check-not={{.}}
+
+# NONE: DependentLibs [
+# NONE-NEXT: ]
+
## Now, check how we dump a mix of valid, empty and invalid SHT_LLVM_DEPENDENT_LIBRARIES sections.
# RUN: yaml2obj --docnum=2 %s -o %t2
@@ -98,18 +108,3 @@ Sections:
- ShName: 0x10000
Type: SHT_LLVM_DEPENDENT_LIBRARIES
Libraries: [ baz ]
-
-## Show the output when there are no dependent library sections.
-# RUN: yaml2obj --docnum=3 %s -o %t3
-# RUN: llvm-readobj --dependent-libraries %t3 2>&1 | FileCheck %s --check-prefix=NONE
-# RUN: llvm-readelf --dependent-libraries %t3 2>&1 | FileCheck %s --allow-empty --implicit-check-not={{.}}
-
-# NONE: DependentLibs [
-# NONE-NEXT: ]
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
diff --git a/llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test b/llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
index 6169871034d5..4a9daa264129 100644
--- a/llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
+++ b/llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
@@ -134,41 +134,24 @@ Sections:
Value: 0xffff1234
- Tag: DT_NULL
Value: 0
+ - Name: .dynsym
+ Type: SHT_DYNSYM
+ ShName: [[DYNSYMNAME=<none>]]
DynamicSymbols:
- Name: foo
## Case 3.2: the same as 3.1, but the sh_name field of the SHT_DYNSYM section is invalid.
## Check we are still able to dump symbols.
-# RUN: yaml2obj --docnum=3 %s -o %t2.broken.name
+# RUN: yaml2obj --docnum=2 -DDYNSYMNAME=0xffffffff %s -o %t2.broken.name
# RUN: llvm-readobj %t2.broken.name --dyn-symbols 2>&1 | \
# RUN: FileCheck %s -DFILE=%t2.broken.name --check-prefix=NOPHDRS-LLVM --implicit-check-not=warning:
# RUN: llvm-readelf %t2.broken.name --dyn-symbols 2>&1 | \
# RUN: FileCheck %s -DFILE=%t2.broken.name -DNAME="<?>" \
# RUN: --check-prefixes=NOPHDRS-GNU,NOPHDRS-NAMEWARN --implicit-check-not=warning:
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_SYMTAB
- Value: 0xffff1234
- - Tag: DT_NULL
- Value: 0
- - Name: .dynsym
- Type: SHT_DYNSYM
- ShName: 0xffffffff
-DynamicSymbols:
- - Name: foo
-
## Case 4: Check we report a warning when there is no SHT_DYNSYM section and we can't map the DT_SYMTAB value
## to an address because of the absence of a corresponding PT_LOAD program header.
-# RUN: yaml2obj --docnum=4 %s -o %t3.so
+# RUN: yaml2obj --docnum=3 %s -o %t3.so
# RUN: llvm-readobj %t3.so --dyn-symbols 2>&1 | FileCheck %s -DFILE=%t3.so --check-prefixes=NOSHT-DYNSYM,NOSHT-DYNSYM-LLVM
# RUN: llvm-readelf %t3.so --dyn-symbols 2>&1 | FileCheck %s -DFILE=%t3.so --check-prefix=NOSHT-DYNSYM
@@ -197,7 +180,7 @@ DynamicSymbols:
## Case 5: Check that when we can't map the value of the DT_SYMTAB tag to an address, we report a warning and
## use the information in the section header table to locate the dynamic symbol table.
-# RUN: yaml2obj --docnum=5 %s -o %t4.so
+# RUN: yaml2obj --docnum=4 %s -o %t4.so
# RUN: llvm-readobj %t4.so --dyn-symbols 2>&1 | FileCheck -DFILE=%t4.so %s --check-prefixes=BROKEN-DTSYMTAB,BROKEN-DTSYMTAB-LLVM
# RUN: llvm-readelf %t4.so --dyn-symbols 2>&1 | FileCheck -DFILE=%t4.so %s --check-prefixes=BROKEN-DTSYMTAB,BROKEN-DTSYMTAB-GNU
@@ -229,7 +212,7 @@ ProgramHeaders:
## Case 6: Check that if we can get the location of the dynamic symbol table using both the DT_SYMTAB value
## and the section headers table then we prefer the former and report a warning.
-# RUN: yaml2obj --docnum=6 %s -o %t5.so
+# RUN: yaml2obj --docnum=5 %s -o %t5.so
# RUN: llvm-readobj %t5.so --dyn-symbols 2>&1 | FileCheck -DFILE=%t5.so %s --check-prefixes=PREFER-DTSYMTAB,PREFER-DTSYMTAB-LLVM
# RUN: llvm-readelf %t5.so --dyn-symbols 2>&1 | FileCheck -DFILE=%t5.so %s --check-prefixes=PREFER-DTSYMTAB,PREFER-DTSYMTAB-GNU
@@ -267,7 +250,7 @@ ProgramHeaders:
## Case 7: Check how we dump versioned symbols. Use both -V and --dyn-symbols
## to check that printed version is consistent.
-# RUN: yaml2obj %s --docnum=7 -o %t6
+# RUN: yaml2obj %s --docnum=6 -o %t6
# RUN: llvm-readobj -V --dyn-symbols %t6 | FileCheck %s --check-prefix=VERSIONED-LLVM
# RUN: llvm-readelf -V --dyn-symbols %t6 | FileCheck %s --check-prefix=VERSIONED-GNU
@@ -350,15 +333,15 @@ DynamicSymbols:
## Case 8: Check what we print when:
## a) The dynamic symbol table does not exist.
-# RUN: yaml2obj %s --docnum=8 -o %t7
+# RUN: yaml2obj %s --docnum=7 -o %t7
# RUN: llvm-readobj --dyn-symbols %t7 | FileCheck %s --check-prefix=NO-DYNSYM-LLVM
# RUN: llvm-readelf --dyn-symbols %t7 | count 0
## b) The dynamic symbol table has a size of 0.
-# RUN: yaml2obj %s --docnum=9 -o %t8
+# RUN: yaml2obj %s --docnum=8 -o %t8
# RUN: llvm-readobj --dyn-symbols %t8 | FileCheck %s --check-prefix=NO-DYNSYM-LLVM
# RUN: llvm-readelf --dyn-symbols %t8 | count 0
## c) The dynamic symbol table only contains the null symbol.
-# RUN: yaml2obj %s --docnum=10 -o %t9
+# RUN: yaml2obj %s --docnum=9 -o %t9
# RUN: llvm-readobj --dyn-symbols %t9 | FileCheck %s --check-prefix=DYNSYM-EMPTY-LLVM
# RUN: llvm-readelf --dyn-symbols %t9 | FileCheck %s --check-prefix=DYNSYM-EMPTY-GNU
@@ -409,7 +392,7 @@ DynamicSymbols: []
## Case 9: Check what we print when:
## a) The size of the dynamic symbol table is not a multiple of its entry size.
-# RUN: yaml2obj %s --docnum=11 -o %t10
+# RUN: yaml2obj %s --docnum=10 -o %t10
# RUN: llvm-readobj --dyn-symbols %t10 2>&1 | FileCheck %s -DFILE=%t10 --check-prefix=DYNSYM-SIZE-INVALID1
# RUN: llvm-readelf --dyn-symbols %t10 2>&1 | FileCheck %s -DFILE=%t10 --check-prefix=DYNSYM-SIZE-INVALID1
@@ -419,7 +402,7 @@ DynamicSymbols: []
## information about a location and an entity size of the dynamic symbol table from the section header.
## The code uses sizeof(Elf_Sym) for an entity size, so it can't be incorrect and
## the message printed is a bit shorter.
-# RUN: yaml2obj %s --docnum=12 -o %t11
+# RUN: yaml2obj %s --docnum=11 -o %t11
# RUN: llvm-readobj --dyn-symbols %t11 2>&1 | FileCheck %s -DFILE=%t11 --check-prefix=DYNSYM-SIZE-INVALID2
# RUN: llvm-readelf --dyn-symbols %t11 2>&1 | FileCheck %s -DFILE=%t11 --check-prefix=DYNSYM-SIZE-INVALID2
@@ -427,10 +410,10 @@ DynamicSymbols: []
## c) In the case when the DT_SYMENT tag is present, we report when it's value does not match the
# value of the symbol size for the platform.
-# RUN: yaml2obj %s -D BITS=32 --docnum=13 -o %t12
+# RUN: yaml2obj %s -D BITS=32 --docnum=12 -o %t12
# RUN: llvm-readobj --dyn-symbols %t12 2>&1 | FileCheck %s -DFILE=%t12 --check-prefix=DYNSYM-SIZE-INVALID3
# RUN: llvm-readelf --dyn-symbols %t12 2>&1 | FileCheck %s -DFILE=%t12 --check-prefix=DYNSYM-SIZE-INVALID3
-# RUN: yaml2obj %s -D BITS=64 --docnum=13 -o %t13
+# RUN: yaml2obj %s -D BITS=64 --docnum=12 -o %t13
# RUN: llvm-readobj --dyn-symbols %t13 2>&1 | FileCheck %s -DFILE=%t13 --check-prefix=DYNSYM-SIZE-INVALID4
# RUN: llvm-readelf --dyn-symbols %t13 2>&1 | FileCheck %s -DFILE=%t13 --check-prefix=DYNSYM-SIZE-INVALID4
@@ -490,7 +473,7 @@ Sections:
## Check we report a warning when the DT_STRSZ value is broken so that the dynamic string
## table goes past the end of the file. Document we stop dumping symbols and report an error.
-# RUN: yaml2obj %s --docnum=14 -o %t14
+# RUN: yaml2obj %s --docnum=13 -o %t14
# RUN: llvm-readobj --dyn-symbols %t14 2>&1 | \
# RUN: FileCheck %s -DFILE=%t14 --check-prefix=DYNSTR-INVALID-LLVM
# RUN: llvm-readelf --dyn-symbols %t14 2>&1 | \
@@ -570,7 +553,7 @@ ProgramHeaders:
- Section: .dynamic
## Check we report a warning when the entry size of the dynamic symbol table is zero.
-# RUN: yaml2obj %s --docnum=15 -o %t15
+# RUN: yaml2obj %s --docnum=14 -o %t15
# RUN: llvm-readobj --dyn-symbols %t15 2>&1 | FileCheck %s -DFILE=%t15 --check-prefix=DYNSYM-ZERO-ENTSIZE-LLVM
# RUN: llvm-readelf --dyn-symbols %t15 2>&1 | \
# RUN: FileCheck %s -DFILE=%t15 --check-prefix=DYNSYM-ZERO-ENTSIZE-GNU --implicit-check-not="Symbol table"
diff --git a/llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test b/llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test
index 1ec81578b9cc..b6c6f102c9c1 100644
--- a/llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test
+++ b/llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test
@@ -21,10 +21,6 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_DYN
Machine: EM_X86_64
-## We simulate no section header table by
-## overriding the ELF header properties.
- EShOff: 0x0
- EShNum: 0x0
Sections:
- Name: .rela.dyn
Type: SHT_RELA
@@ -66,3 +62,5 @@ ProgramHeaders:
- Type: PT_DYNAMIC
Sections:
- Section: .dynamic
+SectionHeaderTable:
+ NoHeaders: true
diff --git a/llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s b/llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s
index 5524bdde154c..b199bc428f2f 100644
--- a/llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s
+++ b/llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s
@@ -15,26 +15,21 @@
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
Sections:
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Address: 0x0000000000001010
- AddressAlign: 0x0000000000000010
- EntSize: 0x0000000000000010
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
Entries:
- - Tag: DT_DEBUG
- Value: 0x0000000000000000
+ - Tag: DT_DEBUG
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
- VAddr: 0x1000
Sections:
- Section: .dynamic
- Type: PT_DYNAMIC
- VAddr: 0x1010
Sections:
- Section: .dynamic
@@ -59,29 +54,24 @@ ProgramHeaders:
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
Sections:
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Address: 0x0000000000001010
- AddressAlign: 0x0000000000000010
- EntSize: 0x0000000000000010
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
Entries:
- - Tag: DT_DEBUG
- Value: 0x0000000000000000
- - Tag: DT_NULL
- Value: 0x0000000000000000
- - Tag: DT_NULL
- Value: 0x0000000000000000
+ - Tag: DT_DEBUG
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
- VAddr: 0x1000
Sections:
- Section: .dynamic
- Type: PT_DYNAMIC
- VAddr: 0x1010
Sections:
- Section: .dynamic
diff --git a/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test b/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
index 5f8b709cef5b..24cc439bdbdb 100644
--- a/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
+++ b/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
@@ -140,11 +140,11 @@
--- !ELF
FileHeader:
- Class: ELFCLASS64
+ Class: ELFCLASS[[BITS=64]]
Data: ELFDATA2LSB
Type: ET_EXEC
- Machine: EM_X86_64
- EPhEntSize: [[PHENTSIZE=56]]
+ Machine: EM_NONE
+ EPhEntSize: [[PHENTSIZE=<none>]]
Sections:
- Name: .dynstr
Type: SHT_STRTAB
@@ -186,7 +186,7 @@ Sections:
- Tag: DT_RPATH
Value: 0x5
- Tag: DT_SYMBOLIC
- Value: 0x1234567890abcdef
+ Value: [[SYMBOLIC=0x1234567890abcdef]]
- Tag: DT_REL
Value: 0x1000
- Tag: DT_RELSZ
@@ -196,13 +196,13 @@ Sections:
- Tag: DT_PLTREL
Value: 0x7
- Tag: DT_DEBUG
- Value: 0xfedcba0987654321
+ Value: [[DEBUG=0xfedcba0987654321]]
- Tag: DT_TEXTREL
- Value: 0x1122334455667788
+ Value: [[TEXTREL=0x1122334455667788]]
- Tag: DT_JMPREL
Value: 0x1000
- Tag: DT_BIND_NOW
- Value: 0x8877665544332211
+ Value: [[BINDNOW=0x8877665544332211]]
- Tag: DT_INIT_ARRAY
Value: 0x1000
- Tag: DT_FINI_ARRAY
@@ -214,7 +214,7 @@ Sections:
- Tag: DT_RUNPATH
Value: 0x7
- Tag: DT_FLAGS
- Value: 0xffffffffffffffff
+ Value: [[FLAGS=0xffffffffffffffff]]
- Tag: DT_PREINIT_ARRAY
Value: 0x1000
- Tag: DT_PREINIT_ARRAYSZ
@@ -252,7 +252,7 @@ Sections:
- Tag: DT_RELCOUNT
Value: 0x0
- Tag: DT_FLAGS_1
- Value: 0xffffffffffffffff
+ Value: [[FLAGS=0xffffffffffffffff]]
- Tag: DT_VERSYM
Value: 0x1000
- Tag: DT_VERDEF
@@ -272,13 +272,13 @@ Sections:
## Show behaviour for unknown values in special and un-marked ranges.
## An arbitrary unknown value outside of the special ranges.
- Tag: 0x12345678
- Value: 0x8765432187654321
+ Value: [[UNKNOWN=0x8765432187654321]]
## An OS specific tag.
- Tag: 0x6abcdef0
- Value: 0x9988776655443322
+ Value: [[OSSPEC=0x9988776655443322]]
## A processor specific tags.
- Tag: 0x76543210
- Value: 0x5555666677778888
+ Value: [[PROCSPEC=0x5555666677778888]]
- Tag: DT_NULL
Value: 0x0
ProgramHeaders:
@@ -292,7 +292,9 @@ ProgramHeaders:
Sections:
- Section: .dynamic
-# RUN: yaml2obj %s --docnum=2 -o %t2
+# RUN: yaml2obj %s --docnum=1 -DBITS=32 -DSYMBOLIC=0x12345678 -DDEBUG=0xfedcba09 \
+# RUN: -DTEXTREL=0x11223344 -DBINDNOW=0x88776655 -DFLAGS=0xffffffff \
+# RUN: -DUNKNOWN=0x87654321 -DOSSPEC=0x99887766 -DPROCSPEC=0x55556666 -o %t2
# RUN: llvm-readobj --dynamic-table %t2 \
# RUN: | FileCheck %s --check-prefix=LLVM32 --strict-whitespace --match-full-lines
# RUN: llvm-readobj -d %t2 | FileCheck %s --check-prefix=LLVM32 --strict-whitespace --match-full-lines
@@ -429,169 +431,16 @@ ProgramHeaders:
# GNU32-NEXT: 0x76543210 (<unknown:>0x76543210) 0x55556666
# GNU32-NEXT: 0x00000000 (NULL) 0x0
---- !ELF
-FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_386
-Sections:
- - Name: .dynstr
- Type: SHT_STRTAB
- Address: 0x1000
- Size: 0x10
- Content: "004400550066007700"
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Address: 0x1010
- Entries:
- - Tag: DT_NEEDED
- Value: 0x1
- - Tag: DT_PLTRELSZ
- Value: 0x10
- - Tag: DT_PLTGOT
- Value: 0x1000
- - Tag: DT_HASH
- Value: 0x1000
- - Tag: DT_STRTAB
- Value: 0x1000
- - Tag: DT_SYMTAB
- Value: 0x1000
- - Tag: DT_RELA
- Value: 0x1000
- - Tag: DT_RELASZ
- Value: 0x10
- - Tag: DT_RELAENT
- Value: 0x789
- - Tag: DT_STRSZ
- Value: 0x10
- - Tag: DT_SYMENT
- Value: 0x987
- - Tag: DT_INIT
- Value: 0x1000
- - Tag: DT_FINI
- Value: 0x1000
- - Tag: DT_SONAME
- Value: 0x3
- - Tag: DT_RPATH
- Value: 0x5
- - Tag: DT_SYMBOLIC
- Value: 0x12345678
- - Tag: DT_REL
- Value: 0x1000
- - Tag: DT_RELSZ
- Value: 0x10
- - Tag: DT_RELENT
- Value: 0x123
- - Tag: DT_PLTREL
- Value: 0x7
- - Tag: DT_DEBUG
- Value: 0xfedcba09
- - Tag: DT_TEXTREL
- Value: 0x11223344
- - Tag: DT_JMPREL
- Value: 0x1000
- - Tag: DT_BIND_NOW
- Value: 0x88776655
- - Tag: DT_INIT_ARRAY
- Value: 0x1000
- - Tag: DT_FINI_ARRAY
- Value: 0x1000
- - Tag: DT_INIT_ARRAYSZ
- Value: 0x10
- - Tag: DT_FINI_ARRAYSZ
- Value: 0x10
- - Tag: DT_RUNPATH
- Value: 0x7
- - Tag: DT_FLAGS
- Value: 0xffffffff
- - Tag: DT_PREINIT_ARRAY
- Value: 0x1000
- - Tag: DT_PREINIT_ARRAYSZ
- Value: 0x10
- - Tag: DT_SYMTAB_SHNDX
- Value: 0x1000
- - Tag: DT_RELRSZ
- Value: 0x10
- - Tag: DT_RELR
- Value: 0x1000
- - Tag: DT_RELRENT
- Value: 0x4321
- - Tag: DT_ANDROID_REL
- Value: 0x1000
- - Tag: DT_ANDROID_RELSZ
- Value: 0x10
- - Tag: DT_ANDROID_RELA
- Value: 0x1000
- - Tag: DT_ANDROID_RELASZ
- Value: 0x10
- - Tag: DT_ANDROID_RELR
- Value: 0x1000
- - Tag: DT_ANDROID_RELRSZ
- Value: 0x10
- - Tag: DT_ANDROID_RELRENT
- Value: 0x1234
- - Tag: DT_GNU_HASH
- Value: 0x1000
- - Tag: DT_TLSDESC_PLT
- Value: 0x1000
- - Tag: DT_TLSDESC_GOT
- Value: 0x1000
- - Tag: DT_RELACOUNT
- Value: 0x0
- - Tag: DT_RELCOUNT
- Value: 0x0
- - Tag: DT_FLAGS_1
- Value: 0xffffffff
- - Tag: DT_VERSYM
- Value: 0x1000
- - Tag: DT_VERDEF
- Value: 0x1000
- - Tag: DT_VERDEFNUM
- Value: 0x0
- - Tag: DT_VERNEED
- Value: 0x1000
- - Tag: DT_VERNEEDNUM
- Value: 0x0
- - Tag: DT_AUXILIARY
- Value: 0x1
- - Tag: DT_USED
- Value: 0x3
- - Tag: DT_FILTER
- Value: 0x3
-## Show behaviour for unknown values in special and un-marked ranges.
-## An arbitrary unknown value outside of the special ranges.
- - Tag: 0x12345678
- Value: 0x87654321
-## An OS specific tag.
- - Tag: 0x6abcdef0
- Value: 0x99887766
-## A processor specific tags.
- - Tag: 0x76543210
- Value: 0x55556666
- - Tag: DT_NULL
- Value: 0x0
-ProgramHeaders:
- - Type: PT_LOAD
- VAddr: 0x1000
- Sections:
- - Section: .dynstr
- - Section: .dynamic
- - Type: PT_DYNAMIC
- VAddr: 0x1010
- Sections:
- - Section: .dynamic
-
## When printing the "Name/Value" column we want to have the minimal possible indentation.
## Use an arbitrary dynamic tag to demonstrate this.
-# RUN: yaml2obj %s --docnum=3 -o %t3
+# RUN: yaml2obj %s --docnum=2 -o %t3
# RUN: llvm-readobj --dynamic-table %t3 \
# RUN: | FileCheck %s --check-prefix=INDENT-LLVM-64 --strict-whitespace
# RUN: llvm-readelf --dynamic-table %t3 \
# RUN: | FileCheck %s --check-prefix=INDENT-GNU-64 --strict-whitespace
-# RUN: yaml2obj %s --docnum=4 -o %t4
+# RUN: yaml2obj %s --docnum=2 -DBITS=32 -o %t4
# RUN: llvm-readobj --dynamic-table %t4 \
# RUN: | FileCheck %s --check-prefix=INDENT-LLVM-32 --strict-whitespace
# RUN: llvm-readelf --dynamic-table %t4 \
@@ -611,25 +460,10 @@ ProgramHeaders:
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-Sections:
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Entries:
- - Tag: DT_NEEDED
- Value: 0x1
- - Tag: DT_NULL
- Value: 0x0
-
---- !ELF
-FileHeader:
- Class: ELFCLASS32
+ Class: ELFCLASS[[BITS=64]]
Data: ELFDATA2LSB
Type: ET_EXEC
- Machine: EM_386
+ Machine: EM_NONE
Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
diff --git a/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test b/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
index 95e9e2636f8b..61c02ee412e8 100644
--- a/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
+++ b/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
@@ -1,24 +1,26 @@
## This is a test to test how the ABI version field (EI_ABIVERSION) of an ELF file header is dumped.
## EI_ABIVERSION is set to zero.
-# RUN: yaml2obj %s --docnum=1 -o %t.abiver.zero
+# RUN: yaml2obj %s -DABIVERSION=0 -o %t.abiver.zero
# RUN: llvm-readobj --file-headers %t.abiver.zero | FileCheck %s --match-full-lines --check-prefix=ABIVER-ZERO-LLVM
# RUN: llvm-readelf --file-headers %t.abiver.zero | FileCheck %s --match-full-lines --check-prefix=ABIVER-ZERO-GNU
-## EI_ABIVERSION is set to an arbitrary number.
-# RUN: yaml2obj %s --docnum=2 -o %t.abiver.any
-# RUN: llvm-readobj --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-LLVM
-# RUN: llvm-readelf --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-GNU
-## EI_ABIVERSION is set to the maximum possible value.
-# RUN: yaml2obj %s --docnum=3 -o %t.abiver.max
-# RUN: llvm-readobj --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-LLVM
-# RUN: llvm-readelf --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-GNU
# ABIVER-ZERO-LLVM: ABIVersion: 0
# ABIVER-ZERO-GNU: ABI Version: 0
+## EI_ABIVERSION is set to an arbitrary number.
+# RUN: yaml2obj %s -DABIVERSION=52 -o %t.abiver.any
+# RUN: llvm-readobj --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-LLVM
+# RUN: llvm-readelf --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-GNU
+
# ABIVER-ANY-LLVM: ABIVersion: 52
# ABIVER-ANY-GNU: ABI Version: 52
+## EI_ABIVERSION is set to the maximum possible value.
+# RUN: yaml2obj %s -DABIVERSION=255 -o %t.abiver.max
+# RUN: llvm-readobj --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-LLVM
+# RUN: llvm-readelf --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-GNU
+
# ABIVER-MAX-LLVM: ABIVersion: 255
# ABIVER-MAX-GNU: ABI Version: 255
@@ -28,20 +30,4 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_X86_64
- ABIVersion: 0x0
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- ABIVersion: 0x34
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- ABIVersion: 0xFF
+ ABIVersion: [[ABIVERSION]]
diff --git a/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test b/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
index c169d29ff5ba..642976775808 100644
--- a/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
+++ b/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
@@ -1,7 +1,7 @@
## This is a test to test how the OS/ABI identification field (EI_OSABI) of an ELF file header is dumped.
## EI_OSABI is set to ELFOSABI_NONE.
-# RUN: yaml2obj %s --docnum=1 -o %t.osabi.none
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_NONE -o %t.osabi.none
# RUN: llvm-readobj --file-headers %t.osabi.none | FileCheck %s --match-full-lines --check-prefix=OSABI-NONE-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.none | FileCheck %s --match-full-lines --check-prefix=OSABI-NONE-GNU
@@ -14,292 +14,148 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_X86_64
- OSABI: ELFOSABI_NONE
+ OSABI: [[OSABI]]
## EI_OSABI is set to ELFOSABI_HPUX.
-# RUN: yaml2obj %s --docnum=2 -o %t.osabi.hpux
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_HPUX -o %t.osabi.hpux
# RUN: llvm-readobj --file-headers %t.osabi.hpux | FileCheck %s --match-full-lines --check-prefix=OSABI-HPUX-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.hpux | FileCheck %s --match-full-lines --check-prefix=OSABI-HPUX-GNU
# OSABI-HPUX-LLVM: OS/ABI: HPUX (0x1)
# OSABI-HPUX-GNU: OS/ABI: UNIX - HP-UX
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_HPUX
-
## EI_OSABI is set to ELFOSABI_NETBSD.
-# RUN: yaml2obj %s --docnum=3 -o %t.osabi.netbsd
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_NETBSD -o %t.osabi.netbsd
# RUN: llvm-readobj --file-headers %t.osabi.netbsd | FileCheck %s --match-full-lines --check-prefix=OSABI-NETBSD-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.netbsd | FileCheck %s --match-full-lines --check-prefix=OSABI-NETBSD-GNU
# OSABI-NETBSD-LLVM: OS/ABI: NetBSD (0x2)
# OSABI-NETBSD-GNU: OS/ABI: UNIX - NetBSD
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_NETBSD
-
## EI_OSABI is set to ELFOSABI_LINUX.
-# RUN: yaml2obj %s --docnum=4 -o %t.osabi.linux
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_LINUX -o %t.osabi.linux
# RUN: llvm-readobj --file-headers %t.osabi.linux | FileCheck %s --match-full-lines --check-prefix=OSABI-LINUX-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.linux | FileCheck %s --match-full-lines --check-prefix=OSABI-LINUX-GNU
# OSABI-LINUX-LLVM: OS/ABI: GNU/Linux (0x3)
# OSABI-LINUX-GNU: OS/ABI: UNIX - GNU
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_LINUX
-
## EI_OSABI is set to ELFOSABI_HURD.
-# RUN: yaml2obj %s --docnum=5 -o %t.osabi.hurd
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_HURD -o %t.osabi.hurd
# RUN: llvm-readobj --file-headers %t.osabi.hurd | FileCheck %s --match-full-lines --check-prefix=OSABI-HURD-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.hurd | FileCheck %s --match-full-lines --check-prefix=OSABI-HURD-GNU
# OSABI-HURD-LLVM: OS/ABI: GNU/Hurd (0x4)
# OSABI-HURD-GNU: OS/ABI: GNU/Hurd
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_HURD
-
## EI_OSABI is set to ELFOSABI_SOLARIS.
-# RUN: yaml2obj %s --docnum=6 -o %t.osabi.solaris
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_SOLARIS -o %t.osabi.solaris
# RUN: llvm-readobj --file-headers %t.osabi.solaris | FileCheck %s --match-full-lines --check-prefix=OSABI-SOLARIS-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.solaris | FileCheck %s --match-full-lines --check-prefix=OSABI-SOLARIS-GNU
# OSABI-SOLARIS-LLVM: OS/ABI: Solaris (0x6)
# OSABI-SOLARIS-GNU: OS/ABI: UNIX - Solaris
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_SOLARIS
-
## EI_OSABI is set to ELFOSABI_AIX.
-# RUN: yaml2obj %s --docnum=7 -o %t.osabi.aix
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_AIX -o %t.osabi.aix
# RUN: llvm-readobj --file-headers %t.osabi.aix | FileCheck %s --match-full-lines --check-prefix=OSABI-AIX-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.aix | FileCheck %s --match-full-lines --check-prefix=OSABI-AIX-GNU
# OSABI-AIX-LLVM: OS/ABI: AIX (0x7)
# OSABI-AIX-GNU: OS/ABI: UNIX - AIX
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_AIX
-
## EI_OSABI is set to ELFOSABI_IRIX.
-# RUN: yaml2obj %s --docnum=8 -o %t.osabi.irix
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_IRIX -o %t.osabi.irix
# RUN: llvm-readobj --file-headers %t.osabi.irix | FileCheck %s --match-full-lines --check-prefix=OSABI-IRIX-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.irix | FileCheck %s --match-full-lines --check-prefix=OSABI-IRIX-GNU
# OSABI-IRIX-LLVM: OS/ABI: IRIX (0x8)
# OSABI-IRIX-GNU: OS/ABI: UNIX - IRIX
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_IRIX
-
## EI_OSABI is set to ELFOSABI_FREEBSD.
-# RUN: yaml2obj %s --docnum=9 -o %t.osabi.freebsd
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_FREEBSD -o %t.osabi.freebsd
# RUN: llvm-readobj --file-headers %t.osabi.freebsd | FileCheck %s --match-full-lines --check-prefix=OSABI-FREEBSD-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.freebsd | FileCheck %s --match-full-lines --check-prefix=OSABI-FREEBSD-GNU
# OSABI-FREEBSD-LLVM: OS/ABI: FreeBSD (0x9)
# OSABI-FREEBSD-GNU: OS/ABI: UNIX - FreeBSD
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_FREEBSD
-
## EI_OSABI is set to ELFOSABI_TRU64.
-# RUN: yaml2obj %s --docnum=10 -o %t.osabi.tru64
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_TRU64 -o %t.osabi.tru64
# RUN: llvm-readobj --file-headers %t.osabi.tru64 | FileCheck %s --match-full-lines --check-prefix=OSABI-TRU64-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.tru64 | FileCheck %s --match-full-lines --check-prefix=OSABI-TRU64-GNU
# OSABI-TRU64-LLVM: OS/ABI: TRU64 (0xA)
# OSABI-TRU64-GNU: OS/ABI: UNIX - TRU64
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_TRU64
-
## EI_OSABI is set to ELFOSABI_MODESTO.
-# RUN: yaml2obj %s --docnum=11 -o %t.osabi.modesto
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_MODESTO -o %t.osabi.modesto
# RUN: llvm-readobj --file-headers %t.osabi.modesto | FileCheck %s --match-full-lines --check-prefix=OSABI-MODESTO-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.modesto | FileCheck %s --match-full-lines --check-prefix=OSABI-MODESTO-GNU
# OSABI-MODESTO-LLVM: OS/ABI: Modesto (0xB)
# OSABI-MODESTO-GNU: OS/ABI: Novell - Modesto
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_MODESTO
-
## EI_OSABI is set to ELFOSABI_OPENBSD.
-# RUN: yaml2obj %s --docnum=12 -o %t.osabi.openbsd
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_OPENBSD -o %t.osabi.openbsd
# RUN: llvm-readobj --file-headers %t.osabi.openbsd | FileCheck %s --match-full-lines --check-prefix=OSABI-OPENBSD-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.openbsd | FileCheck %s --match-full-lines --check-prefix=OSABI-OPENBSD-GNU
# OSABI-OPENBSD-LLVM: OS/ABI: OpenBSD (0xC)
# OSABI-OPENBSD-GNU: OS/ABI: UNIX - OpenBSD
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_OPENBSD
-
## EI_OSABI is set to ELFOSABI_OPENVMS.
-# RUN: yaml2obj %s --docnum=13 -o %t.osabi.openvms
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_OPENVMS -o %t.osabi.openvms
# RUN: llvm-readobj --file-headers %t.osabi.openvms | FileCheck %s --match-full-lines --check-prefix=OSABI-OPENVMS-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.openvms | FileCheck %s --match-full-lines --check-prefix=OSABI-OPENVMS-GNU
# OSABI-OPENVMS-LLVM: OS/ABI: OpenVMS (0xD)
# OSABI-OPENVMS-GNU: OS/ABI: VMS - OpenVMS
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_OPENVMS
-
## EI_OSABI is set to ELFOSABI_NSK.
-# RUN: yaml2obj %s --docnum=14 -o %t.osabi.nsk
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_NSK -o %t.osabi.nsk
# RUN: llvm-readobj --file-headers %t.osabi.nsk | FileCheck %s --match-full-lines --check-prefix=OSABI-NSK-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.nsk | FileCheck %s --match-full-lines --check-prefix=OSABI-NSK-GNU
# OSABI-NSK-LLVM: OS/ABI: NSK (0xE)
# OSABI-NSK-GNU: OS/ABI: HP - Non-Stop Kernel
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_NSK
-
## EI_OSABI is set to ELFOSABI_AROS.
-# RUN: yaml2obj %s --docnum=15 -o %t.osabi.aros
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_AROS -o %t.osabi.aros
# RUN: llvm-readobj --file-headers %t.osabi.aros | FileCheck %s --match-full-lines --check-prefix=OSABI-AROS-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.aros | FileCheck %s --match-full-lines --check-prefix=OSABI-AROS-GNU
# OSABI-AROS-LLVM: OS/ABI: AROS (0xF)
# OSABI-AROS-GNU: OS/ABI: AROS
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_AROS
-
## EI_OSABI is set to ELFOSABI_FENIXOS.
-# RUN: yaml2obj %s --docnum=16 -o %t.osabi.fenixos
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_FENIXOS -o %t.osabi.fenixos
# RUN: llvm-readobj --file-headers %t.osabi.fenixos | FileCheck %s --match-full-lines --check-prefix=OSABI-FENIXOS-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.fenixos | FileCheck %s --match-full-lines --check-prefix=OSABI-FENIXOS-GNU
# OSABI-FENIXOS-LLVM: OS/ABI: FenixOS (0x10)
# OSABI-FENIXOS-GNU: OS/ABI: FenixOS
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_FENIXOS
-
## EI_OSABI is set to ELFOSABI_CLOUDABI.
-# RUN: yaml2obj %s --docnum=17 -o %t.osabi.cloudabi
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_CLOUDABI -o %t.osabi.cloudabi
# RUN: llvm-readobj --file-headers %t.osabi.cloudabi | FileCheck %s --match-full-lines --check-prefix=OSABI-CLOUDABI-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.cloudabi | FileCheck %s --match-full-lines --check-prefix=OSABI-CLOUDABI-GNU
# OSABI-CLOUDABI-LLVM: OS/ABI: CloudABI (0x11)
# OSABI-CLOUDABI-GNU: OS/ABI: CloudABI
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_CLOUDABI
-
## EI_OSABI is set to ELFOSABI_STANDALONE.
-# RUN: yaml2obj %s --docnum=18 -o %t.osabi.standalone
+# RUN: yaml2obj %s -DOSABI=ELFOSABI_STANDALONE -o %t.osabi.standalone
# RUN: llvm-readobj --file-headers %t.osabi.standalone | FileCheck %s --match-full-lines --check-prefix=OSABI-STANDALONE-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.standalone | FileCheck %s --match-full-lines --check-prefix=OSABI-STANDALONE-GNU
# OSABI-STANDALONE-LLVM: OS/ABI: Standalone (0xFF)
# OSABI-STANDALONE-GNU: OS/ABI: Standalone App
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: ELFOSABI_STANDALONE
-
## EI_OSABI is set to an arbitrary value which is not supported by llvm-readobj/llvm-readelf.
-# RUN: yaml2obj %s --docnum=19 -o %t.osabi.unknown
+# RUN: yaml2obj %s -DOSABI=0xFE -o %t.osabi.unknown
# RUN: llvm-readobj --file-headers %t.osabi.unknown | FileCheck %s --match-full-lines --check-prefix=OSABI-UNKNOWN-LLVM
# RUN: llvm-readelf --file-headers %t.osabi.unknown | FileCheck %s --match-full-lines --check-prefix=OSABI-UNKNOWN-GNU
# OSABI-UNKNOWN-LLVM: OS/ABI: 0xFE
# OSABI-UNKNOWN-GNU: OS/ABI: fe
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
- OSABI: 0xFE
diff --git a/llvm/test/tools/llvm-readobj/ELF/file-types.test b/llvm/test/tools/llvm-readobj/ELF/file-types.test
index 0765cff1040c..0a8e6050df81 100644
--- a/llvm/test/tools/llvm-readobj/ELF/file-types.test
+++ b/llvm/test/tools/llvm-readobj/ELF/file-types.test
@@ -1,6 +1,6 @@
## Check llvm-readobj and llvm-readelf can dump files of the
diff erent ELF types.
-# RUN: yaml2obj %s --docnum=1 -o %t1
+# RUN: yaml2obj %s -DTYPE=ET_NONE -o %t1
# RUN: llvm-readobj -h %t1 | FileCheck %s --match-full-lines --check-prefix LLVM-NONE
# RUN: llvm-readelf -h %t1 | FileCheck %s --match-full-lines --check-prefix GNU-NONE
@@ -14,10 +14,10 @@
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
- Type: ET_NONE
+ Type: [[TYPE]]
Machine: EM_X86_64
-# RUN: yaml2obj %s --docnum=2 -o %t2
+# RUN: yaml2obj %s -DTYPE=ET_REL -o %t2
# RUN: llvm-readobj -h %t2 | FileCheck %s --match-full-lines --check-prefix LLVM-REL
# RUN: llvm-readelf -h %t2 | FileCheck %s --match-full-lines --check-prefix GNU-REL
@@ -27,14 +27,7 @@ FileHeader:
# GNU-REL: ELF Header:
# GNU-REL: Type: REL (Relocatable file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=3 -o %t3
+# RUN: yaml2obj %s -DTYPE=ET_EXEC -o %t3
# RUN: llvm-readobj -h %t3 | FileCheck %s --match-full-lines --check-prefix LLVM-EXEC
# RUN: llvm-readelf -h %t3 | FileCheck %s --match-full-lines --check-prefix GNU-EXEC
@@ -44,14 +37,7 @@ FileHeader:
# GNU-EXEC: ELF Header:
# GNU-EXEC: Type: EXEC (Executable file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=4 -o %t4
+# RUN: yaml2obj %s -DTYPE=ET_DYN -o %t4
# RUN: llvm-readobj -h %t4 | FileCheck %s --match-full-lines --check-prefix LLVM-DYN
# RUN: llvm-readelf -h %t4 | FileCheck %s --match-full-lines --check-prefix GNU-DYN
@@ -61,14 +47,7 @@ FileHeader:
# GNU-DYN: ELF Header:
# GNU-DYN: Type: DYN (Shared object file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=5 -o %t5
+# RUN: yaml2obj %s -DTYPE=ET_CORE -o %t5
# RUN: llvm-readobj -h %t5 | FileCheck %s --match-full-lines --check-prefix LLVM-CORE
# RUN: llvm-readelf -h %t5 | FileCheck %s --match-full-lines --check-prefix GNU-CORE
@@ -78,14 +57,7 @@ FileHeader:
# GNU-CORE: ELF Header:
# GNU-CORE: Type: CORE (Core file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_CORE
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=6 -o %t6
+# RUN: yaml2obj %s -DTYPE=0xfe00 -o %t6
# RUN: llvm-readobj -h %t6 | FileCheck %s --match-full-lines --check-prefix LLVM-LOOS
# RUN: llvm-readelf -h %t6 | FileCheck %s --match-full-lines --check-prefix GNU-LOOS
@@ -95,14 +67,7 @@ FileHeader:
# GNU-LOOS: ELF Header:
# GNU-LOOS: Type: fe00
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xfe00
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=7 -o %t7
+# RUN: yaml2obj %s -DTYPE=0xfeff -o %t7
# RUN: llvm-readobj -h %t7 | FileCheck %s --match-full-lines --check-prefix LLVM-HIOS
# RUN: llvm-readelf -h %t7 | FileCheck %s --match-full-lines --check-prefix GNU-HIOS
@@ -112,14 +77,7 @@ FileHeader:
# GNU-HIOS: ELF Header:
# GNU-HIOS: Type: feff
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xfeff
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=8 -o %t8
+# RUN: yaml2obj %s -DTYPE=0xff00 -o %t8
# RUN: llvm-readobj -h %t8 | FileCheck %s --match-full-lines --check-prefix LLVM-LOPROC
# RUN: llvm-readelf -h %t8 | FileCheck %s --match-full-lines --check-prefix GNU-LOPROC
@@ -129,14 +87,7 @@ FileHeader:
# GNU-LOPROC: ELF Header:
# GNU-LOPROC: Type: ff00
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xff00
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=9 -o %t9
+# RUN: yaml2obj %s -DTYPE=0xffff -o %t9
# RUN: llvm-readobj -h %t9 | FileCheck %s --match-full-lines --check-prefix LLVM-HIPROC
# RUN: llvm-readelf -h %t9 | FileCheck %s --match-full-lines --check-prefix GNU-HIPROC
@@ -145,10 +96,3 @@ FileHeader:
# GNU-HIPROC: ELF Header:
# GNU-HIPROC: Type: ffff
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xffff
- Machine: EM_X86_64
diff --git a/llvm/test/tools/llvm-readobj/ELF/gnu-notes.test b/llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
index 5af6a56e6895..011e5db47412 100644
--- a/llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
+++ b/llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
@@ -87,8 +87,8 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
- EPhEntSize: [[PHENTSIZE=56]]
- EShNum: [[SHNUM=6]]
+ EPhEntSize: [[PHENTSIZE=<none>]]
+ EShNum: [[SHNUM=<none>]]
Sections:
- Name: .note.ABI-tag
Type: SHT_NOTE
diff --git a/llvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test b/llvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test
index 1b5bb2572b11..a767c95069cc 100644
--- a/llvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test
+++ b/llvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test
@@ -109,7 +109,6 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: [[MACHINE]]
- Entry: 0x12345678
Sections:
- Name: .foo.begin
Type: SHT_PROGBITS
@@ -374,8 +373,8 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
- EPhEntSize: [[PHENTSIZE=56]]
- EPhOff: [[PHOFF=64]]
+ EPhEntSize: [[PHENTSIZE=<none>]]
+ EPhOff: [[PHOFF=<none>]]
Sections:
- Name: .foo
Type: SHT_PROGBITS
diff --git a/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test b/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test
index fb508529fe5b..86fe989861ce 100644
--- a/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test
+++ b/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test
@@ -1,4 +1,4 @@
-## Test the behaviour of --section-mapping when there are no section headers in an object.
+## Test the behaviour of --section-mapping when there are no program headers in an object.
# RUN: yaml2obj %s -o %t
# RUN: llvm-readelf --section-mapping %t | FileCheck %s --strict-whitespace --match-full-lines
diff --git a/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test b/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test
index e1c7181f1558..2172ba2d58c6 100644
--- a/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test
+++ b/llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test
@@ -18,7 +18,7 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
- EPhEntSize: [[PHENTSIZE=56]]
+ EPhEntSize: [[PHENTSIZE=<none>]]
Sections:
- Name: .foo.begin
Type: SHT_PROGBITS
diff --git a/llvm/test/tools/llvm-readobj/ELF/gnu-sections.test b/llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
index 532ca22d3195..ab6ea13c3a66 100644
--- a/llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
+++ b/llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
@@ -1,23 +1,24 @@
## In this test case we check how we print section and flag descriptions for
diff erent targets.
-## EM_386 is a target that does not have any processor and OS specific flags,
+## EM_NONE is a target that does not have any processor and OS specific flags,
## we use it to show how the default flag key is printed.
-# RUN: yaml2obj --docnum=1 %s -o %t-i386.o
-# RUN: llvm-readelf -S %t-i386.o | FileCheck %s --check-prefix=ELF32 --strict-whitespace --match-full-lines
+# RUN: yaml2obj -DBITS=32 %s -o %t-default.o
+# RUN: llvm-readelf -S %t-default.o | FileCheck %s --check-prefix=ELF32 --strict-whitespace --match-full-lines
-# ELF32:There are 8 section headers, starting at offset 0x90:
+# ELF32:There are 9 section headers, starting at offset 0x9c:
# ELF32-EMPTY:
# ELF32-NEXT:Section Headers:
# ELF32-NEXT: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
# ELF32-NEXT: [ 0] NULL 00000000 000000 000000 00 0 0 0
# ELF32-NEXT: [ 1] .text PROGBITS 00000000 000034 000001 00 AX 0 0 4
-# ELF32-NEXT: [ 2] .rel.text REL 00000000 000038 000000 08 5 1 4
-# ELF32-NEXT: [ 3] .data PROGBITS 00000000 000038 000000 00 WA 0 0 4
-# ELF32-NEXT: [ 4] .bss NOBITS 00000000 000038 000000 00 WA 0 0 4
-# ELF32-NEXT: [ 5] .symtab SYMTAB 00000000 000038 000020 10 6 2 8
-# ELF32-NEXT: [ 6] .strtab STRTAB 00000000 000058 000007 00 0 0 1
-# ELF32-NEXT: [ 7] .shstrtab STRTAB 00000000 00005f 000030 00 0 0 1
+# ELF32-NEXT: [ 2] .rel.text REL 00000000 000038 000000 08 6 1 4
+# ELF32-NEXT: [ 3] .rela.text RELA 00000000 000038 000000 18 6 1 8
+# ELF32-NEXT: [ 4] .data PROGBITS 00000000 000038 000000 00 WA 0 0 4
+# ELF32-NEXT: [ 5] .bss NOBITS 00000000 000038 000000 00 WA 0 0 4
+# ELF32-NEXT: [ 6] .symtab SYMTAB 00000000 000038 000020 10 7 2 8
+# ELF32-NEXT: [ 7] .strtab STRTAB 00000000 000058 000007 00 0 0 1
+# ELF32-NEXT: [ 8] .shstrtab STRTAB 00000000 00005f 00003b 00 0 0 1
# ELF32-NEXT:Key to Flags:
# ELF32-NEXT: W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
# ELF32-NEXT: L (link order), O (extra OS processing required), G (group), T (TLS),
@@ -26,11 +27,11 @@
--- !ELF
FileHeader:
- Class: ELFCLASS32
+ Class: ELFCLASS[[BITS=64]]
Data: ELFDATA2LSB
OSABI: ELFOSABI_GNU
Type: ET_REL
- Machine: EM_386
+ Machine: [[MACHINE=EM_NONE]]
Sections:
- Name: .text
Type: SHT_PROGBITS
@@ -44,6 +45,13 @@ Sections:
EntSize: 0x0000000000000008
Info: .text
Relocations:
+ - Name: .rela.text
+ Type: SHT_RELA
+ Link: .symtab
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000018
+ Info: .text
+ Relocations:
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
@@ -61,7 +69,7 @@ Symbols:
## For an EM_X86_64 target we print "l" for the SHF_X86_64_LARGE section flag.
## Check we mention it in the flag key.
-# RUN: yaml2obj --docnum=2 %s -o %t-x64.o
+# RUN: yaml2obj -DMACHINE=EM_X86_64 %s -o %t-x64.o
# RUN: llvm-readelf -S %t-x64.o | FileCheck %s --check-prefix=ELF64 --strict-whitespace --match-full-lines
## Check that --wide is the same as -W and ignored and also
@@ -72,62 +80,29 @@ Symbols:
# RUN: | FileCheck %s --check-prefix=ELF64
# RUN: llvm-readelf -W -S %t-x64.o | FileCheck %s --check-prefix=ELF64
-# ELF64:There are 8 section headers, starting at offset 0xb0:
+# ELF64:There are 9 section headers, starting at offset 0xc0:
# ELF64-EMPTY:
# ELF64-NEXT:Section Headers:
# ELF64-NEXT: [Nr] Name Type Address Off Size ES Flg Lk Inf Al
# ELF64-NEXT: [ 0] NULL 0000000000000000 000000 000000 00 0 0 0
# ELF64-NEXT: [ 1] .text PROGBITS 0000000000000000 000040 000001 00 AX 0 0 4
-# ELF64-NEXT: [ 2] .rela.text RELA 0000000000000000 000048 000000 18 5 1 8
-# ELF64-NEXT: [ 3] .data PROGBITS 0000000000000000 000048 000000 00 WA 0 0 4
-# ELF64-NEXT: [ 4] .bss NOBITS 0000000000000000 000048 000000 00 WA 0 0 4
-# ELF64-NEXT: [ 5] .symtab SYMTAB 0000000000000000 000048 000030 18 6 2 8
-# ELF64-NEXT: [ 6] .strtab STRTAB 0000000000000000 000078 000007 00 0 0 1
-# ELF64-NEXT: [ 7] .shstrtab STRTAB 0000000000000000 00007f 000031 00 0 0 1
+# ELF64-NEXT: [ 2] .rel.text REL 0000000000000000 000044 000000 08 6 1 4
+# ELF64-NEXT: [ 3] .rela.text RELA 0000000000000000 000048 000000 18 6 1 8
+# ELF64-NEXT: [ 4] .data PROGBITS 0000000000000000 000048 000000 00 WA 0 0 4
+# ELF64-NEXT: [ 5] .bss NOBITS 0000000000000000 000048 000000 00 WA 0 0 4
+# ELF64-NEXT: [ 6] .symtab SYMTAB 0000000000000000 000048 000030 18 7 2 8
+# ELF64-NEXT: [ 7] .strtab STRTAB 0000000000000000 000078 000007 00 0 0 1
+# ELF64-NEXT: [ 8] .shstrtab STRTAB 0000000000000000 00007f 00003b 00 0 0 1
# ELF64-NEXT:Key to Flags:
# ELF64-NEXT: W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
# ELF64-NEXT: L (link order), O (extra OS processing required), G (group), T (TLS),
# ELF64-NEXT: C (compressed), x (unknown), o (OS specific), E (exclude),
# ELF64-NEXT: l (large), p (processor specific)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- OSABI: ELFOSABI_GNU
- Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- AddressAlign: 0x0000000000000004
- Content: 00
- - Name: .rela.text
- Type: SHT_RELA
- Link: .symtab
- AddressAlign: 0x0000000000000008
- EntSize: 0x0000000000000018
- Info: .text
- Relocations:
- - Name: .data
- Type: SHT_PROGBITS
- Flags: [ SHF_WRITE, SHF_ALLOC ]
- AddressAlign: 0x0000000000000004
- Content: ''
- - Name: .bss
- Type: SHT_NOBITS
- Flags: [ SHF_WRITE, SHF_ALLOC ]
- AddressAlign: 0x0000000000000004
-Symbols:
- - Name: .text
- Type: STT_SECTION
- Section: .text
-
## For an EM_ARM target we print "y" for the SHF_ARM_PURECODE section flag.
## Check we mention it in the flag key.
-# RUN: yaml2obj --docnum=3 %s -o %t-arm.o
+# RUN: yaml2obj -DMACHINE=EM_ARM %s -o %t-arm.o
# RUN: llvm-readelf -S %t-arm.o | FileCheck %s --check-prefix=ARM --strict-whitespace --match-full-lines
# ARM:Key to Flags:
@@ -135,11 +110,3 @@ Symbols:
# ARM-NEXT: L (link order), O (extra OS processing required), G (group), T (TLS),
# ARM-NEXT: C (compressed), x (unknown), o (OS specific), E (exclude),
# ARM-NEXT: y (purecode), p (processor specific)
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_ARM
-Sections: []
diff --git a/llvm/test/tools/llvm-readobj/ELF/hidden-versym.test b/llvm/test/tools/llvm-readobj/ELF/hidden-versym.test
index 871bab1767f2..01a092425f81 100644
--- a/llvm/test/tools/llvm-readobj/ELF/hidden-versym.test
+++ b/llvm/test/tools/llvm-readobj/ELF/hidden-versym.test
@@ -7,36 +7,30 @@
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
- Entry: 0x0000000000201000
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
Sections:
- - Name: .gnu.version
- Type: SHT_GNU_versym
- Flags: [ SHF_ALLOC ]
- Address: 0x0000000000200210
- Link: .dynsym
- AddressAlign: 0x0000000000000002
- EntSize: 0x0000000000000002
- Entries: [ 0, 0x8003 ]
- - Name: .gnu.version_r
- Type: SHT_GNU_verneed
- Flags: [ SHF_ALLOC ]
- Address: 0x0000000000200250
- Link: .dynstr
- AddressAlign: 0x0000000000000004
- Info: 0x0000000000000001
+ - Name: .gnu.version
+ Type: SHT_GNU_versym
+ Flags: [ SHF_ALLOC ]
+ Address: 0x0000000000200210
+ Link: .dynsym
+ Entries: [ 0, 0x8003 ]
+ - Name: .gnu.version_r
+ Type: SHT_GNU_verneed
+ Flags: [ SHF_ALLOC ]
+ Link: .dynstr
+ Info: 0x0000000000000001
Dependencies:
- - Version: 1
- File: somefile
+ - Version: 1
+ File: somefile
Entries:
- - Name: hiddensym
- Hash: 1234
- Flags: 0
- Other: 3
+ - Name: hiddensym
+ Hash: 1234
+ Flags: 0
+ Other: 3
DynamicSymbols:
- - Name: h
- Binding: STB_GLOBAL
-...
+ - Name: h
+ Binding: STB_GLOBAL
diff --git a/llvm/test/tools/llvm-readobj/ELF/merged.test b/llvm/test/tools/llvm-readobj/ELF/merged.test
index a6f567cda6cf..454699b8a434 100644
--- a/llvm/test/tools/llvm-readobj/ELF/merged.test
+++ b/llvm/test/tools/llvm-readobj/ELF/merged.test
@@ -1,13 +1,13 @@
-# Check merged args produce identical output to when not merged.
-RUN: llvm-readelf -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 > %t.merged
-RUN: llvm-readelf -a -e -W -h -S -r -n -u -d -l -V -g -I -s %p/Inputs/trivial.obj.elf-i386 > %t.not-merged
-RUN: cmp %t.merged %t.not-merged
-RUN: FileCheck %s --input-file %t.merged
+## Check merged args produce identical output to when not merged.
+# RUN: llvm-readelf -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 > %t.merged
+# RUN: llvm-readelf -a -e -W -h -S -r -n -u -d -l -V -g -I -s %p/Inputs/trivial.obj.elf-i386 > %t.not-merged
+# RUN: cmp %t.merged %t.not-merged
+# RUN: FileCheck %s --input-file %t.merged
-# llvm-readobj does not support merged args, because it also supports some old
-# flags (-st, -sd, etc.), and it would be confusing if only some merged args
-# were supported.
-RUN: not llvm-readobj -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 2>&1 | FileCheck %s --check-prefix=UNKNOWN
+## llvm-readobj does not support merged args, because it also supports some old
+## flags (-st, -sd, etc.), and it would be confusing if only some merged args
+## were supported.
+# RUN: not llvm-readobj -aeWhSrnudlVgIs %p/Inputs/trivial.obj.elf-i386 2>&1 | FileCheck %s --check-prefix=UNKNOWN
-CHECK-NOT: Unknown command line argument
-UNKNOWN: for the --section-headers option: may only occur zero or one times!
+# CHECK-NOT: Unknown command line argument
+# UNKNOWN: for the --section-headers option: may only occur zero or one times!
diff --git a/llvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test b/llvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test
index 881c63b79a4f..c8f81ccf9d28 100644
--- a/llvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test
+++ b/llvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test
@@ -3,43 +3,43 @@
# address as the .got. got-over.exe.elf-mips has zero-sized .data
# section at the same offset .got section.
-RUN: llvm-readobj -A %p/Inputs/got-over.exe.elf-mips | FileCheck %s
+# RUN: llvm-readobj -A %p/Inputs/got-over.exe.elf-mips | FileCheck %s
-GOT-OBJ: Cannot find PLTGOT dynamic table tag.
+# GOT-OBJ: Cannot find PLTGOT dynamic table tag.
-CHECK: Primary GOT {
-CHECK-NEXT: Canonical gp value: 0x418270
-CHECK-NEXT: Reserved entries [
-CHECK-NEXT: Entry {
-CHECK-NEXT: Address: 0x410280
-CHECK-NEXT: Access: -32752
-CHECK-NEXT: Initial: 0x0
-CHECK-NEXT: Purpose: Lazy resolver
-CHECK-NEXT: }
-CHECK-NEXT: Entry {
-CHECK-NEXT: Address: 0x410284
-CHECK-NEXT: Access: -32748
-CHECK-NEXT: Initial: 0x80000000
-CHECK-NEXT: Purpose: Module pointer (GNU extension)
-CHECK-NEXT: }
-CHECK-NEXT: ]
-CHECK-NEXT: Local entries [
-CHECK-NEXT: Entry {
-CHECK-NEXT: Address: 0x410288
-CHECK-NEXT: Access: -32744
-CHECK-NEXT: Initial: 0x4001B8
-CHECK-NEXT: }
-CHECK-NEXT: ]
-CHECK-NEXT: Global entries [
-CHECK-NEXT: Entry {
-CHECK-NEXT: Address: 0x41028C
-CHECK-NEXT: Access: -32740
-CHECK-NEXT: Initial: 0x0
-CHECK-NEXT: Value: 0x0
-CHECK-NEXT: Type: None
-CHECK-NEXT: Section: Undefined
-CHECK-NEXT: Name: _foo
-CHECK-NEXT: }
-CHECK-NEXT: ]
-CHECK-NEXT: Number of TLS and multi-GOT entries: 0
-CHECK-NEXT: }
+# CHECK: Primary GOT {
+# CHECK-NEXT: Canonical gp value: 0x418270
+# CHECK-NEXT: Reserved entries [
+# CHECK-NEXT: Entry {
+# CHECK-NEXT: Address: 0x410280
+# CHECK-NEXT: Access: -32752
+# CHECK-NEXT: Initial: 0x0
+# CHECK-NEXT: Purpose: Lazy resolver
+# CHECK-NEXT: }
+# CHECK-NEXT: Entry {
+# CHECK-NEXT: Address: 0x410284
+# CHECK-NEXT: Access: -32748
+# CHECK-NEXT: Initial: 0x80000000
+# CHECK-NEXT: Purpose: Module pointer (GNU extension)
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
+# CHECK-NEXT: Local entries [
+# CHECK-NEXT: Entry {
+# CHECK-NEXT: Address: 0x410288
+# CHECK-NEXT: Access: -32744
+# CHECK-NEXT: Initial: 0x4001B8
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
+# CHECK-NEXT: Global entries [
+# CHECK-NEXT: Entry {
+# CHECK-NEXT: Address: 0x41028C
+# CHECK-NEXT: Access: -32740
+# CHECK-NEXT: Initial: 0x0
+# CHECK-NEXT: Value: 0x0
+# CHECK-NEXT: Type: None
+# CHECK-NEXT: Section: Undefined
+# CHECK-NEXT: Name: _foo
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
+# CHECK-NEXT: Number of TLS and multi-GOT entries: 0
+# CHECK-NEXT: }
diff --git a/llvm/test/tools/llvm-readobj/ELF/mips-options.test b/llvm/test/tools/llvm-readobj/ELF/mips-options.test
index d44b3c0096a3..0d0ec7e55401 100644
--- a/llvm/test/tools/llvm-readobj/ELF/mips-options.test
+++ b/llvm/test/tools/llvm-readobj/ELF/mips-options.test
@@ -1,22 +1,22 @@
-# Check DT_MIPS_OPTIONS .dynamic section tag reading
+## Check DT_MIPS_OPTIONS .dynamic section tag reading
-RUN: llvm-readobj --dynamic-table %p/Inputs/mips-options.elf-mips64el | \
-RUN: FileCheck %s
+# RUN: llvm-readobj --dynamic-table %p/Inputs/mips-options.elf-mips64el | \
+# RUN: FileCheck %s
-CHECK: DynamicSection [ (14 entries)
-CHECK-NEXT: Tag Type Name/Value
-CHECK-NEXT: 0x0000000000000004 HASH 0x158
-CHECK-NEXT: 0x0000000000000005 STRTAB 0x1C0
-CHECK-NEXT: 0x0000000000000006 SYMTAB 0x178
-CHECK-NEXT: 0x000000000000000A STRSZ 7 (bytes)
-CHECK-NEXT: 0x000000000000000B SYMENT 24 (bytes)
-CHECK-NEXT: 0x0000000070000001 MIPS_RLD_VERSION 1
-CHECK-NEXT: 0x0000000070000005 MIPS_FLAGS NOTPOT
-CHECK-NEXT: 0x0000000070000006 MIPS_BASE_ADDRESS 0x0
-CHECK-NEXT: 0x000000007000000A MIPS_LOCAL_GOTNO 2
-CHECK-NEXT: 0x0000000070000011 MIPS_SYMTABNO 3
-CHECK-NEXT: 0x0000000070000013 MIPS_GOTSYM 0x3
-CHECK-NEXT: 0x0000000000000003 PLTGOT 0x2000
-CHECK-NEXT: 0x0000000070000029 MIPS_OPTIONS 0x1000
-CHECK-NEXT: 0x0000000000000000 NULL 0x0
-CHECK-NEXT: ]
+# CHECK: DynamicSection [ (14 entries)
+# CHECK-NEXT: Tag Type Name/Value
+# CHECK-NEXT: 0x0000000000000004 HASH 0x158
+# CHECK-NEXT: 0x0000000000000005 STRTAB 0x1C0
+# CHECK-NEXT: 0x0000000000000006 SYMTAB 0x178
+# CHECK-NEXT: 0x000000000000000A STRSZ 7 (bytes)
+# CHECK-NEXT: 0x000000000000000B SYMENT 24 (bytes)
+# CHECK-NEXT: 0x0000000070000001 MIPS_RLD_VERSION 1
+# CHECK-NEXT: 0x0000000070000005 MIPS_FLAGS NOTPOT
+# CHECK-NEXT: 0x0000000070000006 MIPS_BASE_ADDRESS 0x0
+# CHECK-NEXT: 0x000000007000000A MIPS_LOCAL_GOTNO 2
+# CHECK-NEXT: 0x0000000070000011 MIPS_SYMTABNO 3
+# CHECK-NEXT: 0x0000000070000013 MIPS_GOTSYM 0x3
+# CHECK-NEXT: 0x0000000000000003 PLTGOT 0x2000
+# CHECK-NEXT: 0x0000000070000029 MIPS_OPTIONS 0x1000
+# CHECK-NEXT: 0x0000000000000000 NULL 0x0
+# CHECK-NEXT: ]
diff --git a/llvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test b/llvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test
index 05e541120a65..00198bbfe757 100644
--- a/llvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test
+++ b/llvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test
@@ -1,24 +1,24 @@
-# Check DT_MIPS_RLD_MAP_REL .dynamic section tag reading
+## Check DT_MIPS_RLD_MAP_REL .dynamic section tag reading
-RUN: llvm-readobj --dynamic-table %p/Inputs/mips-rld-map-rel.elf-mipsel | \
-RUN: FileCheck %s
+# RUN: llvm-readobj --dynamic-table %p/Inputs/mips-rld-map-rel.elf-mipsel | \
+# RUN: FileCheck %s
-CHECK: DynamicSection [ (16 entries)
-CHECK-NEXT: Tag Type Name/Value
-CHECK-NEXT: 0x00000004 HASH 0x220
-CHECK-NEXT: 0x00000005 STRTAB 0x2FC
-CHECK-NEXT: 0x00000006 SYMTAB 0x25C
-CHECK-NEXT: 0x0000000A STRSZ 72 (bytes)
-CHECK-NEXT: 0x0000000B SYMENT 16 (bytes)
-CHECK-NEXT: 0x70000035 MIPS_RLD_MAP_REL 0x101E0
-CHECK-NEXT: 0x00000015 DEBUG 0x0
-CHECK-NEXT: 0x00000003 PLTGOT 0x10390
-CHECK-NEXT: 0x70000001 MIPS_RLD_VERSION 1
-CHECK-NEXT: 0x70000005 MIPS_FLAGS NOTPOT
-CHECK-NEXT: 0x70000006 MIPS_BASE_ADDRESS 0x0
-CHECK-NEXT: 0x7000000A MIPS_LOCAL_GOTNO 2
-CHECK-NEXT: 0x70000011 MIPS_SYMTABNO 10
-CHECK-NEXT: 0x70000012 MIPS_UNREFEXTNO 15
-CHECK-NEXT: 0x70000013 MIPS_GOTSYM 0xA
-CHECK-NEXT: 0x00000000 NULL 0x0
-CHECK-NEXT: ]
+# CHECK: DynamicSection [ (16 entries)
+# CHECK-NEXT: Tag Type Name/Value
+# CHECK-NEXT: 0x00000004 HASH 0x220
+# CHECK-NEXT: 0x00000005 STRTAB 0x2FC
+# CHECK-NEXT: 0x00000006 SYMTAB 0x25C
+# CHECK-NEXT: 0x0000000A STRSZ 72 (bytes)
+# CHECK-NEXT: 0x0000000B SYMENT 16 (bytes)
+# CHECK-NEXT: 0x70000035 MIPS_RLD_MAP_REL 0x101E0
+# CHECK-NEXT: 0x00000015 DEBUG 0x0
+# CHECK-NEXT: 0x00000003 PLTGOT 0x10390
+# CHECK-NEXT: 0x70000001 MIPS_RLD_VERSION 1
+# CHECK-NEXT: 0x70000005 MIPS_FLAGS NOTPOT
+# CHECK-NEXT: 0x70000006 MIPS_BASE_ADDRESS 0x0
+# CHECK-NEXT: 0x7000000A MIPS_LOCAL_GOTNO 2
+# CHECK-NEXT: 0x70000011 MIPS_SYMTABNO 10
+# CHECK-NEXT: 0x70000012 MIPS_UNREFEXTNO 15
+# CHECK-NEXT: 0x70000013 MIPS_GOTSYM 0xA
+# CHECK-NEXT: 0x00000000 NULL 0x0
+# CHECK-NEXT: ]
diff --git a/llvm/test/tools/llvm-readobj/ELF/needed-libs.test b/llvm/test/tools/llvm-readobj/ELF/needed-libs.test
index 1c5f4978f093..99bdca29a516 100644
--- a/llvm/test/tools/llvm-readobj/ELF/needed-libs.test
+++ b/llvm/test/tools/llvm-readobj/ELF/needed-libs.test
@@ -46,7 +46,7 @@ Sections:
- Tag: DT_NEEDED
Value: 0x1111111
- Tag: DT_STRSZ
- Value: 0xD
+ Value: [[SIZE=0xD]]
- Tag: DT_NULL
Value: 0x0
ProgramHeaders:
diff --git a/llvm/test/tools/llvm-readobj/ELF/no-action.test b/llvm/test/tools/llvm-readobj/ELF/no-action.test
index b18c90043854..acfcb285f58b 100644
--- a/llvm/test/tools/llvm-readobj/ELF/no-action.test
+++ b/llvm/test/tools/llvm-readobj/ELF/no-action.test
@@ -2,7 +2,7 @@
## Check the behavior on ET_EXEC input.
-# RUN: yaml2obj --docnum=1 %s -o %t.exe
+# RUN: yaml2obj -DTYPE=ET_EXEC %s -o %t.exe
# RUN: llvm-readobj %t.exe | FileCheck %s -DFILE=%t.exe --check-prefix LLVM
# RUN: llvm-readelf %t.exe | FileCheck %s -DFILE=%t.exe --check-prefix GNU --allow-empty
@@ -20,31 +20,17 @@
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
- Type: ET_EXEC
+ Type: [[TYPE]]
Machine: EM_X86_64
## Check the behavior on ET_REL input.
-# RUN: yaml2obj --docnum=2 %s -o %t.o
+# RUN: yaml2obj -DTYPE=ET_REL %s -o %t.o
# RUN: llvm-readobj %t.o | FileCheck %s -DFILE=%t.o --check-prefix LLVM
# RUN: llvm-readelf %t.o | FileCheck %s -DFILE=%t.o --check-prefix GNU --allow-empty
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-
## Check the behavior on ET_DYN input.
-# RUN: yaml2obj --docnum=3 %s -o %t.so
+# RUN: yaml2obj -DTYPE=ET_DYN %s -o %t.so
# RUN: llvm-readobj %t.so | FileCheck %s -DFILE=%t.so --check-prefix LLVM
# RUN: llvm-readelf %t.so | FileCheck %s -DFILE=%t.so --check-prefix GNU --allow-empty
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
diff --git a/llvm/test/tools/llvm-readobj/ELF/packed-relocs.test b/llvm/test/tools/llvm-readobj/ELF/packed-relocs.test
index 330426c710ec..e3664d44ccaa 100644
--- a/llvm/test/tools/llvm-readobj/ELF/packed-relocs.test
+++ b/llvm/test/tools/llvm-readobj/ELF/packed-relocs.test
@@ -27,25 +27,21 @@
# elf-packed-relocs1.s
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
- Entry: 0x0000000000001000
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_DYN
+ Machine: EM_X86_64
Sections:
- - Name: .rela.dyn
- Type: SHT_ANDROID_RELA
- Flags: [ SHF_ALLOC ]
- Address: 0x00000000000001C8
- Link: .symtab
- AddressAlign: 0x0000000000000001
- Content: 41505332088020020108800280010202088180808010818080802002080181808080100802818080802004020C7E048180808010088180808020
+ - Name: .rela.dyn
+ Type: SHT_ANDROID_RELA
+ Flags: [ SHF_ALLOC ]
+ Link: .symtab
+ Content: 41505332088020020108800280010202088180808010818080802002080181808080100802818080802004020C7E048180808010088180808020
Symbols:
- - Name: sym1
- Binding: STB_GLOBAL
- - Name: sym2
- Binding: STB_GLOBAL
-...
+ - Name: sym1
+ Binding: STB_GLOBAL
+ - Name: sym2
+ Binding: STB_GLOBAL
# RUN: yaml2obj --docnum=2 %s | llvm-readobj --relocations - | FileCheck --check-prefix=LLVM2 %s
# LLVM2: Section (1) .rel.dyn {
@@ -77,25 +73,21 @@ Symbols:
# elf-packed-relocs2.s
--- !ELF
FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_386
- Entry: 0x0000000000001000
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_DYN
+ Machine: EM_386
Sections:
- - Name: .rel.dyn
- Type: SHT_ANDROID_REL
- Flags: [ SHF_ALLOC ]
- Address: 0x00000000000001C8
- Link: .symtab
- AddressAlign: 0x0000000000000001
- Content: 415053320A80200202088102830408037C08
+ - Name: .rel.dyn
+ Type: SHT_ANDROID_REL
+ Flags: [ SHF_ALLOC ]
+ Link: .symtab
+ Content: 415053320A80200202088102830408037C08
Symbols:
- - Name: sym1
- Binding: STB_GLOBAL
- - Name: sym2
- Binding: STB_GLOBAL
-...
+ - Name: sym1
+ Binding: STB_GLOBAL
+ - Name: sym2
+ Binding: STB_GLOBAL
# RUN: yaml2obj --docnum=3 %s | llvm-readobj --relocations - | FileCheck --check-prefix=LLVM3 %s
#
@@ -120,22 +112,18 @@ Symbols:
# elf-packed-relocs3.s
--- !ELF
FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
- Entry: 0x0000000000001000
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_DYN
+ Machine: EM_X86_64
Sections:
- - Name: .rela.dyn
- Type: SHT_ANDROID_RELA
- Flags: [ SHF_ALLOC ]
- Address: 0x00000000000001C8
- Link: .symtab
- AddressAlign: 0x0000000000000001
- Content: 415053320680200208800208008001080802008001818080801008818080802002080881808080100008818080802008
+ - Name: .rela.dyn
+ Type: SHT_ANDROID_RELA
+ Flags: [ SHF_ALLOC ]
+ Link: .symtab
+ Content: 415053320680200208800208008001080802008001818080801008818080802002080881808080100008818080802008
Symbols:
- - Name: sym1
- Binding: STB_GLOBAL
- - Name: sym2
- Binding: STB_GLOBAL
-...
+ - Name: sym1
+ Binding: STB_GLOBAL
+ - Name: sym2
+ Binding: STB_GLOBAL
diff --git a/llvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test b/llvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test
index f47341115b5c..31e230433412 100644
--- a/llvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test
+++ b/llvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test
@@ -2,6 +2,8 @@
# RUN: llvm-readelf --program-headers %t | FileCheck %s --check-prefix=GNU
# RUN: llvm-readobj --program-headers %t | FileCheck %s --check-prefix=LLVM
+## TODO: merge this test with program-headers.test.
+
# GNU: {{ }}GNU_PROPERTY{{ }}
# LLVM: ProgramHeader {
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test b/llvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test
index f6314cce99f3..933d53f31221 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test
@@ -21,88 +21,69 @@
# LLVM-NEXT: ]
--- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
- Entry: 0x0000000000000000
-Sections:
- - Name: .gnu.version
- Type: SHT_GNU_versym
- Flags: [ SHF_ALLOC ]
- Link: .dynsym
- AddressAlign: 0x0000000000000002
- EntSize: 0x0000000000000002
- Entries: [ 0, 2, 3, 4, 2 ]
- - Name: .gnu.version_r
- Type: SHT_GNU_verneed
- Flags: [ SHF_ALLOC ]
- Link: .dynstr
- AddressAlign: 0x0000000000000004
- Info: 0x0000000000000002
- Dependencies:
- - Version: 1
- File: verneed1.so.0
- Entries:
- - Name: v2
- Hash: 1938
- Flags: 0
- Other: 3
- - Name: v3
- Hash: 1939
- Flags: 0
- Other: 2
- - Version: 1
- File: verneed2.so.0
- Entries:
- - Name: v1
- Hash: 1937
- Flags: 0
- Other: 4
- - Name: .rela.plt
- Type: SHT_RELA
- Flags: [ SHF_ALLOC ]
- Info: 0
- Link: .dynsym
- AddressAlign: 0x0000000000000008
- EntSize: 0x0000000000000018
- Relocations:
- - Offset: 0x0000000000013018
- Symbol: f1
- Type: R_X86_64_JUMP_SLOT
- - Offset: 0x0000000000013020
- Symbol: f2
- Type: R_X86_64_JUMP_SLOT
- - Offset: 0x0000000000013028
- Symbol: g1
- Type: R_X86_64_JUMP_SLOT
- - Offset: 0x0000000000013040
- Symbol: _Z2f1v
- Type: R_X86_64_JUMP_SLOT
- - Offset: 0x0000000000013058
- Symbol: f3
- Type: R_X86_64_JUMP_SLOT
-Symbols:
- - Name: f1
- Binding: STB_GLOBAL
- - Name: f2
- Binding: STB_GLOBAL
- - Name: g1
- Binding: STB_GLOBAL
- - Name: _Z2f1v
- Binding: STB_GLOBAL
- - Name: f3
- Binding: STB_GLOBAL
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: .gnu.version
+ Type: SHT_GNU_versym
+ Flags: [ SHF_ALLOC ]
+ Entries: [ 0, 2, 3, 4, 2 ]
+ - Name: .gnu.version_r
+ Type: SHT_GNU_verneed
+ Flags: [ SHF_ALLOC ]
+ Link: .dynstr
+ AddressAlign: 0x0000000000000004
+ Info: 0x0000000000000002
+ Dependencies:
+ - Version: 1
+ File: verneed1.so.0
+ Entries:
+ - Name: v2
+ Hash: 1938
+ Flags: 0
+ Other: 3
+ - Name: v3
+ Hash: 1939
+ Flags: 0
+ Other: 2
+ - Version: 1
+ File: verneed2.so.0
+ Entries:
+ - Name: v1
+ Hash: 1937
+ Flags: 0
+ Other: 4
+ - Name: .rela.plt
+ Type: SHT_RELA
+ Flags: [ SHF_ALLOC ]
+ Link: .dynsym
+ Relocations:
+ - Offset: 0x0000000000013018
+ Symbol: f1
+ Type: R_X86_64_JUMP_SLOT
+ - Offset: 0x0000000000013020
+ Symbol: f2
+ Type: R_X86_64_JUMP_SLOT
+ - Offset: 0x0000000000013028
+ Symbol: g1
+ Type: R_X86_64_JUMP_SLOT
+ - Offset: 0x0000000000013040
+ Symbol: _Z2f1v
+ Type: R_X86_64_JUMP_SLOT
+ - Offset: 0x0000000000013058
+ Symbol: f3
+ Type: R_X86_64_JUMP_SLOT
DynamicSymbols:
- - Name: f1
- Binding: STB_GLOBAL
- - Name: f2
- Binding: STB_GLOBAL
- - Name: g1
- Binding: STB_GLOBAL
- - Name: _Z2f1v
- Binding: STB_GLOBAL
- - Name: f3
- Binding: STB_GLOBAL
-...
+ - Name: f1
+ Binding: STB_GLOBAL
+ - Name: f2
+ Binding: STB_GLOBAL
+ - Name: g1
+ Binding: STB_GLOBAL
+ - Name: _Z2f1v
+ Binding: STB_GLOBAL
+ - Name: f3
+ Binding: STB_GLOBAL
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test
index 2882d32fd92a..729128281104 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test
@@ -136,14 +136,8 @@ FileHeader:
Type: ET_REL
Machine: EM_AARCH64
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rela.text
- Type: SHT_RELA
- AddressAlign: 0x0000000000000008
- EntSize: 0x0000000000000018
- Info: .text
+ - Name: .rela.text
+ Type: SHT_RELA
Relocations:
- Type: R_AARCH64_NONE
- Type: R_AARCH64_ABS64
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test
index f72d7cdd8913..96d6cfed4df3 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test
@@ -142,16 +142,9 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_ARM
- Flags: [ EF_ARM_EABI_VER5 ]
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rel.text
- Type: SHT_REL
- AddressAlign: 0x0000000000000004
- EntSize: 0x0000000000000008
- Info: .text
+ - Name: .rel.text
+ Type: SHT_REL
Relocations:
- Type: R_ARM_NONE
- Type: R_ARM_PC24
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test
index 8606f3fa8cba..fb16185ecf48 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test
@@ -47,7 +47,7 @@
# LLVM: Type: R_386_IRELATIVE (42)
# LLVM: Type: R_386_GOT32X (43)
-# GNU: Relocation section '.rel.text' at offset 0x38 contains 41 entries:
+# GNU: Relocation section '.rel.text' at offset 0x34 contains 41 entries:
# GNU-NEXT: Offset Info Type Sym. Value Symbol's Name
# GNU-NEXT: 00000002 00000100 R_386_NONE 00000000 foo
# GNU-NEXT: 00000008 00000101 R_386_32 00000000 foo
@@ -93,21 +93,14 @@
--- !ELF
FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- OSABI: ELFOSABI_GNU
- Type: ET_REL
- Machine: EM_386
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_386
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rel.text
- Type: SHT_REL
- Link: .symtab
- AddressAlign: 0x0000000000000004
- EntSize: 0x0000000000000008
- Info: .text
+ - Name: .rel.text
+ Type: SHT_REL
+ Link: .symtab
Relocations:
- Offset: 0x0000000000000002
Type: R_386_NONE
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test
index 6bbe1a839b50..123ab1f5bd0e 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test
@@ -19,16 +19,8 @@ FileHeader:
Type: ET_REL
Machine: EM_LANAI
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- AddressAlign: 0x0000000000000004
- Content: 00
- - Name: .rela.text
- Type: SHT_RELA
- AddressAlign: 0x0000000000000004
- EntSize: 0x000000000000000C
- Info: .text
+ - Name: .rela.text
+ Type: SHT_RELA
Relocations:
- Type: R_LANAI_NONE
- Type: R_LANAI_21
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test
index 59793c512b35..3566d42a5d73 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test
@@ -61,18 +61,11 @@
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2MSB
- OSABI: ELFOSABI_GNU
Type: ET_REL
Machine: EM_MIPS
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rel.text
- Type: SHT_REL
- AddressAlign: 0x0000000000000004
- EntSize: 0x0000000000000008
- Info: .text
+ - Name: .rel.text
+ Type: SHT_REL
Relocations:
- Type: R_MIPS_NONE
- Type: R_MIPS_16
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test
index fc72edd29d2c..d96c922bd833 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test
@@ -61,18 +61,11 @@
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
- OSABI: ELFOSABI_GNU
Type: ET_REL
Machine: EM_MIPS
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rela.text
- Type: SHT_RELA
- AddressAlign: 0x0000000000000008
- EntSize: 0x0000000000000018
- Info: .text
+ - Name: .rela.text
+ Type: SHT_RELA
Relocations:
- Type: R_MIPS_NONE
- Type: R_MIPS_16
diff --git a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test
index ad4e06fc955a..0a48325d9c9d 100644
--- a/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test
+++ b/llvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test
@@ -46,7 +46,7 @@
# LLVM: Type: R_X86_64_GOTPCRELX (41)
# LLVM: Type: R_X86_64_REX_GOTPCRELX (42)
-# GNU: Relocation section '.rela.text' at offset 0x48 contains 40 entries:
+# GNU: Relocation section '.rela.text' at offset 0x40 contains 40 entries:
# GNU-NEXT: Offset Info Type Symbol's Value Symbol's Name + Addend
# GNU-NEXT: 0000000000000003 0000000100000000 R_X86_64_NONE 0000000000000000 foo + 0
# GNU-NEXT: 000000000000000a 0000000100000001 R_X86_64_64 0000000000000000 foo + 0
@@ -93,19 +93,11 @@
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
- OSABI: ELFOSABI_GNU
Type: ET_REL
Machine: EM_X86_64
Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Content: 00
- - Name: .rela.text
- Type: SHT_RELA
- Link: .symtab
- AddressAlign: 0x0000000000000008
- EntSize: 0x0000000000000018
- Info: .text
+ - Name: .rela.text
+ Type: SHT_RELA
Relocations:
- Offset: 0x0000000000000003
Type: R_X86_64_NONE
diff --git a/llvm/test/tools/llvm-readobj/ELF/sections.test b/llvm/test/tools/llvm-readobj/ELF/sections.test
index d2865c041798..1b087f710f18 100644
--- a/llvm/test/tools/llvm-readobj/ELF/sections.test
+++ b/llvm/test/tools/llvm-readobj/ELF/sections.test
@@ -1,9 +1,9 @@
## Check how llvm-readobj prints sections with --sections.
## We test the --sections flag for llvm-readelf in the gnu-sections.test.
-# RUN: yaml2obj --docnum=1 %s -o %t64
+# RUN: yaml2obj %s -o %t64
# RUN: llvm-readobj --sections %t64 | FileCheck %s --check-prefixes=ELF,ELF64
-# RUN: yaml2obj --docnum=2 %s -o %t32
+# RUN: yaml2obj -DBITS=32 %s -o %t32
# RUN: llvm-readobj --sections %t32 | FileCheck %s --check-prefixes=ELF,ELF32
## Check flag aliases produce identical output.
@@ -89,27 +89,10 @@
--- !ELF
FileHeader:
- Class: ELFCLASS64
+ Class: ELFCLASS[[BITS=64]]
Data: ELFDATA2LSB
Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .foo
- Type: SHT_PROGBITS
- Info: 1
- Address: 0x2
- Size: 0x3
- Flags: [ SHF_WRITE, SHF_ALLOC ]
- Link: 4
- AddressAlign: 5
- EntSize: 6
-
---- !ELF
-FileHeader:
- Class: ELFCLASS32
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_386
+ Machine: EM_NONE
Sections:
- Name: .foo
Type: SHT_PROGBITS
diff --git a/llvm/test/tools/llvm-readobj/ELF/types.test b/llvm/test/tools/llvm-readobj/ELF/types.test
index aecbdeacde98..a9413959e314 100644
--- a/llvm/test/tools/llvm-readobj/ELF/types.test
+++ b/llvm/test/tools/llvm-readobj/ELF/types.test
@@ -1,5 +1,5 @@
# Show that llvm-readobj can handle all standard ELF types.
-# RUN: yaml2obj %s --docnum=1 -o %t.none
+# RUN: yaml2obj %s -DTYPE=ET_NONE -o %t.none
# RUN: llvm-readobj --file-headers %t.none | FileCheck %s --check-prefix=LLVM-NONE
# RUN: llvm-readelf --file-headers %t.none | FileCheck %s --check-prefix=GNU-NONE
@@ -10,107 +10,57 @@
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
- Type: ET_NONE
+ Type: [[TYPE]]
Machine: EM_X86_64
-# RUN: yaml2obj %s --docnum=2 -o %t.rel
+# RUN: yaml2obj %s -DTYPE=ET_REL -o %t.rel
# RUN: llvm-readobj --file-headers %t.rel | FileCheck %s --check-prefix=LLVM-REL
# RUN: llvm-readelf --file-headers %t.rel | FileCheck %s --check-prefix=GNU-REL
# LLVM-REL: Type: Relocatable (0x1)
# GNU-REL: Type: REL (Relocatable file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-
-
-# RUN: yaml2obj %s --docnum=3 -o %t.exec
+# RUN: yaml2obj %s -DTYPE=ET_EXEC -o %t.exec
# RUN: llvm-readobj --file-headers %t.exec | FileCheck %s --check-prefix=LLVM-EXEC
# RUN: llvm-readelf --file-headers %t.exec | FileCheck %s --check-prefix=GNU-EXEC
# LLVM-EXEC: Type: Executable (0x2)
# GNU-EXEC: Type: EXEC (Executable file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=4 -o %t.so
+# RUN: yaml2obj %s -DTYPE=ET_DYN -o %t.so
# RUN: llvm-readobj --file-headers %t.so | FileCheck %s --check-prefix=LLVM-SO
# RUN: llvm-readelf --file-headers %t.so | FileCheck %s --check-prefix=GNU-SO
# LLVM-SO: Type: SharedObject (0x3)
# GNU-SO: Type: DYN (Shared object file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-
-# RUN: yaml2obj %s --docnum=5 -o %t.core
+# RUN: yaml2obj %s -DTYPE=ET_CORE -o %t.core
# RUN: llvm-readobj --file-headers %t.core | FileCheck %s --check-prefix=LLVM-CORE
# RUN: llvm-readelf --file-headers %t.core | FileCheck %s --check-prefix=GNU-CORE
# LLVM-CORE: Type: Core (0x4)
# GNU-CORE: Type: CORE (Core file)
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_CORE
- Machine: EM_X86_64
-
# Show that llvm-readobj can handle an unknown ELF type.
-# RUN: yaml2obj %s --docnum=6 -o %t.unknown
+# RUN: yaml2obj %s -DTYPE=0x42 -o %t.unknown
# RUN: llvm-readobj --file-headers %t.unknown | FileCheck %s --check-prefix=LLVM-UNKNOWN
# RUN: llvm-readelf --file-headers %t.unknown | FileCheck %s --check-prefix=GNU-UNKNOWN
# LLVM-UNKNOWN: Type: 0x42
# GNU-UNKNOWN: Type: 42
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0x42
- Machine: EM_X86_64
-
# Show that llvm-readobj can handle an unknown OS-specific ELF type.
-# RUN: yaml2obj %s --docnum=7 -o %t.os
+# RUN: yaml2obj %s -DTYPE=0xfe00 -o %t.os
# RUN: llvm-readobj --file-headers %t.os | FileCheck %s --check-prefix=LLVM-OS
# RUN: llvm-readelf --file-headers %t.os | FileCheck %s --check-prefix=GNU-OS
# LLVM-OS: Type: 0xFE00
# GNU-OS: Type: fe00
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xfe00
- Machine: EM_X86_64
-
# Show that llvm-readobj can handle an unknown machine-specific ELF type.
-# RUN: yaml2obj %s --docnum=8 -o %t.proc
+# RUN: yaml2obj %s -DTYPE=0xff00 -o %t.proc
# RUN: llvm-readobj --file-headers %t.proc | FileCheck %s --check-prefix=LLVM-PROC
# RUN: llvm-readelf --file-headers %t.proc | FileCheck %s --check-prefix=GNU-PROC
# LLVM-PROC: Type: 0xFF00
# GNU-PROC: Type: ff00
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: 0xff00
- Machine: EM_X86_64
diff --git a/llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test b/llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test
index 991ed8b9cb5f..f568bfe5ed00 100644
--- a/llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test
+++ b/llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test
@@ -2,7 +2,7 @@
## Check that we report a warning when sh_link references a non-existent section.
-# RUN: yaml2obj %s --docnum=1 -o %t1
+# RUN: yaml2obj %s --docnum=1 -DLINK=0xFF -o %t1
# RUN: llvm-readobj -V %t1 2>&1 | FileCheck %s --check-prefix=INVALID-LINK-LLVM --implicit-check-not="warning:" -DFILE=%t1
# RUN: llvm-readelf -V %t1 2>&1 | FileCheck %s --check-prefix=INVALID-LINK-GNU --implicit-check-not="warning:" -DFILE=%t1
@@ -21,34 +21,21 @@ FileHeader:
Sections:
- Name: .gnu.version_d
Type: SHT_GNU_verdef
- Link: 0xFF
+ Link: [[LINK]]
Info: 0x0
Entries: []
## Check that we report a warning when the sh_link field of a SHT_GNU_verdef section references a non-string table section.
-# RUN: yaml2obj %s --docnum=2 -o %t2
+# RUN: yaml2obj %s --docnum=1 -DLINK=0x0 -o %t2
# RUN: llvm-readobj -V %t2 2>&1 | FileCheck %s --check-prefix=INVALID-STRING-TABLE -DFILE=%t2
# RUN: llvm-readelf -V %t2 2>&1 | FileCheck %s --check-prefix=INVALID-STRING-TABLE -DFILE=%t2
# INVALID-STRING-TABLE: warning: '[[FILE]]': invalid string table linked to SHT_GNU_verdef section with index 1: invalid sh_type for string table section [index 0]: expected SHT_STRTAB, but got SHT_NULL
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_DYN
- Machine: EM_X86_64
-Sections:
- - Name: .gnu.version_d
- Type: SHT_GNU_verdef
- Link: 0x0
- Info: 0x0
- Entries: []
-
## Check that we report a warning when we can't read the content of the SHT_GNU_verdef section.
-# RUN: yaml2obj %s --docnum=3 -o %t3
+# RUN: yaml2obj %s --docnum=2 -o %t3
# RUN: llvm-readobj -V %t3 2>&1 | FileCheck %s --check-prefix=INVALID-DATA -DFILE=%t3
# RUN: llvm-readelf -V %t3 2>&1 | FileCheck %s --check-prefix=INVALID-DATA -DFILE=%t3
@@ -73,7 +60,7 @@ DynamicSymbols:
## Check that we report a warning when a SHT_GNU_verdef section contains a version definition
## that goes past the end of the section.
-# RUN: yaml2obj %s --docnum=4 -o %t4
+# RUN: yaml2obj %s --docnum=3 -o %t4
# RUN: llvm-readobj -V %t4 2>&1 | FileCheck %s --check-prefix=DEF-PAST-END -DFILE=%t4
# RUN: llvm-readelf -V %t4 2>&1 | FileCheck %s --check-prefix=DEF-PAST-END -DFILE=%t4
@@ -104,7 +91,7 @@ DynamicSymbols:
## Check that we report a warning when a SHT_GNU_verdef section contains a version definition
## that refers to an auxiliary entry that goes past the end of the section.
-# RUN: yaml2obj %s --docnum=5 -o %t5
+# RUN: yaml2obj %s --docnum=4 -o %t5
# RUN: llvm-readobj -V %t5 2>&1 | FileCheck %s --check-prefix=AUX-PAST-END -DFILE=%t5
# RUN: llvm-readelf -V %t5 2>&1 | FileCheck %s --check-prefix=AUX-PAST-END -DFILE=%t5
@@ -135,7 +122,7 @@ DynamicSymbols:
## Check that we can dump a SHT_GNU_verdef section properly even if it contains version names strings
## that overrun the linked string table.
-# RUN: yaml2obj %s --docnum=6 -o %t6
+# RUN: yaml2obj %s --docnum=5 -o %t6
# RUN: llvm-readobj -V %t6 2>&1 | FileCheck %s --check-prefix=PAST-STRTAB-END-LLVM --implicit-check-not="warning:" -DFILE=%t6
# RUN: llvm-readelf -V %t6 2>&1 | FileCheck %s --check-prefix=PAST-STRTAB-END-GNU --implicit-check-not="warning:" -DFILE=%t6
@@ -180,7 +167,7 @@ DynamicSymbols:
## Check we report a warning when a version definition is not correctly aligned in memory.
-# RUN: yaml2obj %s --docnum=7 -o %t7
+# RUN: yaml2obj %s --docnum=6 -o %t7
# RUN: llvm-readobj -V %t7 2>&1 | FileCheck %s --check-prefix=MISALIGNED-DEF -DFILE=%t7
# RUN: llvm-readelf -V %t7 2>&1 | FileCheck %s --check-prefix=MISALIGNED-DEF -DFILE=%t7
@@ -211,7 +198,7 @@ DynamicSymbols:
## Check we report a warning when an auxiliary entry is not correctly aligned in memory.
-# RUN: yaml2obj %s --docnum=8 -o %t8
+# RUN: yaml2obj %s --docnum=7 -o %t8
# RUN: llvm-readobj -V %t8 2>&1 | FileCheck %s --check-prefix=MISALIGNED-AUX -DFILE=%t8
# RUN: llvm-readelf -V %t8 2>&1 | FileCheck %s --check-prefix=MISALIGNED-AUX -DFILE=%t8
@@ -237,7 +224,7 @@ DynamicSymbols:
## Check how we handle a version definition entry with an unsupported version.
-# RUN: yaml2obj %s --docnum=9 -o %t9
+# RUN: yaml2obj %s --docnum=8 -o %t9
# RUN: llvm-readobj -V %t9 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED-VERSION -DFILE=%t9
# RUN: llvm-readelf -V %t9 2>&1 | FileCheck %s --check-prefix=UNSUPPORTED-VERSION -DFILE=%t9
@@ -266,7 +253,7 @@ DynamicSymbols:
## Check we report a warning when trying to print version symbols, but SHT_GNU_verdef
## is invalid due to any reason.
-# RUN: yaml2obj %s --docnum=10 -o %t10
+# RUN: yaml2obj %s --docnum=9 -o %t10
# RUN: llvm-readobj -V %t10 2>&1 | FileCheck %s --check-prefix=INVALID-VERDEF-LLVM -DFILE=%t10
# RUN: llvm-readelf -V %t10 2>&1 | FileCheck %s --check-prefix=INVALID-VERDEF-GNU -DFILE=%t10
diff --git a/llvm/test/tools/llvm-readobj/ELF/versym-invalid.test b/llvm/test/tools/llvm-readobj/ELF/versym-invalid.test
index d495b1cfd063..ce32644462db 100644
--- a/llvm/test/tools/llvm-readobj/ELF/versym-invalid.test
+++ b/llvm/test/tools/llvm-readobj/ELF/versym-invalid.test
@@ -2,11 +2,11 @@
## Check that we report a warning when sh_link references a non-existent section.
-# RUN: yaml2obj --docnum=1 %s -o %t1
+# RUN: yaml2obj --docnum=1 -DLINK=0xFF %s -o %t1
# RUN: llvm-readelf -V %t1 2>&1 | FileCheck -DFILE=%t1 %s --check-prefix=GNU-INVALID-LINK
# RUN: llvm-readobj -V %t1 2>&1 | FileCheck -DFILE=%t1 %s --check-prefix=LLVM-INVALID-LINK
-# GNU-INVALID-LINK: Version symbols section '.gnu.version' contains 0 entries:
+# GNU-INVALID-LINK: Version symbols section '.gnu.version' contains 1 entries:
# GNU-INVALID-LINK-NEXT: warning: '[[FILE]]': invalid section linked to SHT_GNU_versym section with index 1: invalid section index: 255
# GNU-INVALID-LINK-NEXT: Addr: 0000000000000000 Offset: 0x000040 Link: 255 (<corrupt>)
@@ -23,13 +23,13 @@ FileHeader:
Sections:
- Name: .gnu.version
Type: SHT_GNU_versym
- Link: 0xFF
- Entries: [ ]
+ Link: [[LINK]]
+ Entries: [ 0 ]
## Check that we report a warning when the sh_link field of a SHT_GNU_versym section does not reference
## a dynamic symbol table section.
-# RUN: yaml2obj --docnum=2 %s -o %t2
+# RUN: yaml2obj --docnum=1 -DLINK=0x0 %s -o %t2
# RUN: llvm-readelf -V %t2 2>&1 | FileCheck -DFILE=%t2 %s --check-prefix=INVALID-SYMBOL-TABLE-GNU
# RUN: llvm-readobj -V %t2 2>&1 | FileCheck -DFILE=%t2 %s --check-prefix=INVALID-SYMBOL-TABLE-LLVM
@@ -42,23 +42,11 @@ Sections:
# INVALID-SYMBOL-TABLE-LLVM-NEXT: warning: '[[FILE]]': invalid section linked to SHT_GNU_versym section with index 1: expected SHT_DYNSYM, but got SHT_NULL
# INVALID-SYMBOL-TABLE-LLVM-NEXT: ]
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-Sections:
- - Name: .gnu.version
- Type: SHT_GNU_versym
- Link: 0x0
- Entries: [ 0 ]
-
## Check we report a warning when something is wrong with a string table linked to a symbol table that
## is linked with SHT_GNU_versym. In this case we are unable to produce LLVM style output,
## but GNU style is fine because it does not need that string table.
-# RUN: yaml2obj --docnum=3 %s -o %t3
+# RUN: yaml2obj --docnum=2 %s -o %t3
# RUN: llvm-readelf -V %t3 2>&1 | FileCheck -DFILE=%t3 %s --check-prefix=INVALID-STRING-TABLE-GNU
# RUN: llvm-readobj -V %t3 2>&1 | FileCheck -DFILE=%t3 %s --check-prefix=INVALID-STRING-TABLE-LLVM
@@ -88,7 +76,7 @@ DynamicSymbols: []
## Check we report a warning when a SHT_GNU_versym section is not correctly aligned in memory.
-# RUN: yaml2obj --docnum=4 %s -o %t4
+# RUN: yaml2obj --docnum=3 %s -o %t4
# RUN: llvm-readelf -V %t4 2>&1 | FileCheck -DFILE=%t4 %s --check-prefix=MISALIGNED-GNU
# RUN: llvm-readobj -V %t4 2>&1 | FileCheck -DFILE=%t4 %s --check-prefix=MISALIGNED-LLVM
@@ -114,7 +102,7 @@ Sections:
## Check we report a warning when a SHT_GNU_versym section has an invalid entry size.
-# RUN: yaml2obj --docnum=5 %s -o %t5
+# RUN: yaml2obj --docnum=4 %s -o %t5
# RUN: llvm-readelf -V --dyn-syms %t5 2>&1 | FileCheck -DFILE=%t5 %s --check-prefix=INVALID-ENT-SIZE-GNU
# RUN: llvm-readobj -V --dyn-syms %t5 2>&1 | FileCheck -DFILE=%t5 %s --check-prefix=INVALID-ENT-SIZE-LLVM
@@ -168,7 +156,7 @@ DynamicSymbols:
## Check we report a warning when the number of version entries does not match the number of symbols in the associated symbol table.
-# RUN: yaml2obj --docnum=6 %s -o %t6
+# RUN: yaml2obj --docnum=5 %s -o %t6
# RUN: llvm-readelf -V %t6 2>&1 | FileCheck -DFILE=%t6 %s --check-prefix=SYMBOLS-NUM-MISMATCH-GNU
# RUN: llvm-readobj -V %t6 2>&1 | FileCheck -DFILE=%t6 %s --check-prefix=SYMBOLS-NUM-MISMATCH-LLVM
@@ -199,7 +187,7 @@ DynamicSymbols:
## Check we can dump a SHT_GNU_versym section when it is linked to a custom dynamic symbol
## table that is not called ".dynsym".
-# RUN: yaml2obj --docnum=7 %s -o %t7
+# RUN: yaml2obj --docnum=6 %s -o %t7
# RUN: llvm-readelf -V %t7 2>&1 | FileCheck -DFILE=%t7 %s --check-prefix=CUSTOM-SYMTAB-GNU
# RUN: llvm-readobj -V %t7 2>&1 | FileCheck -DFILE=%t7 %s --check-prefix=CUSTOM-SYMTAB-LLVM
@@ -238,7 +226,7 @@ DynamicSymbols:
## Version index in a SHT_GNU_versym section overflows the version map.
## Check we report it when trying to dump dynamic symbols.
-# RUN: yaml2obj %s --docnum=8 -o %t8
+# RUN: yaml2obj %s --docnum=7 -o %t8
# RUN: llvm-readobj --dyn-syms %t8 2>&1 \
# RUN: | FileCheck -DFILE=%t8 --implicit-check-not=warning --check-prefix=VERSION-OVERFLOW-LLVM %s
# RUN: llvm-readelf --dyn-syms %t8 2>&1 \
More information about the llvm-commits
mailing list