Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/gnu/dist/binutils/bfd/Attic/elf64-sparc.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- src/gnu/dist/binutils/bfd/Attic/elf64-sparc.c 2004/12/08 13:38:08 1.3 +++ src/gnu/dist/binutils/bfd/Attic/elf64-sparc.c 2005/01/13 07:55:31 1.4 @@ -1638,7 +1638,11 @@ sparc64_elf_adjust_dynamic_symbol (info, || 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.