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.
This commit is contained in:
Will Newton
2013-05-20 13:26:40 +00:00
parent a25cd31f61
commit 593f8f2938
2 changed files with 9 additions and 55 deletions

View File

@ -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> 2013-05-19 Maciej W. Rozycki <macro@linux-mips.org>
* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R

View File

@ -1730,26 +1730,6 @@ elf64_aarch64_mkobject (bfd *abfd)
AARCH64_ELF_DATA); 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) \ #define elf64_aarch64_hash_entry(ent) \
((struct elf64_aarch64_link_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. */ /* Track dynamic relocs copied for this symbol. */
struct elf_dyn_relocs *dyn_relocs; 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 /* Since PLT entries have variable size, we need to record the
index into .got.plt instead of recomputing it from the PLT index into .got.plt instead of recomputing it from the PLT
offset. */ offset. */
@ -1950,7 +1927,6 @@ elf64_aarch64_link_hash_newfunc (struct bfd_hash_entry *entry,
if (ret != NULL) if (ret != NULL)
{ {
ret->dyn_relocs = NULL; ret->dyn_relocs = NULL;
ret->relocs_copied = NULL;
ret->got_type = GOT_UNKNOWN; ret->got_type = GOT_UNKNOWN;
ret->plt_got_offset = (bfd_vma) - 1; ret->plt_got_offset = (bfd_vma) - 1;
ret->stub_cache = NULL; ret->stub_cache = NULL;
@ -2041,37 +2017,6 @@ elf64_aarch64_copy_indirect_symbol (struct bfd_link_info *info,
eind->dyn_relocs = NULL; 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) if (ind->root.type == bfd_link_hash_indirect)
{ {
/* Copy over PLT info. */ /* Copy over PLT info. */