diff options
-rw-r--r-- | lld/ELF/InputSection.cpp | 2 | ||||
-rw-r--r-- | lld/ELF/Target.cpp | 14 | ||||
-rw-r--r-- | lld/ELF/Target.h | 2 |
3 files changed, 9 insertions, 9 deletions
diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp index c7bdeb6c1d7..c8fad312d45 100644 --- a/lld/ELF/InputSection.cpp +++ b/lld/ELF/InputSection.cpp @@ -180,7 +180,7 @@ void InputSectionBase<ELFT>::relocate(uint8_t *Buf, uint8_t *BufEnd, // relocations that immediately follow TLS relocations. This function // knows how many slots we need to skip. I += Target->relocateTlsOptimize(BufLoc, BufEnd, Type, AddrLoc, SymVA, - *Body); + Body); continue; } diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp index a60965472e4..b9b054e81e9 100644 --- a/lld/ELF/Target.cpp +++ b/lld/ELF/Target.cpp @@ -105,7 +105,7 @@ public: bool isTlsOptimized(unsigned Type, const SymbolBody *S) const override; unsigned relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const override; + const SymbolBody *S) const override; bool isGotRelative(uint32_t Type) const override; private: @@ -141,7 +141,7 @@ public: bool isSizeReloc(uint32_t Type) const override; unsigned relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const override; + const SymbolBody *S) const override; private: void relocateTlsLdToLe(uint8_t *Loc, uint8_t *BufEnd, uint64_t P, @@ -294,7 +294,7 @@ bool TargetInfo::isSizeReloc(uint32_t Type) const { return false; } unsigned TargetInfo::relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const { + const SymbolBody *S) const { return 0; } @@ -483,10 +483,10 @@ bool X86TargetInfo::relocNeedsDynRelative(unsigned Type) const { unsigned X86TargetInfo::relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const { + const SymbolBody *S) const { switch (Type) { case R_386_TLS_GD: - if (canBePreempted(&S, true)) + if (canBePreempted(S, true)) relocateTlsGdToIe(Loc, BufEnd, P, SA); else relocateTlsGdToLe(Loc, BufEnd, P, SA); @@ -858,7 +858,7 @@ void X86_64TargetInfo::relocateTlsIeToLe(uint8_t *Loc, uint8_t *BufEnd, unsigned X86_64TargetInfo::relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const { + const SymbolBody *S) const { switch (Type) { case R_X86_64_DTPOFF32: relocateOne(Loc, BufEnd, R_X86_64_TPOFF32, P, SA); @@ -867,7 +867,7 @@ unsigned X86_64TargetInfo::relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, relocateTlsIeToLe(Loc, BufEnd, P, SA); return 0; case R_X86_64_TLSGD: { - if (canBePreempted(&S, true)) + if (canBePreempted(S, true)) relocateTlsGdToIe(Loc, BufEnd, P, SA); else relocateTlsGdToLe(Loc, BufEnd, P, SA); diff --git a/lld/ELF/Target.h b/lld/ELF/Target.h index 828222879e4..f06b90ed551 100644 --- a/lld/ELF/Target.h +++ b/lld/ELF/Target.h @@ -81,7 +81,7 @@ public: virtual bool needsCopyRel(uint32_t Type, const SymbolBody &S) const; virtual unsigned relocateTlsOptimize(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type, uint64_t P, uint64_t SA, - const SymbolBody &S) const; + const SymbolBody *S) const; virtual ~TargetInfo(); protected: |