diff options
| author | Rui Ueyama <ruiu@google.com> | 2016-01-05 16:35:48 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2016-01-05 16:35:48 +0000 |
| commit | c7b073a23a92eb6e88111972075bdaeeb29d4d07 (patch) | |
| tree | 95fea794422f6eb805f15e5c848ef61849f271cc | |
| parent | f53b1b7fdea5165e63c8848eda3e12cd33c9126c (diff) | |
| download | bcm5719-llvm-c7b073a23a92eb6e88111972075bdaeeb29d4d07.tar.gz bcm5719-llvm-c7b073a23a92eb6e88111972075bdaeeb29d4d07.zip | |
Simplify. NFC.
llvm-svn: 256846
| -rw-r--r-- | lld/ELF/OutputSections.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp index 0d435f3e7cc..dbe523be158 100644 --- a/lld/ELF/OutputSections.cpp +++ b/lld/ELF/OutputSections.cpp @@ -239,14 +239,13 @@ bool RelocationSection<ELFT>::applyTlsDynamicReloc(SymbolBody *Body, } template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) { - const unsigned EntrySize = IsRela ? sizeof(Elf_Rela) : sizeof(Elf_Rel); for (const DynamicReloc<ELFT> &Rel : Relocs) { auto *P = reinterpret_cast<Elf_Rel *>(Buf); - Buf += EntrySize; + Buf += IsRela ? sizeof(Elf_Rela) : sizeof(Elf_Rel); // Skip placeholder for global dynamic TLS relocation pair. It was already // handled by the previous relocation. - if (!Rel.C || !Rel.RI) + if (!Rel.C) continue; InputSectionBase<ELFT> &C = *Rel.C; @@ -262,16 +261,16 @@ template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) { continue; bool NeedsCopy = Body && Target->needsCopyRel(Type, *Body); bool NeedsGot = Body && Target->relocNeedsGot(Type, *Body); - bool CanBePreempted = canBePreempted(Body, NeedsGot); + bool CBP = canBePreempted(Body, NeedsGot); bool LazyReloc = Body && Target->supportsLazyRelocations() && Target->relocNeedsPlt(Type, *Body); bool IsDynRelative = Type == Target->getRelativeReloc(); - unsigned Sym = CanBePreempted ? Body->DynamicSymbolTableIndex : 0; + unsigned Sym = CBP ? Body->DynamicSymbolTableIndex : 0; unsigned Reloc; - if (!CanBePreempted && Body && isGnuIFunc<ELFT>(*Body)) + if (!CBP && Body && isGnuIFunc<ELFT>(*Body)) Reloc = Target->getIRelativeReloc(); - else if (!CanBePreempted || IsDynRelative) + else if (!CBP || IsDynRelative) Reloc = Target->getRelativeReloc(); else if (LazyReloc) Reloc = Target->getPltReloc(); @@ -289,7 +288,7 @@ template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) { P->r_offset = Out<ELFT>::Got->getEntryAddr(*Body); else if (NeedsCopy) P->r_offset = Out<ELFT>::Bss->getVA() + - dyn_cast<SharedSymbol<ELFT>>(Body)->OffsetInBss; + cast<SharedSymbol<ELFT>>(Body)->OffsetInBss; else P->r_offset = C.getOffset(RI.r_offset) + C.OutSec->getVA(); @@ -300,7 +299,7 @@ template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) { uintX_t Addend; if (NeedsCopy) Addend = 0; - else if (CanBePreempted || IsDynRelative) + else if (CBP || IsDynRelative) Addend = OrigAddend; else if (Body) Addend = getSymVA<ELFT>(*Body) + OrigAddend; |

