diff options
-rw-r--r-- | bfd/elf32-i386.c | 3 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 52b1db4..9717e2c 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1808,7 +1808,8 @@ elf_i386_scan_relocs (bfd *abfd, || (sec->flags & (SEC_CODE | SEC_READONLY)) != 0) h->plt.refcount = 1; - if (h->pointer_equality_needed + if (htab->elf.target_os != is_solaris + && h->pointer_equality_needed && h->type == STT_FUNC && eh->def_protected && !SYMBOL_DEFINED_NON_SHARED_P (h) diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 62a9a22..f3b5440 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -2251,7 +2251,8 @@ elf_x86_64_scan_relocs (bfd *abfd, struct bfd_link_info *info, || (sec->flags & (SEC_CODE | SEC_READONLY)) != 0) h->plt.refcount = 1; - if (h->pointer_equality_needed + if (htab->elf.target_os != is_solaris + && h->pointer_equality_needed && h->type == STT_FUNC && eh->def_protected && !SYMBOL_DEFINED_NON_SHARED_P (h) |