Simplify. NFC.
authorRui Ueyama <ruiu@google.com>
Sun, 13 Mar 2016 05:23:40 +0000 (05:23 +0000)
committerRui Ueyama <ruiu@google.com>
Sun, 13 Mar 2016 05:23:40 +0000 (05:23 +0000)
llvm-svn: 263373

lld/ELF/OutputSections.cpp

index 1f72e12..d237f33 100644 (file)
@@ -261,19 +261,12 @@ typename ELFFile<ELFT>::uintX_t DynamicReloc<ELFT>::getOffset() const {
 
 template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) {
   for (const DynamicReloc<ELFT> &Rel : Relocs) {
-    auto *P = reinterpret_cast<Elf_Rel *>(Buf);
+    auto *P = reinterpret_cast<Elf_Rela *>(Buf);
     Buf += IsRela ? sizeof(Elf_Rela) : sizeof(Elf_Rel);
     SymbolBody *Sym = Rel.Sym;
 
-    if (IsRela) {
-      uintX_t VA;
-      if (Rel.UseSymVA)
-        VA = Sym->getVA<ELFT>(Rel.Addend);
-      else
-        VA = Rel.Addend;
-      reinterpret_cast<Elf_Rela *>(P)->r_addend = VA;
-    }
-
+    if (IsRela)
+      P->r_addend = Rel.UseSymVA ? Sym->getVA<ELFT>(Rel.Addend) : Rel.Addend;
     P->r_offset = Rel.getOffset();
     uint32_t SymIdx = (!Rel.UseSymVA && Sym) ? Sym->DynsymIndex : 0;
     P->setSymbolAndType(SymIdx, Rel.Type, Config->Mips64EL);