This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] bfd/elf64-aarch64.c: Remove dead code.
- From: Will Newton <will dot newton at linaro dot org>
- To: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, Patch Tracking <patches at linaro dot org>
- Date: Mon, 20 May 2013 14:27:16 +0100
- Subject: Re: [PATCH] bfd/elf64-aarch64.c: Remove dead code.
- References: <5190D5BB dot 3040601 at linaro dot org> <CAFqB+Pz4xVWHYsh7zUC9kXY-0zPteye_F_y_oivPS__-i_QRpA at mail dot gmail dot com>
Thanks, applied.
On 20 May 2013 14:16, Marcus Shawcroft <marcus.shawcroft@gmail.com> wrote:
> OK
> /Marcus
>
> On 13 May 2013 12:59, Will Newton <will.newton@linaro.org> wrote:
>>
>> The relocs_copied member is never assigned a non-NULL value, so
>> this code does not appear to be used.
>>
>> 2013-05-13 Will Newton <will.newton@linaro.org>
>>
>> * bfd/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.
>> ---
>> bfd/elf64-aarch64.c | 55 -----------------------------------------------------
>> 1 file changed, 55 deletions(-)
>>
>> diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c
>> index e3cae95..4a9dda5 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. */
>> --
>> 1.8.1.4
>>
--
Will Newton
Toolchain Working Group, Linaro