From: Eric Botcazou Date: Mon, 10 Jan 2005 11:23:01 +0000 (+0000) Subject: * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a X-Git-Tag: gdb-pre-i18n-errorwarning-20050211~397 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=669460c7e67689e5cd066f5133c3e79a35c12492;p=platform%2Fupstream%2Fbinutils.git * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a non-shared object, do not reserve space in .plt and .rela.plt for regular symbols neither defined nor referenced in shared objects. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 04894f0..1cff339 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2005-01-10 Eric Botcazou + + * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a + non-shared object, do not reserve space in .plt and .rela.plt for + regular symbols neither defined nor referenced in shared objects. + 2005-01-09 Eric Botcazou * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 62fb524..1b2835c 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -1680,7 +1680,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->def_dynamic + && !h->ref_dynamic + && 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.