xref: /llvm-project/llvm/test/tools/yaml2obj/XCOFF/full-contents.yaml (revision 39772da5fd019a5f36c88315d08f10fab72ac2ef)
1## Test that we can explicitly specify all the fields.
2# RUN: yaml2obj %s -o %t
3# RUN: llvm-readobj --headers --symbols %t | FileCheck %s
4
5--- !XCOFF
6FileHeader:
7  MagicNumber:          0x1DF
8  NumberOfSections:     2
9  CreationTime:         0
10  OffsetToSymbolTable:  0x7A
11  EntriesInSymbolTable: 4
12  AuxiliaryHeaderSize:  0
13  Flags:                0x0
14Sections:
15  - Name:                    .text
16    Address:                 0x0
17    Size:                    0x8
18    FileOffsetToData:        0x64
19    FileOffsetToRelocations: 0x0
20    FileOffsetToLineNumbers: 0x0
21    NumberOfRelocations:     0x0
22    NumberOfLineNumbers:     0x0
23    Flags:                   [ STYP_TEXT ]
24    SectionData:             "3860000048"
25  - Name:                    .data
26    Address:                 0x8
27    Size:                    0x4
28    FileOffsetToData:        0x6C
29    FileOffsetToRelocations: 0x70
30    FileOffsetToLineNumbers: 0x0
31    NumberOfRelocations:     0x1
32    NumberOfLineNumbers:     0x0
33    Flags:                   [ STYP_DATA ]
34    SectionData:             "00000088"
35    Relocations:
36      - Address:         0x80
37        Symbol:          0x21
38        Info:            0x1F
39        Type:            0x0
40Symbols:
41  - Name:               .text
42    Value:              0x0
43    Section:            .text
44    Type:               0x0
45    StorageClass:       C_STAT
46    NumberOfAuxEntries: 1
47  - Name:               .data
48    Value:              0x80
49    Section:            .data
50    Type:               0x0
51    StorageClass:       C_STAT
52    NumberOfAuxEntries: 1
53
54# CHECK:      FileHeader {
55# CHECK-NEXT:   Magic: 0x1DF
56# CHECK-NEXT:   NumberOfSections: 2
57# CHECK-NEXT:   TimeStamp: None (0x0)
58# CHECK-NEXT:   SymbolTableOffset: 0x7A
59# CHECK-NEXT:   SymbolTableEntries: 4
60# CHECK-NEXT:   OptionalHeaderSize: 0x0
61# CHECK-NEXT:   Flags: 0x0
62# CHECK-NEXT: }
63# CHECK-NEXT: AuxiliaryHeader {
64# CHECK-NEXT: }
65# CHECK-NEXT: Sections [
66# CHECK-NEXT:   Section {
67# CHECK-NEXT:     Index: 1
68# CHECK-NEXT:     Name: .text
69# CHECK-NEXT:     PhysicalAddress: 0x0
70# CHECK-NEXT:     VirtualAddress: 0x0
71# CHECK-NEXT:     Size: 0x8
72# CHECK-NEXT:     RawDataOffset: 0x64
73# CHECK-NEXT:     RelocationPointer: 0x0
74# CHECK-NEXT:     LineNumberPointer: 0x0
75# CHECK-NEXT:     NumberOfRelocations: 0
76# CHECK-NEXT:     NumberOfLineNumbers: 0
77# CHECK-NEXT:     Type: STYP_TEXT (0x20)
78# CHECK-NEXT:   }
79# CHECK-NEXT:   Section {
80# CHECK-NEXT:     Index: 2
81# CHECK-NEXT:     Name: .data
82# CHECK-NEXT:     PhysicalAddress: 0x8
83# CHECK-NEXT:     VirtualAddress: 0x8
84# CHECK-NEXT:     Size: 0x4
85# CHECK-NEXT:     RawDataOffset: 0x6C
86# CHECK-NEXT:     RelocationPointer: 0x70
87# CHECK-NEXT:     LineNumberPointer: 0x0
88# CHECK-NEXT:     NumberOfRelocations: 1
89# CHECK-NEXT:     NumberOfLineNumbers: 0
90# CHECK-NEXT:     Type: STYP_DATA (0x40)
91# CHECK-NEXT:   }
92# CHECK-NEXT: ]
93# CHECK-NEXT: Symbols [
94# CHECK-NEXT:   Symbol {
95# CHECK-NEXT:     Index: 0
96# CHECK-NEXT:     Name: .text
97# CHECK-NEXT:     Value (RelocatableAddress): 0x0
98# CHECK-NEXT:     Section: .text
99# CHECK-NEXT:     Type: 0x0
100# CHECK-NEXT:     StorageClass: C_STAT (0x3)
101# CHECK-NEXT:     NumberOfAuxEntries: 1
102# CHECK-NEXT:     Sect Auxiliary Entry For Stat {
103# CHECK-NEXT:       Index: 1
104# CHECK-NEXT:       SectionLength: 0
105# CHECK-NEXT:       NumberOfRelocEnt: 0
106# CHECK-NEXT:       NumberOfLineNum: 0
107# CHECK-NEXT:     }
108# CHECK-NEXT:   }
109# CHECK-NEXT:   Symbol {
110# CHECK-NEXT:     Index: 2
111# CHECK-NEXT:     Name: .data
112# CHECK-NEXT:     Value (RelocatableAddress): 0x80
113# CHECK-NEXT:     Section: .data
114# CHECK-NEXT:     Type: 0x0
115# CHECK-NEXT:     StorageClass: C_STAT (0x3)
116# CHECK-NEXT:     NumberOfAuxEntries: 1
117# CHECK-NEXT:     Sect Auxiliary Entry For Stat {
118# CHECK-NEXT:       Index: 3
119# CHECK-NEXT:       SectionLength: 0
120# CHECK-NEXT:       NumberOfRelocEnt: 0
121# CHECK-NEXT:       NumberOfLineNum: 0
122# CHECK-NEXT:     }
123# CHECK-NEXT:   }
124# CHECK-NEXT: ]
125