[lld] r266580 - Change getRelExpr to return the final value for TLSLD. NFC.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 17 17:28:57 PDT 2016


Author: rafael
Date: Sun Apr 17 19:28:57 2016
New Revision: 266580

URL: http://llvm.org/viewvc/llvm-project?rev=266580&view=rev
Log:
Change getRelExpr to return the final value for TLSLD. NFC.

Modified:
    lld/trunk/ELF/Target.cpp
    lld/trunk/ELF/Writer.cpp

Modified: lld/trunk/ELF/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=266580&r1=266579&r2=266580&view=diff
==============================================================================
--- lld/trunk/ELF/Target.cpp (original)
+++ lld/trunk/ELF/Target.cpp Sun Apr 17 19:28:57 2016
@@ -372,6 +372,8 @@ RelExpr X86TargetInfo::getRelExpr(uint32
   switch (Type) {
   default:
     return R_ABS;
+  case R_386_TLS_LDM:
+    return R_TLSLD;
   case R_386_PLT32:
   case R_386_PC32:
   case R_386_GOTPC:
@@ -673,12 +675,13 @@ RelExpr X86_64TargetInfo::getRelExpr(uin
   switch (Type) {
   default:
     return R_ABS;
+  case R_X86_64_TLSLD:
+    return R_TLSLD_PC;
   case R_X86_64_SIZE32:
   case R_X86_64_SIZE64:
     return R_SIZE;
   case R_X86_64_PLT32:
   case R_X86_64_PC32:
-  case R_X86_64_TLSLD:
   case R_X86_64_TLSGD:
     return R_PC;
   case R_X86_64_GOT32:

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=266580&r1=266579&r2=266580&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Sun Apr 17 19:28:57 2016
@@ -293,7 +293,6 @@ static unsigned handleTlsRelocation(uint
       Out<ELFT>::RelaDyn->addReloc({Target->TlsModuleIndexRel, Out<ELFT>::Got,
                                     Out<ELFT>::Got->getTlsIndexOff(), false,
                                     nullptr, 0});
-    Expr = Expr == R_PC ? R_TLSLD_PC : R_TLSLD;
     C.Relocations.push_back({Expr, Type, Offset, Addend, &Body});
     return 1;
   }




More information about the llvm-commits mailing list