xref: /llvm-project/llvm/test/tools/llvm-readobj/XCOFF/loader-section-header.test (revision 1c84831feaab77ccaed64817aa4120304981ee61)
1*1c84831fSzhijian## Test the --loader-section-header option.
2*1c84831fSzhijian
3*1c84831fSzhijian# RUN: yaml2obj --docnum=1 %s -o %t_xcoff32.o
4*1c84831fSzhijian# RUN: yaml2obj --docnum=2  %s -o %t_xcoff64.o
5*1c84831fSzhijian# RUN: llvm-readobj --loader-section-header %t_xcoff32.o |\
6*1c84831fSzhijian# RUN:   FileCheck %s --check-prefixes=CHECK32
7*1c84831fSzhijian# RUN: llvm-readobj --loader-section-header %t_xcoff64.o |\
8*1c84831fSzhijian# RUN:   FileCheck %s --check-prefixes=CHECK64
9*1c84831fSzhijian
10*1c84831fSzhijian--- !XCOFF
11*1c84831fSzhijianFileHeader:
12*1c84831fSzhijian  MagicNumber:       0x1DF
13*1c84831fSzhijianSections:
14*1c84831fSzhijian  - Name:            .loader
15*1c84831fSzhijian    Flags:           [ STYP_LOADER ]
16*1c84831fSzhijian    SectionData:     "0000000100000003000000050000016D00000001000000A40000001800000211"
17*1c84831fSzhijian##                    ^-------                                                           -Version=1
18*1c84831fSzhijian##                            ^-------                                                   -NumberOfSymbolEntries=3
19*1c84831fSzhijian##                                    ^-------                                           -NumberOfRelocationEntries=5
20*1c84831fSzhijian##                                            ^-------                                   -LengthOfImportFileIDStringTable=365
21*1c84831fSzhijian##                                                    ^-------                           -NumberOfImportFileIDs=1
22*1c84831fSzhijian##                                                            ^-------                   -OffsetToImportFileIDs=0xA4
23*1c84831fSzhijian##                                                                    ^-------           -LengthOfStringTable=24
24*1c84831fSzhijian##                                                                            ^-------   -OffsetToStringTable=0x211
25*1c84831fSzhijian
26*1c84831fSzhijian
27*1c84831fSzhijian--- !XCOFF
28*1c84831fSzhijianFileHeader:
29*1c84831fSzhijian  MagicNumber:       0x1F7
30*1c84831fSzhijianSections:
31*1c84831fSzhijian  - Name:            .loader
32*1c84831fSzhijian    Flags:           [ STYP_LOADER ]
33*1c84831fSzhijian    SectionData:     "0000000200000003000000050000016D000000010000002300000000000000D0000000000000023D00000000000000380000000000000080"
34*1c84831fSzhijian##                    ^-------                                                           -Version=2
35*1c84831fSzhijian##                            ^-------                                                   -NumberOfSymbolEntries=3
36*1c84831fSzhijian##                                    ^-------                                           -NumberOfRelocationEntries=5
37*1c84831fSzhijian##                                            ^-------                                   -LengthOfImportFileIDStringTable=365
38*1c84831fSzhijian##                                                    ^-------                           -NumberOfImportFileIDs=1
39*1c84831fSzhijian##                                                            ^-------                   --LengthOfStringTable=0x23
40*1c84831fSzhijian##                                                                    ^---------------   -OffsetToImportFileIDs=0xD0
41*1c84831fSzhijian##                                                                                    ^---------------                                        -OffsetToStringTable=0x23D
42*1c84831fSzhijian##                                                                                                    ^--------------                         -OffsetToSymbolTable=0x38
43*1c84831fSzhijian##                                                                                                                    ^---------------        -OffsetToRelocationEntries=0x80
44*1c84831fSzhijian
45*1c84831fSzhijian# CHECK32:      Loader Section {
46*1c84831fSzhijian# CHECK32-NEXT:     Loader Section Header {
47*1c84831fSzhijian# CHECK32-NEXT:       Version: 1
48*1c84831fSzhijian# CHECK32-NEXT:       NumberOfSymbolEntries: 3
49*1c84831fSzhijian# CHECK32-NEXT:       NumberOfRelocationEntries: 5
50*1c84831fSzhijian# CHECK32-NEXT:       LengthOfImportFileIDStringTable: 365
51*1c84831fSzhijian# CHECK32-NEXT:       NumberOfImportFileIDs: 1
52*1c84831fSzhijian# CHECK32-NEXT:       OffsetToImportFileIDs: 0xA4
53*1c84831fSzhijian# CHECK32-NEXT:       LengthOfStringTable: 24
54*1c84831fSzhijian# CHECK32-NEXT:       OffsetToStringTable: 0x211
55*1c84831fSzhijian# CHECK32-NEXT:   }
56*1c84831fSzhijian# CHECK32-NEXT: }
57*1c84831fSzhijian
58*1c84831fSzhijian# CHECK64:      Loader Section {
59*1c84831fSzhijian# CHECK64-NEXT:     Loader Section Header {
60*1c84831fSzhijian# CHECK64-NEXT:       Version: 2
61*1c84831fSzhijian# CHECK64-NEXT:       NumberOfSymbolEntries: 3
62*1c84831fSzhijian# CHECK64-NEXT:       NumberOfRelocationEntries: 5
63*1c84831fSzhijian# CHECK64-NEXT:       LengthOfImportFileIDStringTable: 365
64*1c84831fSzhijian# CHECK64-NEXT:       NumberOfImportFileIDs: 1
65*1c84831fSzhijian# CHECK64-NEXT:       OffsetToImportFileIDs: 0xD0
66*1c84831fSzhijian# CHECK64-NEXT:       LengthOfStringTable: 35
67*1c84831fSzhijian# CHECK64-NEXT:       OffsetToStringTable: 0x23D
68*1c84831fSzhijian# CHECK64-NEXT:       OffsetToSymbolTable: 0x38
69*1c84831fSzhijian# CHECK64-NEXT:       OffsetToRelocationEntries: 0x80
70*1c84831fSzhijian# CHECK64-NEXT:   }
71*1c84831fSzhijian# CHECK64-NEXT: }
72