# REQUIRES: aarch64

# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t.out
# RUN: llvm-objdump -d -triple=aarch64-none-linux %t.out | FileCheck %s

# Check that the R_AARCH64_JUMP26 writes the branch opcode as well as the
# immediate. We use this property to overwrite instructions with a branch.

# CHECK: Disassembly of section .text:
# CHECK-NEXT: foo:
# CHECK-NEXT:    210000:        01 00 00 14     b       #4
# CHECK: bar:
# CHECK-NEXT:    210004:        ff ff ff 17     b       #-4

!ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_AARCH64
Sections:
  - Type:            SHT_PROGBITS
    Name:            .text
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    Content:         "0000000000000000"
  - Type:            SHT_RELA
    Name:            .rela.text
    Link:            .symtab
    Info:            .text
    Relocations:
      - Offset:          0
        Symbol:          bar
        Type:            R_AARCH64_JUMP26
      - Offset:          4
        Symbol:          foo
        Type:            R_AARCH64_JUMP26

Symbols:
 Local:
   - Type:             STT_FUNC
     Section:          .text
     Name:             foo
     Value:            0
   - Type:             STT_FUNC
     Section:          .text
     Name:             bar
     Value:            4
