This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, AArch64] Remove some dead code from elf64_aarch64_check_relocs.
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: Will Newton <will dot newton at linaro dot org>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, patches at linaro dot org
- Date: Fri, 26 Apr 2013 08:44:46 +0100
- Subject: Re: [PATCH, AArch64] Remove some dead code from elf64_aarch64_check_relocs.
- References: <517930D7 dot 9090907 at linaro dot org>
Looks OK to me.
/Marcus
On 25 April 2013 14:34, Will Newton <will.newton@linaro.org> wrote:
>
> This code was inherited from the ARM backend, but will never be hit due to the more restrictive test above.
>
> bfd/ChangeLog:
>
> 2013-04-25 Will Newton <will.newton@linaro.org>
>
> * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.
> ---
> bfd/elf64-aarch64.c | 16 +---------------
> 1 file changed, 1 insertion(+), 15 deletions(-)
>
> diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c
> index 540b275..9a6d8b4 100644
> --- a/bfd/elf64-aarch64.c
> +++ b/bfd/elf64-aarch64.c
> @@ -5141,8 +5141,6 @@ elf64_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
>
> struct elf64_aarch64_link_hash_table *htab;
>
> - unsigned long nsyms;
> -
> if (info->relocatable)
> return TRUE;
>
> @@ -5153,7 +5151,6 @@ elf64_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
>
> symtab_hdr = &elf_symtab_hdr (abfd);
> sym_hashes = elf_sym_hashes (abfd);
> - nsyms = NUM_SHDR_ENTRIES (symtab_hdr);
>
> rel_end = relocs + sec->reloc_count;
> for (rel = relocs; rel < rel_end; rel++)
> @@ -5172,18 +5169,7 @@ elf64_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
> return FALSE;
> }
>
> - if (r_symndx >= nsyms
> - /* PR 9934: It is possible to have relocations that do not
> - refer to symbols, thus it is also possible to have an
> - object file containing relocations but no symbol table. */
> - && (r_symndx > 0 || nsyms > 0))
> - {
> - (*_bfd_error_handler) (_("%B: bad symbol index: %d"), abfd,
> - r_symndx);
> - return FALSE;
> - }
> -
> - if (nsyms == 0 || r_symndx < symtab_hdr->sh_info)
> + if (r_symndx < symtab_hdr->sh_info)
> h = NULL;
> else
> {
> --
> 1.8.1.4
>