aboutsummaryrefslogtreecommitdiff
path: root/contrib/binutils/bfd
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2006-06-08 13:10:51 +0000
committerMarius Strobl <marius@FreeBSD.org>2006-06-08 13:10:51 +0000
commitef753169942e9f9f07b90f7bcc55a3556f58e5b3 (patch)
tree4e007e4554d36e4d78b3ea08e772e7b8b3b7c893 /contrib/binutils/bfd
parent458009ae93fc066f77eb5da0b10d5d85a22cb445 (diff)
parent2ce641c5c4a4abcf1b9d570b63ec974620adb2d3 (diff)
Notes
Diffstat (limited to 'contrib/binutils/bfd')
-rw-r--r--contrib/binutils/bfd/elf64-sparc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/contrib/binutils/bfd/elf64-sparc.c b/contrib/binutils/bfd/elf64-sparc.c
index 4568a22d6430..90de3b974d5e 100644
--- a/contrib/binutils/bfd/elf64-sparc.c
+++ b/contrib/binutils/bfd/elf64-sparc.c
@@ -1638,7 +1638,11 @@ sparc64_elf_adjust_dynamic_symbol (info, h)
|| h->root.type == bfd_link_hash_defweak)
&& (h->root.u.def.section->flags & SEC_CODE) != 0))
{
- if (! elf_hash_table (info)->dynamic_sections_created)
+ if (! info->shared
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0
+ && h->root.type != bfd_link_hash_undefweak
+ && h->root.type != bfd_link_hash_undefined)
{
/* This case can occur if we saw a WPLT30 reloc in an input
file, but none of the input files were dynamic objects.