xref: /aosp_15_r20/external/llvm/test/MC/MachO/darwin-x86_64-reloc.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -n -triple x86_64-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r --expand-relocs | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// These examples are taken from <mach-o/x86_64/reloc.h>.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker        .data
6*9880d681SAndroid Build Coastguard Worker        .long 0
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker        .text
9*9880d681SAndroid Build Coastguard Worker_foo:
10*9880d681SAndroid Build Coastguard Worker        ret
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker_baz:
13*9880d681SAndroid Build Coastguard Worker        call _foo
14*9880d681SAndroid Build Coastguard Worker 	call _foo+4
15*9880d681SAndroid Build Coastguard Worker 	movq _foo@GOTPCREL(%rip), %rax
16*9880d681SAndroid Build Coastguard Worker 	pushq _foo@GOTPCREL(%rip)
17*9880d681SAndroid Build Coastguard Worker 	movl _foo(%rip), %eax
18*9880d681SAndroid Build Coastguard Worker 	movl _foo+4(%rip), %eax
19*9880d681SAndroid Build Coastguard Worker 	movb  $0x12, _foo(%rip)
20*9880d681SAndroid Build Coastguard Worker 	movl  $0x12345678, _foo(%rip)
21*9880d681SAndroid Build Coastguard Worker 	.quad _foo
22*9880d681SAndroid Build Coastguard Worker_bar:
23*9880d681SAndroid Build Coastguard Worker 	.quad _foo+4
24*9880d681SAndroid Build Coastguard Worker 	.quad _foo - _bar
25*9880d681SAndroid Build Coastguard Worker 	.quad _foo - _bar + 4
26*9880d681SAndroid Build Coastguard Worker 	.long _foo - _bar
27*9880d681SAndroid Build Coastguard Worker 	leaq L1(%rip), %rax
28*9880d681SAndroid Build Coastguard Worker 	leaq L0(%rip), %rax
29*9880d681SAndroid Build Coastguard Worker        addl $6,L0(%rip)
30*9880d681SAndroid Build Coastguard Worker        addw $500,L0(%rip)
31*9880d681SAndroid Build Coastguard Worker        addl $500,L0(%rip)
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker_prev:
34*9880d681SAndroid Build Coastguard Worker        .space 12,0x90
35*9880d681SAndroid Build Coastguard Worker 	.quad L1
36*9880d681SAndroid Build Coastguard WorkerL0:
37*9880d681SAndroid Build Coastguard Worker        .quad L0
38*9880d681SAndroid Build Coastguard WorkerL_pc:
39*9880d681SAndroid Build Coastguard Worker 	.quad _foo - L_pc
40*9880d681SAndroid Build Coastguard Worker 	.quad _foo - L1
41*9880d681SAndroid Build Coastguard WorkerL1:
42*9880d681SAndroid Build Coastguard Worker 	.quad L1 - _prev
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker        .data
45*9880d681SAndroid Build Coastguard Worker.long	_foobar@GOTPCREL+4
46*9880d681SAndroid Build Coastguard Worker.long	_foo@GOTPCREL+4
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker        .section	__DWARF,__debug_frame,regular,debug
49*9880d681SAndroid Build Coastguard Worker        .quad L1
50*9880d681SAndroid Build Coastguard Worker        .quad _ext_foo
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker// Make sure local label which overlaps with non-local one is assigned to the
53*9880d681SAndroid Build Coastguard Worker// right atom.
54*9880d681SAndroid Build Coastguard Worker        .text
55*9880d681SAndroid Build Coastguard Worker_f2:
56*9880d681SAndroid Build Coastguard WorkerL2_0:
57*9880d681SAndroid Build Coastguard Worker        addl $0, %eax
58*9880d681SAndroid Build Coastguard WorkerL2_1:
59*9880d681SAndroid Build Coastguard Worker_f3:
60*9880d681SAndroid Build Coastguard Worker        addl L2_1 - L2_0, %eax
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Worker        .data
63*9880d681SAndroid Build Coastguard WorkerL4:
64*9880d681SAndroid Build Coastguard Worker        .long 0
65*9880d681SAndroid Build Coastguard Worker        .text
66*9880d681SAndroid Build Coastguard Worker        movl L4(%rip), %eax
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker        .section __TEXT,__literal8,8byte_literals
69*9880d681SAndroid Build Coastguard Worker	.quad 0
70*9880d681SAndroid Build Coastguard WorkerL5:
71*9880d681SAndroid Build Coastguard Worker	.quad 0
72*9880d681SAndroid Build Coastguard Workerf6:
73*9880d681SAndroid Build Coastguard Worker        .quad 0
74*9880d681SAndroid Build Coastguard WorkerL6:
75*9880d681SAndroid Build Coastguard Worker        .quad 0
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker        .text
78*9880d681SAndroid Build Coastguard Worker	movl L5(%rip), %eax
79*9880d681SAndroid Build Coastguard Worker	movl f6(%rip), %eax
80*9880d681SAndroid Build Coastguard Worker	movl L6(%rip), %eax
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker        .data
83*9880d681SAndroid Build Coastguard Worker        .quad L5
84*9880d681SAndroid Build Coastguard Worker        .quad f6
85*9880d681SAndroid Build Coastguard Worker	.quad L6
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker        .text
88*9880d681SAndroid Build Coastguard Worker        cmpq $0, _foo@GOTPCREL(%rip)
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Worker// CHECK:      Relocations [
91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section __data {
92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
93*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x20
94*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
95*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
96*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __literal8
98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x18
101*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
102*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
103*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
104*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: f6
105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
107*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x10
108*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
109*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
110*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
111*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __literal8
112*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
113*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
114*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x8
115*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
116*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
117*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_GOT (4)
118*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
119*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
120*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
121*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x4
122*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
123*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
124*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_GOT (4)
125*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foobar
126*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
127*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
128*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section __text {
129*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
130*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xDA
131*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
132*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
133*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_GOT (4)
134*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
135*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
136*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
137*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xD3
138*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
139*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
140*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
141*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __literal8
142*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
143*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
144*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xCD
145*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
146*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
147*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
148*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: f6
149*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
150*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
151*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xC7
152*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
153*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
154*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
155*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __literal8
156*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
157*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
158*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xC1
159*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
160*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
161*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
162*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __data
163*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
164*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
165*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xA5
166*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
167*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
168*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
169*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
170*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
171*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
172*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xA5
173*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
174*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
175*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
176*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
177*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
178*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
179*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x9D
180*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
181*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
182*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
183*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
184*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
185*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
186*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x9D
187*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
188*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
189*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
190*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
191*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
192*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
193*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x95
194*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
195*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
196*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
197*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
198*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
199*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
200*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x8D
201*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
202*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
203*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
204*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
205*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
206*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
207*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x79
208*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
209*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
210*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED_4 (8)
211*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
212*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
213*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
214*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x71
215*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
216*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
217*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED_2 (7)
218*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
219*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
220*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
221*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x69
222*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
223*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
224*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED_1 (6)
225*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
226*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
227*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
228*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x63
229*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
230*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
231*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
232*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
233*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
234*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
235*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x5C
236*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
237*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
238*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
239*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _prev
240*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
241*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
242*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x55
243*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
244*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
245*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
246*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _bar
247*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
248*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
249*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x55
250*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
251*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
252*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
253*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
254*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
255*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
256*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x4D
257*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
258*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
259*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
260*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _bar
261*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
262*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
263*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x4D
264*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
265*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
266*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
267*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
268*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
269*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
270*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x45
271*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
272*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
273*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SUBTRACTOR (5)
274*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _bar
275*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
276*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
277*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x45
278*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
279*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
280*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
281*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
282*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
283*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
284*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x3D
285*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
286*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
287*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
288*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
289*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
290*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
291*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x35
292*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
293*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
294*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
295*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
296*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
297*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
298*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x2D
299*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
300*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
301*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED_4 (8)
302*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
303*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
304*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
305*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x26
306*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
307*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
308*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED_1 (6)
309*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
310*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
311*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
312*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x20
313*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
314*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
315*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
316*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
317*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
318*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
319*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x1A
320*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
321*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
322*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_SIGNED (1)
323*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
324*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
325*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
326*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x14
327*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
328*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
329*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_GOT (4)
330*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
331*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
332*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
333*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0xE
334*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
335*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
336*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_GOT_LOAD (3)
337*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
338*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
339*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
340*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x7
341*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
342*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
343*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_BRANCH (2)
344*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
345*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
346*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
347*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x2
348*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 1
349*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 2
350*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_BRANCH (2)
351*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _foo
352*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
353*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
354*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Section __debug_frame {
355*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
356*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x8
357*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
358*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
359*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
360*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Symbol: _ext_foo
361*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
362*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Relocation {
363*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Offset: 0x0
364*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       PCRel: 0
365*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Length: 3
366*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Type: X86_64_RELOC_UNSIGNED (0)
367*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       Section: __text
368*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     }
369*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
370*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ]
371