# REQUIRES: aarch64 # RUN: yaml2obj %s -o %t.o # RUN: ld.lld %t.o -o %t.out # RUN: llvm-objdump -d --no-show-raw-insn %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-EMPTY: # CHECK-NEXT: : # CHECK-NEXT: 210120: b 0x210124 # CHECK: : # CHECK-NEXT: 210124: b 0x210120 !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: - Symbol: bar Type: R_AARCH64_JUMP26 - Offset: 4 Symbol: foo Type: R_AARCH64_JUMP26 Symbols: - Type: STT_FUNC Section: .text Name: foo Value: 0 - Type: STT_FUNC Section: .text Name: bar Value: 4