1 ## Test the --loader-section-symbols option.
3 # RUN: yaml2obj --docnum=1 -DSYMNUM=2 %s -o %t_xcoff32.o
4 # RUN: yaml2obj --docnum=1 -DSYMNUM=4 %s -o %t_xcoff32_invalid.o
5 # RUN: yaml2obj --docnum=2 %s -o %t_xcoff64.o
7 # RUN: llvm-readobj --loader-section-symbols %t_xcoff32.o |\
8 # RUN: FileCheck %s --check-prefixes=CHECK32
9 # RUN: llvm-readobj --loader-section-symbols --no-demangle %t_xcoff32.o |\
10 # RUN: FileCheck %s --check-prefixes=CHECK32
11 # RUN: llvm-readobj --loader-section-symbols --demangle %t_xcoff32.o |\
12 # RUN: FileCheck %s --check-prefixes=CHECK32
13 # RUN: llvm-readobj --loader-section-symbols %t_xcoff32_invalid.o 2>&1 |\
14 # RUN: FileCheck -DFILE=%t_xcoff32_invalid.o %s --check-prefixes=CHECK32,WARN
15 # RUN: llvm-readobj --loader-section-symbols %t_xcoff64.o |\
16 # RUN: FileCheck %s --check-prefixes=CHECK64,NODEMAN64
17 # RUN: llvm-readobj --loader-section-symbols --no-demangle %t_xcoff64.o |\
18 # RUN: FileCheck %s --check-prefixes=CHECK64,NODEMAN64
19 # RUN: llvm-readobj --loader-section-symbols --demangle %t_xcoff64.o |\
20 # RUN: FileCheck %s --check-prefixes=CHECK64,DEMAN64
27 Flags: [ STYP_LOADER ]
28 SectionData: "000000010000000[[SYMNUM]]000000050000016D00000001000000A40000000c000000506d79696e74766172200002800002110500000000000000000000000000000002200002840002110a0000000000000000000a66756e63305f5f467600"
29 ## ^------- -Version=1
30 ## ^---------------- -NumberOfSymbolEntries=SYMNUM
31 ## ^------- -NumberOfRelocationEntries=5
32 ## ^------- -LengthOfImportFileIDStringTable=365
33 ## ^------- -NumberOfImportFileIDs=1
34 ## ^------- -OffsetToImportFileIDs=0xA4
35 ## ^------- -LengthOfStringTable=12
36 ## ^------- -OffsetToStringTable=0x050
37 ## ^--------------- SymbolName=myintvar
38 ## ^------- Value=0x20000280
39 ## ^--- sectionNumber = 2
41 ## ^- StorageClass=0x05
42 ## ^------- ImportFileID=0
43 ## ^-------ParameterCheckType=0
44 ## ^-------SymbolZero=0
45 ## ^-------OffsetToSymTbl=2
46 ## ^------- Value=20000284
47 ## ^--- sectionNumber = 2
49 ## ^- StorageClass=0x0a
50 ## ^------- ImportFileID=0
51 ## ^-------ParameterCheckType=0
59 Flags: [ STYP_LOADER ]
60 SectionData: "0000000200000002000000050000016D000000010000001200000000000000D000000000000000680000000000000038000000000000008000000001100003000000000200021105000000000000000000000001100003080000000d0002110a000000000000000000096d79696e7476617200000a5f5a3566756e6330760000"
61 ## ^------- -Version=2
62 ## ^------- -NumberOfSymbolEntries=2
63 ## ^------- -NumberOfRelocationEntries=5
64 ## ^------- -LengthOfImportFileIDStringTable=365
65 ## ^------- -NumberOfImportFileIDs=1
66 ## ^------- --LengthOfStringTable=0x12
67 ## ^--------------- -OffsetToImportFileIDs=0xD0
68 ## ^--------------- -OffsetToStringTable=0x68
69 ## ^--------------- -OffsetToSymbolTable=0x38
70 ## ^--------------- -OffsetToRelocationEntries=0x80
71 ## ^--------------- Value=0x0000000110000300
72 ## ^------- OffsetToStringTbl=2
73 ## ^--- sectionNumber = 2
75 ## ^- StorageClass=0x05
76 ## ^------- ImportFileID=0
77 ## ^-------ParameterCheckType=0
78 ## ^--------------- Value=0x0000000110000308
79 ## ^------- OffsetToStringTbl= 0x0d
80 ## ^--- sectionNumber = 2
82 ## ^- StorageClass=0x0a
83 ## ^------- ImportFileID=0
84 ## ^-------ParameterCheckType=0
87 # CHECK32: Loader Section {
88 # CHECK32-NEXT: Loader Section Symbols {
89 # CHECK32-NEXT: Symbol {
90 # CHECK32-NEXT: Name: myintvar
91 # CHECK32-NEXT: Virtual Address: 0x20000280
92 # CHECK32-NEXT: SectionNum: 2
93 # CHECK32-NEXT: SymbolType: 0x11
94 # CHECK32-NEXT: StorageClass: C_EXTDEF (0x5)
95 # CHECK32-NEXT: ImportFileID: 0x0
96 # CHECK32-NEXT: ParameterTypeCheck: 0
98 # CHECK32-NEXT: Symbol {
99 # CHECK32-NEXT: Name: func0__Fv
100 # CHECK32-NEXT: Virtual Address: 0x20000284
101 # CHECK32-NEXT: SectionNum: 2
102 # CHECK32-NEXT: SymbolType: 0x11
103 # CHECK32-NEXT: StorageClass: C_STRTAG (0xA)
104 # CHECK32-NEXT: ImportFileID: 0x0
105 # CHECK32-NEXT: ParameterTypeCheck: 0
107 # WARN: warning: '[[FILE]]': The end of the file was unexpectedly encountered
111 # CHECK64: Loader Section {
112 # CHECK64-NEXT: Loader Section Symbols {
113 # CHECK64-NEXT: Symbol {
114 # CHECK64-NEXT: Name: myintvar
115 # CHECK64-NEXT: Virtual Address: 0x110000300
116 # CHECK64-NEXT: SectionNum: 2
117 # CHECK64-NEXT: SymbolType: 0x11
118 # CHECK64-NEXT: StorageClass: C_EXTDEF (0x5)
119 # CHECK64-NEXT: ImportFileID: 0x0
120 # CHECK64-NEXT: ParameterTypeCheck: 0
122 # CHECK64-NEXT: Symbol {
123 # NODEMAN64-NEXT: Name: _Z5func0v
124 # DEMAN64-NEXT: Name: func0()
125 # CHECK64-NEXT: Virtual Address: 0x110000308
126 # CHECK64-NEXT: SectionNum: 2
127 # CHECK64-NEXT: SymbolType: 0x11
128 # CHECK64-NEXT: StorageClass: C_STRTAG (0xA)
129 # CHECK64-NEXT: ImportFileID: 0x0
130 # CHECK64-NEXT: ParameterTypeCheck: 0