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