diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2005-01-10 11:23:01 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@libertysurf.fr> | 2005-01-10 11:23:01 +0000 |
commit | 630d0190fa6467ba0966f94b52bbbe9e08130c3c (patch) | |
tree | 5085467c0749d0a6fba720c6aba589f32000ca6a /bfd/elf64-sparc.c | |
parent | 79d969b2ab42b1347e9d2d1233a4a2fa7b7c4119 (diff) | |
download | gdb-630d0190fa6467ba0966f94b52bbbe9e08130c3c.tar.gz |
* 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.
Diffstat (limited to 'bfd/elf64-sparc.c')
-rw-r--r-- | bfd/elf64-sparc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 62fb524e588..1b2835cc02e 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. |