Mercurial > hg > CbC > CbC_llvm
view test/MC/MachO/ARM/long-call-branch-island-relocation.s @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children | afa8332a0e37 |
line wrap: on
line source
@ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.o @ RUN: macho-dump --dump-section-data < %t.o | FileCheck %s @ rdar://12359919 .syntax unified .text .globl _bar .align 2 .code 16 .thumb_func _bar _bar: push {r7, lr} mov r7, sp bl _foo pop {r7, pc} _junk: @ Make the _foo symbol sufficiently far away to force the 'bl' relocation @ above to be out of range. On Darwin, the assembler deals with this by @ generating an external relocation so the linker can create a branch @ island. .space 20000000 .section __TEXT,initcode,regular,pure_instructions .globl _foo .align 2 .code 16 _foo: push {r7, lr} mov r7, sp pop {r7, pc} @ CHECK: ('_relocations', [ @ CHECK: # Relocation 0 @ CHECK: (('word-0', 0x4), @ CHECK: ('word-1', 0x6d000002)), @ CHECK: ])