1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-apple-darwin14 %s -filetype=obj -o - | llvm-readobj -r --expand-relocs | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Test that we "S + K" produce a relocation with a symbol, but just S produces 4*9880d681SAndroid Build Coastguard Worker// a relocation with the section. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker .section __TEXT,__literal4,4byte_literals 7*9880d681SAndroid Build Coastguard WorkerL0: 8*9880d681SAndroid Build Coastguard Worker .long 42 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker .section __TEXT,__cstring,cstring_literals 11*9880d681SAndroid Build Coastguard WorkerL1: 12*9880d681SAndroid Build Coastguard Worker .asciz "42" 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker .section __DATA,__data 15*9880d681SAndroid Build Coastguard Worker .quad L0 16*9880d681SAndroid Build Coastguard Worker .quad L0 + 1 17*9880d681SAndroid Build Coastguard Worker .quad L1 18*9880d681SAndroid Build Coastguard Worker .quad L1 + 1 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker// CHECK: Relocations [ 21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section __data { 22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocation { 23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 0x18 24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: PCRel: 0 25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Length: 3 26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) 27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol: L1 28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocation { 30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 0x10 31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: PCRel: 0 32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Length: 3 33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) 34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: __cstring (3) 35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocation { 37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 0x8 38*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: PCRel: 0 39*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Length: 3 40*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) 41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol: L0 42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocation { 44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 0x0 45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: PCRel: 0 46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Length: 3 47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: X86_64_RELOC_UNSIGNED (0) 48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: __literal4 (2) 49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 52