[PATCH] D43161: Rename DynamicReloc::getAddend() to computeAddend(). NFC
Alexander Richardson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 19 03:02:19 PST 2018
This revision was not accepted when it landed; it landed in state "Needs Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rL325485: Rename DynamicReloc::getAddend() to computeAddend(). NFC (authored by arichardson, committed by ).
Repository:
rL LLVM
https://reviews.llvm.org/D43161
Files:
lld/trunk/ELF/SyntheticSections.cpp
lld/trunk/ELF/SyntheticSections.h
Index: lld/trunk/ELF/SyntheticSections.cpp
===================================================================
--- lld/trunk/ELF/SyntheticSections.cpp
+++ lld/trunk/ELF/SyntheticSections.cpp
@@ -1184,7 +1184,7 @@
return InputSec->getOutputSection()->Addr + InputSec->getOffset(OffsetInSec);
}
-int64_t DynamicReloc::getAddend() const {
+int64_t DynamicReloc::computeAddend() const {
if (UseSymVA)
return Sym->getVA(Addend);
return Addend;
@@ -1239,7 +1239,7 @@
static void encodeDynamicReloc(typename ELFT::Rela *P,
const DynamicReloc &Rel) {
if (Config->IsRela)
- P->r_addend = Rel.getAddend();
+ P->r_addend = Rel.computeAddend();
P->r_offset = Rel.getOffset();
if (Config->EMachine == EM_MIPS && Rel.getInputSec() == InX::MipsGot)
// The MIPS GOT section contains dynamic relocations that correspond to TLS
Index: lld/trunk/ELF/SyntheticSections.h
===================================================================
--- lld/trunk/ELF/SyntheticSections.h
+++ lld/trunk/ELF/SyntheticSections.h
@@ -316,16 +316,24 @@
UseSymVA(UseSymVA), Addend(Addend) {}
uint64_t getOffset() const;
- int64_t getAddend() const;
uint32_t getSymIndex() const;
const InputSectionBase *getInputSec() const { return InputSec; }
+ // Computes the addend of the dynamic relocation. Note that this is not the
+ // same as the Addend member variable as it also includes the symbol address
+ // if UseSymVA is true.
+ int64_t computeAddend() const;
+
RelType Type;
private:
Symbol *Sym;
const InputSectionBase *InputSec = nullptr;
uint64_t OffsetInSec;
+ // If this member is true, the dynamic relocation will not be against the
+ // symbol but will instead be a relative relocation that simply adds the
+ // load address. This means we need to write the symbol virtual address
+ // plus the original addend as the final relocation addend.
bool UseSymVA;
int64_t Addend;
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43161.134876.patch
Type: text/x-patch
Size: 1971 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180219/4d5ddd31/attachment.bin>
More information about the llvm-commits
mailing list