Index: llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp =================================================================== --- llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp +++ llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp @@ -53,6 +53,7 @@ using namespace aarch64; switch (Type) { case ELF::R_AARCH64_CALL26: + case ELF::R_AARCH64_JUMP26: return ELFCall26; case ELF::R_AARCH64_ADR_PREL_PG_HI21: return ELFAdrPage21; Index: llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s =================================================================== --- llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s +++ llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s @@ -14,9 +14,10 @@ .size main, .-main -# Check R_AARCH64_CALL26 relocation of a local function call +# Check R_AARCH64_CALL26 / R_AARCH64_JUMP26 relocation of a local function call # # jitlink-check: decode_operand(local_func_call26, 0)[25:0] = (local_func - local_func_call26)[27:2] +# jitlink-check: decode_operand(local_func_jump26, 0)[25:0] = (local_func - local_func_jump26)[27:2] .globl local_func .p2align 2 .type local_func,@function @@ -30,6 +31,11 @@ bl local_func .size local_func_call26, .-local_func_call26 + .globl local_func_jump26 + .p2align 2 +local_func_jump26: + b local_func + .size local_func_jump26, .-local_func_jump26 # Check R_AARCH64_ADR_PREL_PG_HI21 / R_AARCH64_ADD_ABS_LO12_NC relocation of a local symbol #