Skip to content

Commit 75874ca

Browse files
author
George Rimar
committed
[test/Object, obj2yaml] - Move test cases from test/Object and cleanup.
test/Object is not correct place to have tests that check obj2yaml functionality, because we have test/tools/obj2yaml folder for that. In this patch I merged a few test cases with their YAMLs from Inputs folder, converted one of binary inputs and moved them to tools/obj2yaml folder. There are still another tests that might need the same, so it is initial step. Differential revision: https://reviews.llvm.org/D64555 llvm-svn: 365891
1 parent aca476b commit 75874ca

14 files changed

+223
-189
lines changed

llvm/test/Object/Inputs/COFF/long-file-symbol.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.
-624 Bytes
Binary file not shown.

llvm/test/Object/obj2yaml-coff-long-file-symbol.test

Lines changed: 0 additions & 3 deletions
This file was deleted.

llvm/test/Object/obj2yaml-coff-long-section-name.test

Lines changed: 0 additions & 3 deletions
This file was deleted.

llvm/test/Object/obj2yaml-coff-section-aux-symbol.test

Lines changed: 0 additions & 96 deletions
This file was deleted.

llvm/test/Object/obj2yaml-coff-weak-external.test

Lines changed: 0 additions & 3 deletions
This file was deleted.

llvm/test/Object/obj2yaml-invalid-reloc.test

Lines changed: 0 additions & 39 deletions
This file was deleted.

llvm/test/Object/obj2yaml-sectiongroup.test

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# RUN: yaml2obj %s | obj2yaml | FileCheck %s --check-prefix COFF-I386
2+
3+
# COFF-I386: File: filename_with_22_chars
4+
5+
--- !COFF
6+
header:
7+
Machine: IMAGE_FILE_MACHINE_AMD64
8+
Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, IMAGE_FILE_LINE_NUMS_STRIPPED ]
9+
sections:
10+
symbols:
11+
- Name: .file
12+
Value: 0
13+
SectionNumber: 65534
14+
SimpleType: IMAGE_SYM_TYPE_NULL
15+
ComplexType: IMAGE_SYM_DTYPE_NULL
16+
StorageClass: IMAGE_SYM_CLASS_FILE
17+
File: filename_with_22_chars
18+
...
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
# RUN: yaml2obj %s | obj2yaml | FileCheck %s --check-prefix COFF-I386
2+
3+
# COFF-I386: Name: .long_section_name
4+
15
--- !COFF
26
header:
37
Machine: IMAGE_FILE_MACHINE_I386
48
Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, IMAGE_FILE_LINE_NUMS_STRIPPED, IMAGE_FILE_LOCAL_SYMS_STRIPPED, IMAGE_FILE_32BIT_MACHINE ]
59
sections:
610
- Name: .long_section_name
711
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
8-
Alignment: 1
9-
SectionData: ''
1012
symbols:
1113
...

llvm/test/Object/Inputs/COFF/section-aux-symbol.yaml renamed to llvm/test/tools/obj2yaml/coff-section-aux-symbol.test

