mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-27 02:14:04 +08:00
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:
parent
a25cd31f61
commit
593f8f2938
@ -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
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user