Bring r240130 back.
[oota-llvm.git] / test / MC / MachO / AArch64 / ld64-workaround.s
1 ; RUN: llvm-mc -triple arm64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -r --expand-relocs | FileCheck %s
2
3 ; Test that we produce an external relocation. This is a known and temporary bug
4 ; in ld64, where it mishandles pointer-sized internal relocations. We should be
5 ; able to remove this entirely soon.
6
7 // CHECK:      Relocations [
8 // CHECK-NEXT:   Section __data {
9 // CHECK-NEXT:     Relocation {
10 // CHECK-NEXT:       Offset: 0x18
11 // CHECK-NEXT:       PCRel: 0
12 // CHECK-NEXT:       Length: 3
13 // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
14 // CHECK-NEXT:       Symbol: -
15 // CHECK-NEXT:     }
16 // CHECK-NEXT:     Relocation {
17 // CHECK-NEXT:       Offset: 0x10
18 // CHECK-NEXT:       PCRel: 0
19 // CHECK-NEXT:       Length: 3
20 // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
21 // CHECK-NEXT:       Symbol: -
22 // CHECK-NEXT:     }
23 // CHECK-NEXT:     Relocation {
24 // CHECK-NEXT:       Offset: 0x8
25 // CHECK-NEXT:       PCRel: 0
26 // CHECK-NEXT:       Length: 3
27 // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
28 // CHECK-NEXT:       Symbol: -
29 // CHECK-NEXT:     }
30 // CHECK-NEXT:     Relocation {
31 // CHECK-NEXT:       Offset: 0x0
32 // CHECK-NEXT:       PCRel: 0
33 // CHECK-NEXT:       Length: 3
34 // CHECK-NEXT:       Type: ARM64_RELOC_UNSIGNED (0)
35 // CHECK-NEXT:       Symbol: -
36 // CHECK-NEXT:     }
37 // CHECK-NEXT:   }
38 // CHECK-NEXT: ]
39
40         .section        __DATA,__cfstring
41 Lcfstring:
42
43         .section        __DATA,__literal4,4byte_literals
44 Llit4:
45         .word 42
46
47         .section        __DATA,__literal8,8byte_literals
48 Llit8:
49         .quad 42
50
51         .section        __DATA,__literal16,16byte_literals
52 Llit16:
53         .quad 42
54         .quad 42
55
56         .section        __DATA,__data
57         .quad   Lcfstring
58         .quad   Llit4
59         .quad   Llit8
60         .quad   Llit16