// REQUIRES: arm
// RUN: llvm-mc -arm-add-build-attributes -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t
// RUN: echo "SECTIONS { \
// RUN:       . = SIZEOF_HEADERS; \
// RUN:       .text_low : { *(.text_low) *(.text_low2) . = . + 0x2000000 ; *(.text_high) *(.text_high2) } \
// RUN:       } " > %t.script
// RUN: ld.lld --no-rosegment --script %t.script %t -o %t2
// RUN: llvm-objdump -d %t2 --start-address=148 --stop-address=188 --triple=thumbv7a-linux-gnueabihf | FileCheck --check-prefix=CHECK1 %s
// RUN: llvm-objdump -d %t2 --start-address=33554620 --stop-address=33554654 --triple=thumbv7a-linux-gnueabihf | FileCheck --check-prefix=CHECK2 %s
// Test that range extension thunks can handle location expressions within
// a Section Description
 .syntax unified
 .section .text_low, "ax", %progbits
 .thumb
 .globl _start
_start: bx lr
 .globl low_target
 .type low_target, %function
low_target:
 bl high_target
 bl high_target2

 .section .text_low2, "ax", %progbits
 .thumb
 .globl low_target2
 .type low_target2, %function
low_target2:
 bl high_target
 bl high_target2
// CHECK1: Disassembly of section .text_low:
// CHECK1-EMPTY:
// CHECK1-NEXT: <_start>:
// CHECK1-NEXT:       94:       70 47   bx      lr
// CHECK1: <low_target>:
// CHECK1-NEXT:       96:       00 f0 03 f8     bl      #6
// CHECK1-NEXT:       9a:       00 f0 06 f8     bl      #12
// CHECK1: <__Thumbv7ABSLongThunk_high_target>:
// CHECK1-NEXT:       a0:       40 f2 bd 0c     movw    r12, #189
// CHECK1-NEXT:       a4:       c0 f2 00 2c     movt    r12, #512
// CHECK1-NEXT:       a8:       60 47   bx      r12
// CHECK1: <__Thumbv7ABSLongThunk_high_target2>:
// CHECK1-NEXT:       aa:       40 f2 d9 0c     movw    r12, #217
// CHECK1-NEXT:       ae:       c0 f2 00 2c     movt    r12, #512
// CHECK1-NEXT:       b2:       60 47   bx      r12
// CHECK1: <low_target2>:
// CHECK1-NEXT:       b4:       ff f7 f4 ff     bl      #-24
// CHECK1-NEXT:       b8:       ff f7 f7 ff     bl      #-18

 .section .text_high, "ax", %progbits
 .thumb
 .globl high_target
 .type high_target, %function
high_target:
 bl low_target
 bl low_target2

 .section .text_high2, "ax", %progbits
 .thumb
 .globl high_target2
 .type high_target2, %function
high_target2:
 bl low_target
 bl low_target2

// CHECK2: <high_target>:
// CHECK2-NEXT:  20000bc:       00 f0 02 f8     bl      #4
// CHECK2-NEXT:  20000c0:       00 f0 05 f8     bl      #10
// CHECK2: <__Thumbv7ABSLongThunk_low_target>:
// CHECK2-NEXT:  20000c4:       40 f2 97 0c     movw    r12, #151
// CHECK2-NEXT:  20000c8:       c0 f2 00 0c     movt    r12, #0
// CHECK2-NEXT:  20000cc:       60 47   bx      r12
// CHECK2: <__Thumbv7ABSLongThunk_low_target2>:
// CHECK2-NEXT:  20000ce:       40 f2 b5 0c     movw    r12, #181
// CHECK2-NEXT:  20000d2:       c0 f2 00 0c     movt    r12, #0
// CHECK2-NEXT:  20000d6:       60 47   bx      r12
// CHECK2: <high_target2>:
// CHECK2-NEXT:  20000d8:       ff f7 f4 ff     bl      #-24
// CHECK2-NEXT:  20000dc:       ff f7 f7 ff     bl      #-18
