1 ## Test the --loader-section-relocations option.
3 # RUN: yaml2obj --docnum=1 %s -o %t_xcoff32.o
4 # RUN: yaml2obj --docnum=2 %s -o %t_xcoff64.o
5 # RUN: llvm-readobj --loader-section-relocations --expand-relocs %t_xcoff32.o | FileCheck --check-prefixes=COMMON,EXPAND,NODEMANEXP %s
6 # RUN: llvm-readobj --loader-section-relocations --expand-relocs %t_xcoff64.o | FileCheck --check-prefixes=COMMON,EXPAND,NODEMANEXP %s
7 # RUN: llvm-readobj --loader-section-relocations %t_xcoff32.o | FileCheck --check-prefixes=COMMON,NOEXPAND32,NODEMAN32 %s
8 # RUN: llvm-readobj --loader-section-relocations %t_xcoff64.o | FileCheck --check-prefixes=COMMON,NOEXPAND64,NODEMAN64 %s
10 # RUN: llvm-readobj --loader-section-relocations --expand-relocs --no-demangle %t_xcoff32.o | FileCheck --check-prefixes=COMMON,EXPAND,NODEMANEXP %s
11 # RUN: llvm-readobj --loader-section-relocations --expand-relocs --no-demangle %t_xcoff64.o | FileCheck --check-prefixes=COMMON,EXPAND,NODEMANEXP %s
12 # RUN: llvm-readobj --loader-section-relocations --no-demangle %t_xcoff32.o | FileCheck --check-prefixes=COMMON,NOEXPAND32,NODEMAN32 %s
13 # RUN: llvm-readobj --loader-section-relocations --no-demangle %t_xcoff64.o | FileCheck --check-prefixes=COMMON,NOEXPAND64,NODEMAN64 %s
15 # RUN: llvm-readobj --loader-section-relocations --expand-relocs --demangle %t_xcoff32.o | FileCheck --check-prefixes=COMMON,EXPAND,DEMANEXP %s
16 # RUN: llvm-readobj --loader-section-relocations --expand-relocs --demangle %t_xcoff64.o | FileCheck --check-prefixes=COMMON,EXPAND,DEMANEXP %s
17 # RUN: llvm-readobj --loader-section-relocations --demangle %t_xcoff32.o | FileCheck --check-prefixes=COMMON,NOEXPAND32,DEMAN32 %s
18 # RUN: llvm-readobj --loader-section-relocations --demangle %t_xcoff64.o | FileCheck --check-prefixes=COMMON,NOEXPAND64,DEMAN64 %s
24 Flags: [ STYP_LOADER ]
25 SectionData: "0000000100000001000000020000016D00000001000000A400000000000000505f5a3466756e63762000028000021105000000000000000020000294000000011f0000022000029c000000031f000002"
26 ## ^------- -Version=1
27 ## ^------- -NumberOfSymbolEntries=1
28 ## ^------- -NumberOfRelocationEntries=2
29 ## ^------- -LengthOfImportFileIDStringTable=365
30 ## ^------- -NumberOfImportFileIDs=1
31 ## ^------- -OffsetToImportFileIDs=0xA4
32 ## ^------- -LengthOfStringTable=0
33 ## ^------- -OffsetToStringTable=0
34 ## ^--------------- SymbolName=_Z4funcv
35 ## ^------- Value=0x20000280
36 ## ^--- sectionNumber = 2
38 ## ^- StorageClass=0x05
39 ## ^------- ImportFileID=0
40 ## ^-------ParameterCheckType=0
41 ## ^------- Virtual Address = 0x20000294
42 ## ^------- SymbolIndex = 1
44 ## ^--- Section Num =2
45 ## ^------- Virtual Address = 0x20000294
46 ## ^------- SymbolIndex = 3
48 ## ^--- Section Num =2
55 Flags: [ STYP_LOADER ]
56 SectionData: "0000000200000001000000020000016D000000010000001200000000000000D000000000000000700000000000000038000000000000005000000001100003000000000200021105000000000000000000000000200002941f00000200000001000000002000029C1f0000020000000300095f5a3466756e63760000"
57 ## ^------- -Version=2
58 ## ^------- -NumberOfSymbolEntries=1
59 ## ^------- -NumberOfRelocationEntries=2
60 ## ^------- -LengthOfImportFileIDStringTable=365
61 ## ^------- -NumberOfImportFileIDs=1
62 ## ^------- --LengthOfStringTable=0x12
63 ## ^--------------- -OffsetToImportFileIDs=0xD0
64 ## ^--------------- -OffsetToStringTable=0x70
65 ## ^--------------- -OffsetToSymbolTable=0x38
66 ## ^--------------- -OffsetToRelocationEntries=0x50
67 ## ^--------------- Value=0x0000000110000300
68 ## ^------- OffsetToStringTbl=2
69 ## ^--- sectionNumber = 2
71 ## ^- StorageClass=0x05
72 ## ^------- ImportFileID=0
73 ## ^-------ParameterCheckType=0
74 ## ^--------------- VirtualAddress= 0x20000294
76 ## ^---SectionNumber = 2
77 ## ^------- SymbolIndex =1
78 ## ^--------------- VirtualAddress= 0x2000029C
80 ## ^---SectionNumber = 2
81 ## ^------- SymbolIndex =3
82 ## ^-------------------StringTable
84 # COMMON: Loader Section {
85 # COMMON-NEXT: Loader Section Relocations {
86 # NOEXPAND64-NEXT: Vaddr Type SecNum SymbolName (Index)
87 # NOEXPAND64-NEXT: 0x0000000020000294 0x1f00 (R_POS) 2 .data (1)
88 # NODEMAN64-NEXT: 0x000000002000029c 0x1f00 (R_POS) 2 _Z4funcv (3)
89 # DEMAN64-NEXT: 0x000000002000029c 0x1f00 (R_POS) 2 func() (3)
90 # NOEXPAND32-NEXT: Vaddr Type SecNum SymbolName (Index)
91 # NOEXPAND32-NEXT: 0x20000294 0x1f00 (R_POS) 2 .data (1)
92 # NODEMAN32-NEXT: 0x2000029c 0x1f00 (R_POS) 2 _Z4funcv (3)
93 # DEMAN32-NEXT: 0x2000029c 0x1f00 (R_POS) 2 func() (3)
94 # EXPAND-NEXT: Relocation {
95 # EXPAND-NEXT: Virtual Address: 0x20000294
96 # EXPAND-NEXT: Symbol: .data (1)
97 # EXPAND-NEXT: IsSigned: No
98 # EXPAND-NEXT: FixupBitValue: 0
99 # EXPAND-NEXT: Length: 32
100 # EXPAND-NEXT: Type: R_POS (0x0)
101 # EXPAND-NEXT: SectionNumber: 2
103 # EXPAND-NEXT: Relocation {
104 # EXPAND-NEXT: Virtual Address: 0x2000029C
105 # NODEMANEXP-NEXT: Symbol: _Z4funcv (3)
106 # DEMANEXP-NEXT: Symbol: func() (3)
107 # EXPAND-NEXT: IsSigned: No
108 # EXPAND-NEXT: FixupBitValue: 0
109 # EXPAND-NEXT: Length: 32
110 # EXPAND-NEXT: Type: R_POS (0x0)
111 # EXPAND-NEXT: SectionNumber: 2