This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] bfd/elf64-aarch64.c: Remove dead code.


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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]