aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Newton <willnewton@sourceware.org>2013-05-20 13:26:40 +0000
committerWill Newton <willnewton@sourceware.org>2013-05-20 13:26:40 +0000
commit593f8f293850551eaf010c0af54015db4da140e8 (patch)
tree9eede0d36ffe59b68553b10ca109986bb5b3e8c6
parenta25cd31f61b0943c9ba5cd6d861f977f36497c00 (diff)
downloadbinutils-593f8f293850551eaf010c0af54015db4da140e8.zip
binutils-593f8f293850551eaf010c0af54015db4da140e8.tar.gz
binutils-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/ChangeLog9
-rw-r--r--bfd/elf64-aarch64.c55
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. */