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>
* 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);
}
/* 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. */