2010-04-18 Sriraman Tallam <tmsriram@google.com>
[deliverable/binutils-gdb.git] / gold / x86_64.cc
index e9dd5ae5d5a6ba4f84735757cd2a0526c6ce6c41..9110278ebb8414ef2dcccc822734202aad21a320 100644 (file)
@@ -1398,14 +1398,10 @@ Target_x86_64::Scan::unsupported_reloc_global(Sized_relobj<64, false>* object,
             object->name().c_str(), r_type, gsym->demangled_name().c_str());
 }
 
-// Returns true if this relocation type could be that of a function pointer
-// only if the target is not position-independent code.
+// Returns true if this relocation type could be that of a function pointer.
 inline bool
 Target_x86_64::Scan::possible_function_pointer_reloc(unsigned int r_type)
 {
-  if (parameters->options().shared())
-    return false;
-
   switch (r_type)
     {
     case elfcpp::R_X86_64_64:
@@ -1413,6 +1409,11 @@ Target_x86_64::Scan::possible_function_pointer_reloc(unsigned int r_type)
     case elfcpp::R_X86_64_32S:
     case elfcpp::R_X86_64_16:
     case elfcpp::R_X86_64_8:
+    case elfcpp::R_X86_64_GOT64:
+    case elfcpp::R_X86_64_GOT32:
+    case elfcpp::R_X86_64_GOTPCREL64:
+    case elfcpp::R_X86_64_GOTPCREL:
+    case elfcpp::R_X86_64_GOTPLT64:
       {
         return true;
       }
This page took 0.023695 seconds and 4 git commands to generate.