1@ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.o
2@ RUN: macho-dump --dump-section-data < %t.o | FileCheck %s
3
4@ rdar://12359919
5
6	.syntax unified
7	.text
8
9	.globl	_bar
10	.align	2
11	.code	16
12	.thumb_func	_bar
13_bar:
14	push	{r7, lr}
15	mov	r7, sp
16	bl	_foo
17	pop	{r7, pc}
18
19
20_junk:
21@ Make the _foo symbol sufficiently far away to force the 'bl' relocation
22@ above to be out of range. On Darwin, the assembler deals with this by
23@ generating an external relocation so the linker can create a branch
24@ island.
25
26  .space 20000000
27
28  .section	__TEXT,initcode,regular,pure_instructions
29
30	.globl	_foo
31	.align	2
32	.code	16
33_foo:
34	push	{r7, lr}
35	mov	r7, sp
36	pop	{r7, pc}
37
38
39@ CHECK:  ('_relocations', [
40@ CHECK:    # Relocation 0
41@ CHECK:    (('word-0', 0x4),
42@ CHECK:     ('word-1', 0x6d000002)),
43@ CHECK:  ])
44