diff options
author | Will Newton <willnewton@sourceware.org> | 2013-05-20 13:26:40 +0000 |
---|---|---|
committer | Will Newton <willnewton@sourceware.org> | 2013-05-20 13:26:40 +0000 |
commit | 593f8f293850551eaf010c0af54015db4da140e8 (patch) | |
tree | 9eede0d36ffe59b68553b10ca109986bb5b3e8c6 | |
parent | a25cd31f61b0943c9ba5cd6d861f977f36497c00 (diff) | |
download | gdb-593f8f293850551eaf010c0af54015db4da140e8.zip gdb-593f8f293850551eaf010c0af54015db4da140e8.tar.gz gdb-593f8f293850551eaf010c0af54015db4da140e8.tar.bz2 |
bfd/elf64-aarch64.c: Remove dead code.
The relocs_copied member is never assigned a non-NULL value, so
this code does not appear to be used.
bfd/ChangeLog:
2013-05-20 Will Newton <will.newton@linaro.org>
* elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
relocs_copied member.
(elf64_aarch64_link_hash_newfunc): Remove initialization of
relocs_copied member.
(elf64_aarch64_copy_indirect_symbol): Remove code to copy
relocs_copied member.
-rw-r--r-- | bfd/ChangeLog | 9 | ||||
-rw-r--r-- | bfd/elf64-aarch64.c | 55 |
2 files changed, 9 insertions, 55 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index da1ff55..ac877a9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2013-05-20 Will Newton <will.newton@linaro.org> + + * elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove + relocs_copied member. + (elf64_aarch64_link_hash_newfunc): Remove initialization of + relocs_copied member. + (elf64_aarch64_copy_indirect_symbol): Remove code to copy + relocs_copied member. + 2013-05-19 Maciej W. Rozycki <macro@linux-mips.org> * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c index aef472f..fe9d5b1 100644 --- a/bfd/elf64-aarch64.c +++ b/bfd/elf64-aarch64.c @@ -1730,26 +1730,6 @@ elf64_aarch64_mkobject (bfd *abfd) AARCH64_ELF_DATA); } -/* The AArch64 linker needs to keep track of the number of relocs that it - decides to copy in check_relocs for each symbol. This is so that - it can discard PC relative relocs if it doesn't need them when - linking with -Bsymbolic. We store the information in a field - extending the regular ELF linker hash table. */ - -/* This structure keeps track of the number of relocs we have copied - for a given symbol. */ -struct elf64_aarch64_relocs_copied -{ - /* Next section. */ - struct elf64_aarch64_relocs_copied *next; - /* A section in dynobj. */ - asection *section; - /* Number of relocs copied in this section. */ - bfd_size_type count; - /* Number of PC-relative relocs copied in this section. */ - bfd_size_type pc_count; -}; - #define elf64_aarch64_hash_entry(ent) \ ((struct elf64_aarch64_link_hash_entry *)(ent)) @@ -1769,9 +1749,6 @@ struct elf64_aarch64_link_hash_entry /* Track dynamic relocs copied for this symbol. */ struct elf_dyn_relocs *dyn_relocs; - /* Number of PC relative relocs copied for this symbol. */ - struct elf64_aarch64_relocs_copied *relocs_copied; - /* Since PLT entries have variable size, we need to record the index into .got.plt instead of recomputing it from the PLT offset. */ @@ -1950,7 +1927,6 @@ elf64_aarch64_link_hash_newfunc (struct bfd_hash_entry *entry, if (ret != NULL) { ret->dyn_relocs = NULL; - ret->relocs_copied = NULL; ret->got_type = GOT_UNKNOWN; ret->plt_got_offset = (bfd_vma) - 1; ret->stub_cache = NULL; @@ -2041,37 +2017,6 @@ elf64_aarch64_copy_indirect_symbol (struct bfd_link_info *info, eind->dyn_relocs = NULL; } - if (eind->relocs_copied != NULL) - { - if (edir->relocs_copied != NULL) - { - struct elf64_aarch64_relocs_copied **pp; - struct elf64_aarch64_relocs_copied *p; - - /* Add reloc counts against the indirect sym to the direct sym - list. Merge any entries against the same section. */ - for (pp = &eind->relocs_copied; (p = *pp) != NULL;) - { - struct elf64_aarch64_relocs_copied *q; - - for (q = edir->relocs_copied; q != NULL; q = q->next) - if (q->section == p->section) - { - q->pc_count += p->pc_count; - q->count += p->count; - *pp = p->next; - break; - } - if (q == NULL) - pp = &p->next; - } - *pp = edir->relocs_copied; - } - - edir->relocs_copied = eind->relocs_copied; - eind->relocs_copied = NULL; - } - if (ind->root.type == bfd_link_hash_indirect) { /* Copy over PLT info. */ |