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