From 5582a088529adbefbcf65cfa3e6f47fa087153a2 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 28 Sep 2007 08:43:45 +0000 Subject: [PATCH] * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code. * elf32-arm.c (elf32_arm_check_relocs): Likewise. * elf32-avr.c (elf32_avr_check_relocs): Likewise. * elf32-bfin.c (bfinfdpic_check_relocs): Likewise. * elf32-cris.c (cris_elf_check_relocs): Likewise. * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. * elf32-fr30.c (fr30_elf_check_relocs): Likewise. * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise. (elf32_frv_check_relocs): Likewise. * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. * elf32-m32c.c (m32c_elf_check_relocs): Likewise. * elf32-m32r.c (m32r_elf_check_relocs): Likewise. * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. * elf32-mcore.c (mcore_elf_check_relocs): Likewise. * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. * elf32-mt.c (mt_elf_check_relocs): Likewise. * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. * elf32-sh.c (sh_elf_check_relocs): Likewise. * elf64-mmix.c (mmix_elf_check_relocs): Likewise. * elf64-sh64.c (sh_elf64_check_relocs): Likewise. * elf32-score.c (_bfd_score_elf_check_relocs): Likewise. (score_elf_local_relocation_p): Likewise. (_bfd_score_elf_relocate_section): Likewise. (score_elf_final_link_relocate): Likewise. --- bfd/ChangeLog | 28 ++++++++++++++++++++++++++++ bfd/elf-m10300.c | 5 +---- bfd/elf32-arm.c | 6 ------ bfd/elf32-avr.c | 5 +---- bfd/elf32-bfin.c | 5 +---- bfd/elf32-cris.c | 6 +----- bfd/elf32-d10v.c | 5 +---- bfd/elf32-dlx.c | 5 +---- bfd/elf32-fr30.c | 5 +---- bfd/elf32-frv.c | 10 ++-------- bfd/elf32-iq2000.c | 5 +---- bfd/elf32-m32c.c | 5 ----- bfd/elf32-m32r.c | 5 +---- bfd/elf32-m68hc1x.c | 5 ----- bfd/elf32-mcore.c | 4 ---- bfd/elf32-msp430.c | 6 +----- bfd/elf32-mt.c | 4 ---- bfd/elf32-openrisc.c | 6 +----- bfd/elf32-score.c | 17 ++++++----------- bfd/elf32-sh.c | 5 +---- bfd/elf64-mmix.c | 5 +---- bfd/elf64-sh64.c | 5 +---- 22 files changed, 50 insertions(+), 102 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1cfdec4c35..3d0777fd85 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,31 @@ +2007-09-28 Alan Modra + + * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-avr.c (elf32_avr_check_relocs): Likewise. + * elf32-bfin.c (bfinfdpic_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise. + (elf32_frv_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-m32c.c (m32c_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. + * elf32-mt.c (mt_elf_check_relocs): Likewise. + * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + * elf32-score.c (_bfd_score_elf_check_relocs): Likewise. + (score_elf_local_relocation_p): Likewise. + (_bfd_score_elf_relocate_section): Likewise. + (score_elf_final_link_relocate): Likewise. + 2007-09-26 Jan Beulich * elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index 39cbf4d79f..4849ffd205 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -682,7 +682,7 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs) const Elf_Internal_Rela *relocs; { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd * dynobj; @@ -700,9 +700,6 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs) symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; dynobj = elf_hash_table (info)->dynobj; local_got_offsets = elf_local_got_offsets (abfd); diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 53692e67d1..5b536f8102 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -7471,7 +7471,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; - struct elf_link_hash_entry **sym_hashes_end; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd *dynobj; @@ -7499,11 +7498,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes - + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index bb1746d3f6..5cebbaadb6 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -729,7 +729,7 @@ elf32_avr_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -738,9 +738,6 @@ elf32_avr_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index f13a557631..cff16b1aad 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -4511,7 +4511,7 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd *dynobj; @@ -4522,9 +4522,6 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; dynobj = elf_hash_table (info)->dynobj; rel_end = relocs + sec->reloc_count; diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 104411a4a4..efcefba253 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -2443,7 +2443,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs) { bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; bfd_signed_vma *local_got_refcounts; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -2457,16 +2457,12 @@ cris_elf_check_relocs (abfd, info, sec, relocs) dynobj = elf_hash_table (info)->dynobj; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); local_got_refcounts = elf_local_got_refcounts (abfd); sgot = NULL; srelgot = NULL; sreloc = NULL; - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; - rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) { diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c index 57b2d3b0a2..a5e5395163 100644 --- a/bfd/elf32-d10v.c +++ b/bfd/elf32-d10v.c @@ -262,7 +262,7 @@ elf32_d10v_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -271,9 +271,6 @@ elf32_d10v_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c index 3bb1765675..69e7dc963b 100644 --- a/bfd/elf32-dlx.c +++ b/bfd/elf32-dlx.c @@ -428,7 +428,7 @@ elf32_dlx_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -437,9 +437,6 @@ elf32_dlx_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c index d9051bce6d..59c5fd341a 100644 --- a/bfd/elf32-fr30.c +++ b/bfd/elf32-fr30.c @@ -674,7 +674,7 @@ fr30_elf_check_relocs (abfd, info, sec, relocs) const Elf_Internal_Rela *relocs; { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -683,9 +683,6 @@ fr30_elf_check_relocs (abfd, info, sec, relocs) symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index 9aba5c3df0..4fc4359f95 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -5628,7 +5628,7 @@ _frvfdpic_check_discarded_relocs (bfd *abfd, asection *sec, bfd_boolean *changed) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; Elf_Internal_Rela *rel, *erel; if ((sec->flags & SEC_RELOC) == 0 @@ -5637,9 +5637,6 @@ _frvfdpic_check_discarded_relocs (bfd *abfd, asection *sec, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel = elf_section_data (sec)->relocs; @@ -6179,7 +6176,7 @@ elf32_frv_check_relocs (abfd, info, sec, relocs) const Elf_Internal_Rela *relocs; { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd *dynobj; @@ -6190,9 +6187,6 @@ elf32_frv_check_relocs (abfd, info, sec, relocs) symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; dynobj = elf_hash_table (info)->dynobj; rel_end = relocs + sec->reloc_count; diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index c162ddc211..2a5ad780d4 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -424,7 +424,7 @@ iq2000_elf_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd_boolean changed = FALSE; @@ -434,9 +434,6 @@ iq2000_elf_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 6c9a82502c..20dcf37361 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -597,7 +597,6 @@ m32c_elf_check_relocs { Elf_Internal_Shdr * symtab_hdr; struct elf_link_hash_entry ** sym_hashes; - struct elf_link_hash_entry ** sym_hashes_end; const Elf_Internal_Rela * rel; const Elf_Internal_Rela * rel_end; bfd_vma *local_plt_offsets; @@ -613,10 +612,6 @@ m32c_elf_check_relocs splt = NULL; dynobj = elf_hash_table(info)->dynobj; - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; - rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) { diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index 3829690437..171884f88a 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -3766,7 +3766,7 @@ m32r_elf_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; struct elf_m32r_link_hash_table *htab; @@ -3781,9 +3781,6 @@ m32r_elf_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; htab = m32r_elf_hash_table (info); dynobj = htab->root.dynobj; diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index c7ee78d60a..6fb5129926 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -821,7 +821,6 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info, { Elf_Internal_Shdr * symtab_hdr; struct elf_link_hash_entry ** sym_hashes; - struct elf_link_hash_entry ** sym_hashes_end; const Elf_Internal_Rela * rel; const Elf_Internal_Rela * rel_end; @@ -830,10 +829,6 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info, symtab_hdr = & elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; - rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c index 32ef86a870..8bdb266346 100644 --- a/bfd/elf32-mcore.c +++ b/bfd/elf32-mcore.c @@ -594,7 +594,6 @@ mcore_elf_check_relocs (bfd * abfd, { Elf_Internal_Shdr * symtab_hdr; struct elf_link_hash_entry ** sym_hashes; - struct elf_link_hash_entry ** sym_hashes_end; const Elf_Internal_Rela * rel; const Elf_Internal_Rela * rel_end; @@ -603,9 +602,6 @@ mcore_elf_check_relocs (bfd * abfd, symtab_hdr = & elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 879edf042d..7a570243d8 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -241,7 +241,7 @@ elf32_msp430_check_relocs (bfd * abfd, struct bfd_link_info * info, asection * sec, const Elf_Internal_Rela * relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -250,10 +250,6 @@ elf32_msp430_check_relocs (bfd * abfd, struct bfd_link_info * info, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = - sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c index 9896a208d6..3f976847d7 100644 --- a/bfd/elf32-mt.c +++ b/bfd/elf32-mt.c @@ -436,7 +436,6 @@ mt_elf_check_relocs { Elf_Internal_Shdr * symtab_hdr; struct elf_link_hash_entry ** sym_hashes; - struct elf_link_hash_entry ** sym_hashes_end; const Elf_Internal_Rela * rel; const Elf_Internal_Rela * rel_end; @@ -445,9 +444,6 @@ mt_elf_check_relocs symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c index 510769fec6..af7bc25b04 100644 --- a/bfd/elf32-openrisc.c +++ b/bfd/elf32-openrisc.c @@ -468,7 +468,7 @@ openrisc_elf_check_relocs (bfd *abfd, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -477,10 +477,6 @@ openrisc_elf_check_relocs (bfd *abfd, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = - sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; rel_end = relocs + sec->reloc_count; for (rel = relocs; rel < rel_end; rel++) diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index 7d24de054a..813f21ead9 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -1101,7 +1101,6 @@ score_elf_sort_dynamic_relocs (const void *arg1, const void *arg2) static bfd_boolean score_elf_local_relocation_p (bfd *input_bfd, const Elf_Internal_Rela *relocation, - asection **local_sections, bfd_boolean check_forced) { unsigned long r_symndx; @@ -1111,12 +1110,10 @@ score_elf_local_relocation_p (bfd *input_bfd, r_symndx = ELF32_R_SYM (relocation->r_info); symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; - extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info; + extsymoff = symtab_hdr->sh_info; if (r_symndx < extsymoff) return TRUE; - if (elf_bad_symtab (input_bfd) && local_sections[r_symndx] != NULL) - return TRUE; if (check_forced) { @@ -1845,7 +1842,6 @@ score_elf_final_link_relocate (reloc_howto_type *howto, const char *sym_name ATTRIBUTE_UNUSED, int sym_flags ATTRIBUTE_UNUSED, struct score_elf_link_hash_entry *h, - asection **local_sections, bfd_boolean gp_disp_p) { unsigned long r_type; @@ -1901,7 +1897,7 @@ score_elf_final_link_relocate (reloc_howto_type *howto, r_symndx = ELF32_R_SYM (rel->r_info); r_type = ELF32_R_TYPE (rel->r_info); rel_addr = (input_section->output_section->vma + input_section->output_offset + rel->r_offset); - local_p = score_elf_local_relocation_p (input_bfd, rel, local_sections, TRUE); + local_p = score_elf_local_relocation_p (input_bfd, rel, TRUE); if (r_type == R_SCORE_GOT15) { @@ -2120,8 +2116,7 @@ score_elf_final_link_relocate (reloc_howto_type *howto, /* The special case is when the symbol is forced to be local. We need the full address in the GOT since no R_SCORE_GOT_LO16 relocation follows. */ - forced = ! score_elf_local_relocation_p (input_bfd, rel, - local_sections, FALSE); + forced = ! score_elf_local_relocation_p (input_bfd, rel, FALSE); value = score_elf_got16_entry (output_bfd, input_bfd, info, symbol + addend, forced); if (value == MINUS_ONE) @@ -2230,7 +2225,7 @@ _bfd_score_elf_relocate_section (bfd *output_bfd, } symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; - extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info; + extsymoff = symtab_hdr->sh_info; sym_hashes = elf_sym_hashes (input_bfd); rel = relocs; relend = relocs + input_section->reloc_count; @@ -2427,7 +2422,7 @@ _bfd_score_elf_relocate_section (bfd *output_bfd, input_section, contents, rel, relocs, relocation, info, name, (h ? ELF_ST_TYPE ((unsigned int)h->root.root.type) : - ELF_ST_TYPE ((unsigned int)sym->st_info)), h, local_sections, + ELF_ST_TYPE ((unsigned int)sym->st_info)), h, gp_disp_p); if (r != bfd_reloc_ok) @@ -2507,7 +2502,7 @@ _bfd_score_elf_check_relocs (bfd *abfd, dynobj = elf_hash_table (info)->dynobj; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - extsymoff = (elf_bad_symtab (abfd)) ? 0 : symtab_hdr->sh_info; + extsymoff = symtab_hdr->sh_info; name = bfd_get_section_name (abfd, sec); diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index a595c02c5c..3d4a2ffd62 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -4835,7 +4835,7 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; struct elf_sh_link_hash_table *htab; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; @@ -4855,9 +4855,6 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; htab = sh_elf_hash_table (info); local_got_offsets = elf_local_got_offsets (abfd); diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index 60d598646d..9a37840a23 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -1978,15 +1978,12 @@ mmix_elf_check_relocs (abfd, info, sec, relocs) const Elf_Internal_Rela *relocs; { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf64_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; /* First we sort the relocs so that any register relocs come before expansion-relocs to the same insn. FIXME: Not done for mmo. */ diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index 0b67734950..fb5e8c9b0e 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -2419,7 +2419,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + struct elf_link_hash_entry **sym_hashes; const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel_end; bfd *dynobj; @@ -2437,9 +2437,6 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf64_External_Sym); - if (!elf_bad_symtab (abfd)) - sym_hashes_end -= symtab_hdr->sh_info; dynobj = elf_hash_table (info)->dynobj; local_got_offsets = elf_local_got_offsets (abfd);