diff -ur binutils-2.25.1.orig/bfd/elfxx-mips.c binutils-2.25.1/bfd/elfxx-mips.c
--- binutils-2.25.1.orig/bfd/elfxx-mips.c	2018-01-31 11:26:12.000000000 -0500
+++ binutils-2.25.1/bfd/elfxx-mips.c	2018-01-31 12:16:00.179841734 -0500
@@ -3228,7 +3228,7 @@
       && (!info->shared || !SYMBOL_REFERENCES_LOCAL (info, h)))
     indx = h->dynindx;
 
-  if ((info->shared || indx != 0)
+  if ((!info->executable || indx != 0)
       && (h == NULL
 	  || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
 	  || h->root.type != bfd_link_hash_undefweak))
@@ -3338,7 +3338,7 @@
   if (entry->tls_initialized)
     return;
 
-  if ((info->shared || indx != 0)
+  if ((!info->executable || indx != 0)
       && (h == NULL
 	  || ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT
 	  || h->root.type != bfd_link_hash_undefweak))