// 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     0x100004 <thumbfunc>
// CHECK-NEXT:   500004:       ff f3 fe ef     blx    0x900004 <armfunc>
// 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
