- || !(H)->def_regular)))) \
- || ((H) != NULL \
- && (H)->type == STT_GNU_IFUNC \
- && (R_TYPE) == POINTER_TYPE \
- && ((SEC)->flags & SEC_CODE) == 0) \
- || (ELIMINATE_COPY_RELOCS \
- && !bfd_link_pic (INFO) \
- && (H) != NULL \
- && ((H)->root.type == bfd_link_hash_defweak \
- || !(H)->def_regular)))
+ || (!(bfd_link_pie (INFO) \
+ && (PCREL_PLT) \
+ && (H)->plt.refcount > 0 \
+ && ((SEC)->flags & SEC_CODE) == 0 \
+ && (H)->type == STT_FUNC \
+ && (H)->def_dynamic) \
+ && !(H)->def_regular))))) \
+ || ((H) != NULL \
+ && (H)->type == STT_GNU_IFUNC \
+ && (R_TYPE) == POINTER_TYPE \
+ && ((SEC)->flags & SEC_CODE) == 0) \
+ || (ELIMINATE_COPY_RELOCS \
+ && !bfd_link_pic (INFO) \
+ && (H) != NULL \
+ && ((H)->root.type == bfd_link_hash_defweak \
+ || !(H)->def_regular)))