[PATCH] D15453: [ELF] - refactor of code in RelocationSection<ELFT>::writeTo()
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 15 00:26:21 PST 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL255626: [ELF] - refactor of code in RelocationSection<ELFT>::writeTo() (authored by grimar).
Changed prior to commit:
http://reviews.llvm.org/D15453?vs=42526&id=42822#toc
Repository:
rL LLVM
http://reviews.llvm.org/D15453
Files:
lld/trunk/ELF/OutputSections.cpp
Index: lld/trunk/ELF/OutputSections.cpp
===================================================================
--- lld/trunk/ELF/OutputSections.cpp
+++ lld/trunk/ELF/OutputSections.cpp
@@ -264,21 +264,19 @@
bool LazyReloc = Body && Target->supportsLazyRelocations() &&
Target->relocNeedsPlt(Type, *Body);
- if (CanBePreempted) {
- unsigned GotReloc =
- Body->isTLS() ? Target->getTlsGotReloc() : Target->getGotReloc();
- if (NeedsGot)
- P->setSymbolAndType(Body->getDynamicSymbolTableIndex(),
- LazyReloc ? Target->getPltReloc() : GotReloc,
- Config->Mips64EL);
- else
- P->setSymbolAndType(Body->getDynamicSymbolTableIndex(),
- NeedsCopy ? Target->getCopyReloc()
- : Target->getDynReloc(Type),
- Config->Mips64EL);
- } else {
- P->setSymbolAndType(0, Target->getRelativeReloc(), Config->Mips64EL);
- }
+ unsigned Sym = CanBePreempted ? Body->getDynamicSymbolTableIndex() : 0;
+ unsigned Rel;
+ if (!CanBePreempted)
+ Rel = Target->getRelativeReloc();
+ else if (LazyReloc)
+ Rel = Target->getPltReloc();
+ else if (NeedsGot)
+ Rel = Body->isTLS() ? Target->getTlsGotReloc() : Target->getGotReloc();
+ else if (NeedsCopy)
+ Rel = Target->getCopyReloc();
+ else
+ Rel = Target->getDynReloc(Type);
+ P->setSymbolAndType(Sym, Rel, Config->Mips64EL);
if (NeedsGot) {
if (LazyReloc)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15453.42822.patch
Type: text/x-patch
Size: 1564 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151215/e39e2eff/attachment.bin>
More information about the llvm-commits
mailing list