forked from OSchip/llvm-project
R_AARCH64_LDST8_ABS_LO12_NC is effectivelly relative.
It only sets the low bits and given the page alignment of PT_LOAD the dynamic linker can only change the high ones. llvm-svn: 261765
This commit is contained in:
parent
c36e97ae39
commit
9a3bb54b2e
|
@ -1220,7 +1220,8 @@ AArch64TargetInfo::AArch64TargetInfo() {
|
|||
}
|
||||
|
||||
bool AArch64TargetInfo::isRelRelative(uint32_t Type) const {
|
||||
return Type == R_AARCH64_PREL32 || Type == R_AARCH64_ADR_PREL_PG_HI21;
|
||||
return Type == R_AARCH64_PREL32 || Type == R_AARCH64_ADR_PREL_PG_HI21 ||
|
||||
Type == R_AARCH64_LDST8_ABS_LO12_NC;
|
||||
}
|
||||
|
||||
bool AArch64TargetInfo::isTlsGlobalDynamicRel(unsigned Type) const {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
// RUN: ld.lld %t.o -o %t.so -shared
|
||||
// RUN: llvm-readobj -r %t.so | FileCheck %s
|
||||
adrp x8, .Lfoo
|
||||
strb w9, [x8, :lo12:.Lfoo]
|
||||
|
||||
.data
|
||||
.Lfoo:
|
||||
|
|
Loading…
Reference in New Issue