Lines changed: 100 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,110 @@
1+
# RUN: yaml2obj %s | obj2yaml | FileCheck %s --check-prefix COFF-I386
2+
3+
# COFF-I386: sections:
4+
# COFF-I386-NEXT: - Name: .CRT
5+
# COFF-I386: symbols:
6+
# COFF-I386: - Name: '.CRT$XCAA'
7+
# COFF-I386-NEXT: Value: 4
8+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
9+
# COFF-I386-NEXT: SectionDefinition:
10+
# COFF-I386-NEXT: Length: 4
11+
# COFF-I386-NEXT: NumberOfRelocations: 1
12+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
13+
# COFF-I386: - Name: '.CRT$XIAA'
14+
# COFF-I386-NEXT: Value: 16
15+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
16+
# COFF-I386-NEXT: SectionDefinition:
17+
# COFF-I386-NEXT: Length: 4
18+
# COFF-I386-NEXT: NumberOfRelocations: 1
19+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
20+
# COFF-I386: - Name: '.CRT$XLD'
21+
# COFF-I386-NEXT: Value: 36
22+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
23+
# COFF-I386-NEXT: SectionDefinition:
24+
# COFF-I386-NEXT: Length: 4
25+
# COFF-I386-NEXT: NumberOfRelocations: 1
26+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
27+
# COFF-I386: - Name: '.CRT$XLC'
28+
# COFF-I386-NEXT: Value: 32
29+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
30+
# COFF-I386-NEXT: SectionDefinition:
31+
# COFF-I386-NEXT: Length: 4
32+
# COFF-I386-NEXT: NumberOfRelocations: 1
33+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
34+
# COFF-I386: - Name: '.CRT$XDZ'
35+
# COFF-I386-NEXT: Value: 48
36+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
37+
# COFF-I386-NEXT: SectionDefinition:
38+
# COFF-I386-NEXT: Length: 4
39+
# COFF-I386-NEXT: NumberOfRelocations: 0
40+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
41+
# COFF-I386: - Name: '.CRT$XDA'
42+
# COFF-I386-NEXT: Value: 44
43+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
44+
# COFF-I386-NEXT: SectionDefinition:
45+
# COFF-I386-NEXT: Length: 4
46+
# COFF-I386-NEXT: NumberOfRelocations: 0
47+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
48+
# COFF-I386: - Name: '.CRT$XLZ'
49+
# COFF-I386-NEXT: Value: 40
50+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
51+
# COFF-I386-NEXT: SectionDefinition:
52+
# COFF-I386-NEXT: Length: 4
53+
# COFF-I386-NEXT: NumberOfRelocations: 0
54+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
55+
# COFF-I386: - Name: '.CRT$XLA'
56+
# COFF-I386-NEXT: Value: 28
57+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
58+
# COFF-I386-NEXT: SectionDefinition:
59+
# COFF-I386-NEXT: Length: 4
60+
# COFF-I386-NEXT: NumberOfRelocations: 0
61+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
62+
# COFF-I386: - Name: '.CRT$XIC'
63+
# COFF-I386-NEXT: Value: 20
64+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
65+
# COFF-I386-NEXT: SectionDefinition:
66+
# COFF-I386-NEXT: Length: 4
67+
# COFF-I386-NEXT: NumberOfRelocations: 1
68+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
69+
# COFF-I386: - Name: '.CRT$XCZ'
70+
# COFF-I386-NEXT: Value: 8
71+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
72+
# COFF-I386-NEXT: SectionDefinition:
73+
# COFF-I386-NEXT: Length: 4
74+
# COFF-I386-NEXT: NumberOfRelocations: 0
75+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
76+
# COFF-I386: - Name: '.CRT$XCA'
77+
# COFF-I386-NEXT: Value: 0
78+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
79+
# COFF-I386-NEXT: SectionDefinition:
80+
# COFF-I386-NEXT: Length: 4
81+
# COFF-I386-NEXT: NumberOfRelocations: 0
82+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
83+
# COFF-I386: - Name: '.CRT$XIZ'
84+
# COFF-I386-NEXT: Value: 24
85+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
86+
# COFF-I386-NEXT: SectionDefinition:
87+
# COFF-I386-NEXT: Length: 4
88+
# COFF-I386-NEXT: NumberOfRelocations: 0
89+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
90+
# COFF-I386: - Name: '.CRT$XIA'
91+
# COFF-I386-NEXT: Value: 12
92+
# COFF-I386: StorageClass: IMAGE_SYM_CLASS_STATIC
93+
# COFF-I386-NEXT: SectionDefinition:
94+
# COFF-I386-NEXT: Length: 4
95+
# COFF-I386-NEXT: NumberOfRelocations: 0
96+
# COFF-I386-NEXT: NumberOfLinenumbers: 0
97+
198
--- !COFF
2-
header:
99+
header:
3100
Machine: IMAGE_FILE_MACHINE_I386
4101
Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LINE_NUMS_STRIPPED, IMAGE_FILE_32BIT_MACHINE, IMAGE_FILE_DEBUG_STRIPPED ]
5-
sections:
102+
sections:
6103
- Name: .CRT
7104
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
8105
Alignment: 4
9106
SectionData: 0000000030114000000000000000000010104000401640000000000000000000B015400060154000000000000000000000000000
10-
symbols:
107+
symbols:
11108
- Name: '.CRT$XCAA'
12109
Value: 4
13110
SectionNumber: 1

llvm/test/Object/Inputs/COFF/weak-external.yaml renamed to llvm/test/tools/obj2yaml/coff-weak-external.test

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# RUN: yaml2obj %s | obj2yaml | FileCheck %s --check-prefix COFF-I386
2+
3+
# COFF-I386: Characteristics: 0
4+
15
--- !COFF
26
header:
37
Machine: IMAGE_FILE_MACHINE_I386
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## Check yaml2obj is able to dump relocations
2+
## that have no or a zero symbol associated.
3+
4+
# RUN: yaml2obj %s -o %t.o
5+
# RUN: obj2yaml %t.o | FileCheck %s
6+
7+
# CHECK: --- !ELF
8+
# CHECK-NEXT: FileHeader:
9+
# CHECK-NEXT: Class: ELFCLASS64
10+
# CHECK-NEXT: Data: ELFDATA2LSB
11+
# CHECK-NEXT: Type: ET_REL
12+
# CHECK-NEXT: Machine: EM_X86_64
13+
# CHECK-NEXT: Sections:
14+
# CHECK-NEXT: - Name: .text
15+
# CHECK-NEXT: Type: SHT_PROGBITS
16+
# CHECK-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
17+
# CHECK-NEXT: - Name: .rela.text
18+
# CHECK-NEXT: Type: SHT_RELA
19+
# CHECK-NEXT: Link: .symtab
20+
# CHECK-NEXT: EntSize: 0x0000000000000018
21+
# CHECK-NEXT: Info: .text
22+
# CHECK-NEXT: Relocations:
23+
# CHECK-NEXT: - Offset: 0x0000000000000000
24+
# CHECK-NEXT: Symbol: ''
25+
# CHECK-NEXT: Type: R_X86_64_NONE
26+
# CHECK-NEXT: - Offset: 0x0000000000000004
27+
# CHECK-NEXT: Symbol: ''
28+
# CHECK-NEXT: Type: R_X86_64_NONE
29+
# CHECK-NEXT: ...
30+
31+
--- !ELF
32+
FileHeader:
33+
Class: ELFCLASS64
34+
Data: ELFDATA2LSB
35+
Type: ET_REL
36+
Machine: EM_X86_64
37+
Sections:
38+
- Name: .text
39+
Type: SHT_PROGBITS
40+
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
41+
- Name: .rela.text
42+
Type: SHT_RELA
43+
Info: .text
44+
Relocations:
45+
- Offset: 0x0
46+
Type: R_X86_64_NONE
47+
- Offset: 0x4
48+
Type: R_X86_64_NONE
49+
Symbol: 0

0 commit comments

Comments
 (0)