# REQUIRES: arm
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: llvm-objdump -d %t | FileCheck %s

# CHECK: Disassembly of section .text:
# CHECK-EMPTY:
# CHECK-NEXT: <_start>:
# CHECK-NEXT:    ff e7   b       0x200b6 <_start+0x2> @ imm = #-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
