Mercurial > hg > CbC > CbC_llvm
view lld/test/ELF/arm-bl-v6-inrange.s @ 192:d7606dcf6fce
Added tag llvm10 for changeset 0572611fdcc8
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2020 18:01:34 +0900 |
parents | 0572611fdcc8 |
children | 5f17cb93ff66 |
line wrap: on
line source
// REQUIRES: arm // RUN: llvm-mc -arm-add-build-attributes -filetype=obj -triple=armv6-none-linux-gnueabi %s -o %t // RUN: echo "SECTIONS { \ // RUN: .callee1 0x100004 : { *(.callee_low) } \ // RUN: .caller 0x500000 : { *(.text) } \ // RUN: .callee2 0x900004 : { *(.callee_high) } } " > %t.script // RUN: ld.lld %t --script %t.script -o %t2 // RUN: llvm-objdump -d --triple=armv6-none-linux-gnueabi %t2 | FileCheck %s // On older Arm Architectures such as v5 and v6 the Thumb BL and BLX relocation // uses a slightly different encoding that has a lower range. These relocations // are at the extreme range of what is permitted. .thumb .text .syntax unified .cpu arm1176jzf-s .globl _start .type _start,%function _start: bl thumbfunc bl armfunc bx lr .section .callee_low, "ax", %progbits .globl thumbfunc .type thumbfunc, %function thumbfunc: bx lr // CHECK: Disassembly of section .callee1: // CHECK-EMPTY: // CHECK-NEXT: <thumbfunc>: // CHECK-NEXT: 100004: 70 47 bx lr // CHECK-EMPTY: // CHECK-NEXT: Disassembly of section .caller: // CHECK-EMPTY: // CHECK-NEXT: <_start>: // CHECK-NEXT: 500000: 00 f4 00 f8 bl #-4194304 // CHECK-NEXT: 500004: ff f3 fe ef blx #4194300 // CHECK-NEXT: 500008: 70 47 bx lr .arm .section .callee_high, "ax", %progbits .globl armfunc .type armfunc, %function armfunc: bx lr // CHECK: Disassembly of section .callee2: // CHECK-EMPTY: // CHECK-NEXT: <armfunc>: // CHECK-NEXT: 900004: 1e ff 2f e1 bx lr