| @@ -8616,26 +8616,27 @@ _bfd_mips_elf_adjust_dynamic_symbol (str | | | @@ -8616,26 +8616,27 @@ _bfd_mips_elf_adjust_dynamic_symbol (str |
8616 | bfd *dynobj; | | 8616 | bfd *dynobj; |
8617 | struct mips_elf_link_hash_entry *hmips; | | 8617 | struct mips_elf_link_hash_entry *hmips; |
8618 | struct mips_elf_link_hash_table *htab; | | 8618 | struct mips_elf_link_hash_table *htab; |
8619 | | | 8619 | |
8620 | htab = mips_elf_hash_table (info); | | 8620 | htab = mips_elf_hash_table (info); |
8621 | BFD_ASSERT (htab != NULL); | | 8621 | BFD_ASSERT (htab != NULL); |
8622 | | | 8622 | |
8623 | dynobj = elf_hash_table (info)->dynobj; | | 8623 | dynobj = elf_hash_table (info)->dynobj; |
8624 | hmips = (struct mips_elf_link_hash_entry *) h; | | 8624 | hmips = (struct mips_elf_link_hash_entry *) h; |
8625 | | | 8625 | |
8626 | /* Make sure we know what is going on here. */ | | 8626 | /* Make sure we know what is going on here. */ |
8627 | BFD_ASSERT (dynobj != NULL | | 8627 | BFD_ASSERT (dynobj != NULL |
8628 | && (h->needs_plt | | 8628 | && (h->needs_plt |
| | | 8629 | || h->type == STT_GNU_IFUNC |
8629 | || h->u.weakdef != NULL | | 8630 | || h->u.weakdef != NULL |
8630 | || (h->def_dynamic | | 8631 | || (h->def_dynamic |
8631 | && h->ref_regular | | 8632 | && h->ref_regular |
8632 | && !h->def_regular))); | | 8633 | && !h->def_regular))); |
8633 | | | 8634 | |
8634 | hmips = (struct mips_elf_link_hash_entry *) h; | | 8635 | hmips = (struct mips_elf_link_hash_entry *) h; |
8635 | | | 8636 | |
8636 | /* If there are call relocations against an externally-defined symbol, | | 8637 | /* If there are call relocations against an externally-defined symbol, |
8637 | see whether we can create a MIPS lazy-binding stub for it. We can | | 8638 | see whether we can create a MIPS lazy-binding stub for it. We can |
8638 | only do this if all references to the function are through call | | 8639 | only do this if all references to the function are through call |
8639 | relocations, and in that case, the traditional lazy-binding stubs | | 8640 | relocations, and in that case, the traditional lazy-binding stubs |
8640 | are much more efficient than PLT entries. | | 8641 | are much more efficient than PLT entries. |
8641 | | | 8642 | |