--- binutils-2.25.1/bfd/elf32-microblaze.c.orig 2016-02-11 23:12:00.301992882 +0000 +++ binutils-2.25.1/bfd/elf32-microblaze.c 2016-02-11 23:28:12.043074209 +0000 @@ -3293,8 +3293,7 @@ The entry in the global offset table will already have been initialized in the relocate_section function. */ if (info->shared - && (info->symbolic || h->dynindx == -1) - && h->def_regular) + && ((info->symbolic && h->def_regular) || h->dynindx == -1)) { asection *sec = h->root.u.def.section; microblaze_elf_output_dynamic_relocation (output_bfd,