// REQUIRES: arm
// RUN: llvm-mc --triple=armv7a-none-eabi --arm-add-build-attributes -filetype=obj -o %t.o %s
// RUN: not ld.lld -n %t.o -o %t 2>&1 | FileCheck %s
 .section .text.0, "ax", %progbits
 .thumb_func
 .balign 4
low:
  bx lr
  nop
  nop
  nop
  nop
  nop

 .section .text.1, "ax", %progbits
 .global _start
 .arm
_start:
// CHECK: {{.*}}.s.tmp.o:(.text.1+0x0): relocation R_ARM_LDR_PC_G0 out of range: 4096 is not in [0, 4095]
/// ldr r0, low - 4076
 .inst 0xe51f0ff4
 .reloc 0, R_ARM_LDR_PC_G0, low
// CHECK: {{.*}}.s.tmp.o:(.text.1+0x4): relocation R_ARM_LDR_PC_G0 out of range: 4096 is not in [0, 4095]
/// ldr r0, high + 4100
 .inst 0xe59f0ffc
 .reloc 4, R_ARM_LDR_PC_G0, high

 .section .text.2
 .thumb_func
 .balign 4
high:
 bx lr
 nop
