+++ /dev/null
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -5696,9 +5696,9 @@ mips_elf_create_dynamic_relocation (bfd
-
- /* We must now calculate the dynamic symbol table index to use
- in the relocation. */
-- if (h != NULL
-- && (!h->root.def_regular
-- || (info->shared && !info->symbolic && !h->root.forced_local)))
-+ if (!(h == NULL
-+ || (h->root.def_regular
-+ && (info->executable || info->symbolic || h->root.forced_local))))
- {
- indx = h->root.dynindx;
- if (SGI_COMPAT (output_bfd))