1 ## This is a basic test to check if we can parse the XCOFF object file correctly.
2 # RUN: yaml2obj %s -DMAGIC=0x01DF -o %t-32
3 # RUN: obj2yaml %t-32 | FileCheck %s --check-prefix=CHECK32
4 # RUN: yaml2obj %s -DMAGIC=0x01F7 -o %t-64
5 # RUN: obj2yaml %t-64 | FileCheck %s --check-prefix=CHECK64
8 # CHECK32-NEXT: FileHeader:
9 # CHECK32-NEXT: MagicNumber: 0x1DF
10 # CHECK32-NEXT: NumberOfSections: 2
11 # CHECK32-NEXT: CreationTime: 0
12 # CHECK32-NEXT: OffsetToSymbolTable: 0x80
13 # CHECK32-NEXT: EntriesInSymbolTable: 4
14 # CHECK32-NEXT: AuxiliaryHeaderSize: 0
15 # CHECK32-NEXT: Flags: 0x0
16 # CHECK32-NEXT: Sections:
17 # CHECK32-NEXT: - Name: .text
18 # CHECK32-NEXT: Address: 0x0
19 # CHECK32-NEXT: Size: 0x4
20 # CHECK32-NEXT: FileOffsetToData: 0x64
21 # CHECK32-NEXT: FileOffsetToRelocations: 0x6C
22 # CHECK32-NEXT: FileOffsetToLineNumbers: 0x0
23 # CHECK32-NEXT: NumberOfRelocations: 0x1
24 # CHECK32-NEXT: NumberOfLineNumbers: 0x0
25 # CHECK32-NEXT: Flags: [ STYP_TEXT ]
26 # CHECK32-NEXT: SectionData: '00007400'
27 # CHECK32-NEXT: Relocations:
28 # CHECK32-NEXT: - Address: 0xE
29 # CHECK32-NEXT: Symbol: 0x12
30 # CHECK32-NEXT: Info: 0xF
31 # CHECK32-NEXT: Type: 0x3
32 # CHECK32-NEXT: - Name: .data
33 # CHECK32-NEXT: Address: 0x4
34 # CHECK32-NEXT: Size: 0x4
35 # CHECK32-NEXT: FileOffsetToData: 0x68
36 # CHECK32-NEXT: FileOffsetToRelocations: 0x76
37 # CHECK32-NEXT: FileOffsetToLineNumbers: 0x0
38 # CHECK32-NEXT: NumberOfRelocations: 0x1
39 # CHECK32-NEXT: NumberOfLineNumbers: 0x0
40 # CHECK32-NEXT: Flags: [ STYP_DATA ]
41 # CHECK32-NEXT: SectionData: '00007700'
42 # CHECK32-NEXT: Relocations:
43 # CHECK32-NEXT: - Address: 0x60
44 # CHECK32-NEXT: Symbol: 0x8
45 # CHECK32-NEXT: Info: 0x1F
46 # CHECK32-NEXT: Type: 0x0
47 # CHECK32-NEXT: Symbols:
48 # CHECK32-NEXT: - Name: TestforXcoff
49 # CHECK32-NEXT: Value: 0x0
50 # CHECK32-NEXT: Section: N_UNDEF
51 # CHECK32-NEXT: Type: 0x0
52 # CHECK32-NEXT: StorageClass: C_EXT
53 # CHECK32-NEXT: NumberOfAuxEntries: 1
54 # CHECK32-NEXT: - Name: .data
55 # CHECK32-NEXT: Value: 0x70
56 # CHECK32-NEXT: Section: .data
57 # CHECK32-NEXT: Type: 0x0
58 # CHECK32-NEXT: StorageClass: C_HIDEXT
59 # CHECK32-NEXT: NumberOfAuxEntries: 1
62 # CHECK64-NEXT: FileHeader:
63 # CHECK64-NEXT: MagicNumber: 0x1F7
64 # CHECK64-NEXT: NumberOfSections: 2
65 # CHECK64-NEXT: CreationTime: 0
66 # CHECK64-NEXT: OffsetToSymbolTable: 0xCC
67 # CHECK64-NEXT: EntriesInSymbolTable: 4
68 # CHECK64-NEXT: AuxiliaryHeaderSize: 0
69 # CHECK64-NEXT: Flags: 0x0
70 # CHECK64-NEXT: Sections:
71 # CHECK64-NEXT: - Name: .text
72 # CHECK64-NEXT: Address: 0x0
73 # CHECK64-NEXT: Size: 0x4
74 # CHECK64-NEXT: FileOffsetToData: 0xA8
75 # CHECK64-NEXT: FileOffsetToRelocations: 0xB0
76 # CHECK64-NEXT: FileOffsetToLineNumbers: 0x0
77 # CHECK64-NEXT: NumberOfRelocations: 0x1
78 # CHECK64-NEXT: NumberOfLineNumbers: 0x0
79 # CHECK64-NEXT: Flags: [ STYP_TEXT ]
80 # CHECK64-NEXT: SectionData: '00007400'
81 # CHECK64-NEXT: Relocations:
82 # CHECK64-NEXT: - Address: 0xE
83 # CHECK64-NEXT: Symbol: 0x12
84 # CHECK64-NEXT: Info: 0xF
85 # CHECK64-NEXT: Type: 0x3
86 # CHECK64-NEXT: - Name: .data
87 # CHECK64-NEXT: Address: 0x4
88 # CHECK64-NEXT: Size: 0x4
89 # CHECK64-NEXT: FileOffsetToData: 0xAC
90 # CHECK64-NEXT: FileOffsetToRelocations: 0xBE
91 # CHECK64-NEXT: FileOffsetToLineNumbers: 0x0
92 # CHECK64-NEXT: NumberOfRelocations: 0x1
93 # CHECK64-NEXT: NumberOfLineNumbers: 0x0
94 # CHECK64-NEXT: Flags: [ STYP_DATA ]
95 # CHECK64-NEXT: SectionData: '00007700'
96 # CHECK64-NEXT: Relocations:
97 # CHECK64-NEXT: - Address: 0x60
98 # CHECK64-NEXT: Symbol: 0x8
99 # CHECK64-NEXT: Info: 0x1F
100 # CHECK64-NEXT: Type: 0x0
101 # CHECK64-NEXT: Symbols:
102 # CHECK64-NEXT: - Name: TestforXcoff
103 # CHECK64-NEXT: Value: 0x0
104 # CHECK64-NEXT: Section: N_UNDEF
105 # CHECK64-NEXT: Type: 0x0
106 # CHECK64-NEXT: StorageClass: C_EXT
107 # CHECK64-NEXT: NumberOfAuxEntries: 1
108 # CHECK64-NEXT: - Name: .data
109 # CHECK64-NEXT: Value: 0x70
110 # CHECK64-NEXT: Section: .data
111 # CHECK64-NEXT: Type: 0x0
112 # CHECK64-NEXT: StorageClass: C_HIDEXT
113 # CHECK64-NEXT: NumberOfAuxEntries: 1
117 MagicNumber: [[MAGIC]]
121 SectionData: '00007400'
129 SectionData: '00007700'
141 NumberOfAuxEntries: 1
146 StorageClass: C_HIDEXT
147 NumberOfAuxEntries: 1