[lld] r272034 - Define a helper function to get a relocation name. NFC.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 7 11:10:13 PDT 2016


Author: ruiu
Date: Tue Jun  7 13:10:12 2016
New Revision: 272034

URL: http://llvm.org/viewvc/llvm-project?rev=272034&view=rev
Log:
Define a helper function to get a relocation name. NFC.

Modified:
    lld/trunk/ELF/Target.cpp

Modified: lld/trunk/ELF/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=272034&r1=272033&r2=272034&view=diff
==============================================================================
--- lld/trunk/ELF/Target.cpp (original)
+++ lld/trunk/ELF/Target.cpp Tue Jun  7 13:10:12 2016
@@ -47,36 +47,36 @@ TargetInfo *Target;
 
 static void or32le(uint8_t *P, int32_t V) { write32le(P, read32le(P) | V); }
 
+static StringRef getRelName(uint32_t Type) {
+  return getELFRelocationTypeName(Config->EMachine, Type);
+}
+
 template <unsigned N> static void checkInt(int64_t V, uint32_t Type) {
   if (isInt<N>(V))
     return;
-  StringRef S = getELFRelocationTypeName(Config->EMachine, Type);
-  error("relocation " + S + " out of range");
+  error("relocation " + getRelName(Type) + " out of range");
 }
 
 template <unsigned N> static void checkUInt(uint64_t V, uint32_t Type) {
   if (isUInt<N>(V))
     return;
-  StringRef S = getELFRelocationTypeName(Config->EMachine, Type);
-  error("relocation " + S + " out of range");
+  error("relocation " + getRelName(Type) + " out of range");
 }
 
 template <unsigned N> static void checkIntUInt(uint64_t V, uint32_t Type) {
   if (isInt<N>(V) || isUInt<N>(V))
     return;
-  StringRef S = getELFRelocationTypeName(Config->EMachine, Type);
-  error("relocation " + S + " out of range");
+  error("relocation " + getRelName(Type) + " out of range");
 }
 
 template <unsigned N> static void checkAlignment(uint64_t V, uint32_t Type) {
   if ((V & (N - 1)) == 0)
     return;
-  StringRef S = getELFRelocationTypeName(Config->EMachine, Type);
-  error("improper alignment for relocation " + S);
+  error("improper alignment for relocation " + getRelName(Type));
 }
 
 static void warnDynRel(uint32_t Type) {
-  error("relocation " + getELFRelocationTypeName(Config->EMachine, Type) +
+  error("relocation " + getRelName(Type) +
         " cannot be used when making a shared object; recompile with -fPIC.");
 }
 
@@ -617,10 +617,8 @@ void X86_64TargetInfo::writePlt(uint8_t
 }
 
 uint32_t X86_64TargetInfo::getDynRel(uint32_t Type) const {
-  if (Type == R_X86_64_PC32 || Type == R_X86_64_32)
-    if (Config->Shared)
-      error(getELFRelocationTypeName(EM_X86_64, Type) +
-            " cannot be a dynamic relocation");
+  if (Config->Shared && (Type == R_X86_64_PC32 || Type == R_X86_64_32))
+    error(getRelName(Type) + " cannot be a dynamic relocation");
   return Type;
 }
 




More information about the llvm-commits mailing list