diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp index 5b05dfeb8e9f..baf71404d417 100644 --- a/lld/ELF/Target.cpp +++ b/lld/ELF/Target.cpp @@ -1222,7 +1222,8 @@ AArch64TargetInfo::AArch64TargetInfo() { bool AArch64TargetInfo::isRelRelative(uint32_t Type) const { return Type == R_AARCH64_PREL32 || Type == R_AARCH64_ADR_PREL_PG_HI21 || Type == R_AARCH64_LDST8_ABS_LO12_NC || - Type == R_AARCH64_LDST32_ABS_LO12_NC; + Type == R_AARCH64_LDST32_ABS_LO12_NC || + Type == R_AARCH64_LDST64_ABS_LO12_NC; } bool AArch64TargetInfo::isTlsGlobalDynamicRel(unsigned Type) const { diff --git a/lld/test/ELF/aarch64-relative.s b/lld/test/ELF/aarch64-relative.s index 7c2e9de827de..11014efc2b1f 100644 --- a/lld/test/ELF/aarch64-relative.s +++ b/lld/test/ELF/aarch64-relative.s @@ -5,6 +5,7 @@ adrp x8, .Lfoo strb w9, [x8, :lo12:.Lfoo] ldr w0, [x8, :lo12:.Lfoo] + ldr x0, [x8, :lo12:.Lfoo] .data .Lfoo: