# REQUIRES: arm
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: llvm-objdump --triple=thumbv7a-linux-gnueabi -d %t | FileCheck %s

# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
# CHECK-NEXT: <_start>:
# CHECK-NEXT:    ff e7   b       #-2

# Test the R_ARM_THM_JUMP11 relocation (102) to an undefined weak reference
# It should resolve to the next instruction, which is an offset of -2 which
# when added to the Thumb PC-bias of 4 is +2. We can't use llvm-mc to construct
# the object as it relaxes b.n to b.w (R_ARM_JUMP24).

!ELF
FileHeader:
  Class:           ELFCLASS32
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_ARM
Sections:
  - Type:            SHT_PROGBITS
    Name:            .text
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    Content:         "fee7"
  - Type:            SHT_REL
    Name:            .rel.text
    Link:            .symtab
    Info:            .text
    Relocations:
      - Symbol:          undefined_weak
        Type:            R_ARM_THM_JUMP11

Symbols:
  - Type:             STT_NOTYPE
    Name:             "$t"
    Section:          .text
    Value:            0
  - Type:             STT_FUNC
    Name:             _start
    Value:            1
    Section:          .text
    Binding:          STB_GLOBAL
  - Type:             STT_NOTYPE
    Name:             undefined_weak
    Value:            0
    Binding:          STB_WEAK
