This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
elf_bad_symtab
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sourceware dot org
- Date: Fri, 28 Sep 2007 18:11:38 +0930
- Subject: elf_bad_symtab
elf_bad_symtab is a flag set only by the mips backend (and mep, for
the time being). As such there's not much point in other backends
checking it, and especially not to set up an unused variable.
* 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.
Index: bfd/elf-m10300.c
===================================================================
RCS file: /cvs/src/src/bfd/elf-m10300.c,v
retrieving revision 1.84
diff -u -p -r1.84 elf-m10300.c
--- bfd/elf-m10300.c 26 Sep 2007 13:45:31 -0000 1.84
+++ bfd/elf-m10300.c 28 Sep 2007 07:15:18 -0000
@@ -682,7 +682,7 @@ mn10300_elf_check_relocs (abfd, info, se
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, se
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);
Index: bfd/elf32-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-arm.c,v
retrieving revision 1.127
diff -u -p -r1.127 elf32-arm.c
--- bfd/elf32-arm.c 26 Sep 2007 13:45:31 -0000 1.127
+++ bfd/elf32-arm.c 28 Sep 2007 07:15:21 -0000
@@ -7471,7 +7471,6 @@ elf32_arm_check_relocs (bfd *abfd, struc
{
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, struc
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++)
Index: bfd/elf32-avr.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-avr.c,v
retrieving revision 1.32
diff -u -p -r1.32 elf32-avr.c
--- bfd/elf32-avr.c 3 Jul 2007 14:26:40 -0000 1.32
+++ bfd/elf32-avr.c 28 Sep 2007 07:15:23 -0000
@@ -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++)
Index: bfd/elf32-bfin.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-bfin.c,v
retrieving revision 1.24
diff -u -p -r1.24 elf32-bfin.c
--- bfd/elf32-bfin.c 26 Sep 2007 13:45:31 -0000 1.24
+++ bfd/elf32-bfin.c 28 Sep 2007 07:15:26 -0000
@@ -4511,7 +4511,7 @@ bfinfdpic_check_relocs (bfd *abfd, struc
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, struc
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;
Index: bfd/elf32-cris.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-cris.c,v
retrieving revision 1.83
diff -u -p -r1.83 elf32-cris.c
--- bfd/elf32-cris.c 26 Sep 2007 13:45:31 -0000 1.83
+++ bfd/elf32-cris.c 28 Sep 2007 07:15:28 -0000
@@ -2443,7 +2443,7 @@ cris_elf_check_relocs (abfd, info, sec,
{
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,
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++)
{
Index: bfd/elf32-d10v.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-d10v.c,v
retrieving revision 1.37
diff -u -p -r1.37 elf32-d10v.c
--- bfd/elf32-d10v.c 26 Sep 2007 13:45:31 -0000 1.37
+++ bfd/elf32-d10v.c 28 Sep 2007 07:15:28 -0000
@@ -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++)
Index: bfd/elf32-dlx.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-dlx.c,v
retrieving revision 1.21
diff -u -p -r1.21 elf32-dlx.c
--- bfd/elf32-dlx.c 26 Sep 2007 13:45:31 -0000 1.21
+++ bfd/elf32-dlx.c 28 Sep 2007 07:15:28 -0000
@@ -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++)
Index: bfd/elf32-fr30.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-fr30.c,v
retrieving revision 1.36
diff -u -p -r1.36 elf32-fr30.c
--- bfd/elf32-fr30.c 26 Sep 2007 13:45:31 -0000 1.36
+++ bfd/elf32-fr30.c 28 Sep 2007 07:15:28 -0000
@@ -674,7 +674,7 @@ fr30_elf_check_relocs (abfd, info, 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;
@@ -683,9 +683,6 @@ fr30_elf_check_relocs (abfd, info, 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_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
Index: bfd/elf32-frv.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-frv.c,v
retrieving revision 1.57
diff -u -p -r1.57 elf32-frv.c
--- bfd/elf32-frv.c 26 Sep 2007 13:45:31 -0000 1.57
+++ bfd/elf32-frv.c 28 Sep 2007 07:15:32 -0000
@@ -5628,7 +5628,7 @@ _frvfdpic_check_discarded_relocs (bfd *a
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 *a
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,
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,
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;
Index: bfd/elf32-iq2000.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-iq2000.c,v
retrieving revision 1.23
diff -u -p -r1.23 elf32-iq2000.c
--- bfd/elf32-iq2000.c 26 Sep 2007 13:45:32 -0000 1.23
+++ bfd/elf32-iq2000.c 28 Sep 2007 07:15:32 -0000
@@ -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++)
Index: bfd/elf32-m32c.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-m32c.c,v
retrieving revision 1.14
diff -u -p -r1.14 elf32-m32c.c
--- bfd/elf32-m32c.c 3 Jul 2007 14:26:41 -0000 1.14
+++ bfd/elf32-m32c.c 28 Sep 2007 07:15:33 -0000
@@ -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++)
{
Index: bfd/elf32-m32r.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-m32r.c,v
retrieving revision 1.89
diff -u -p -r1.89 elf32-m32r.c
--- bfd/elf32-m32r.c 26 Sep 2007 13:45:32 -0000 1.89
+++ bfd/elf32-m32r.c 28 Sep 2007 07:15:37 -0000
@@ -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;
Index: bfd/elf32-m68hc1x.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-m68hc1x.c,v
retrieving revision 1.30
diff -u -p -r1.30 elf32-m68hc1x.c
--- bfd/elf32-m68hc1x.c 26 Sep 2007 13:45:32 -0000 1.30
+++ bfd/elf32-m68hc1x.c 28 Sep 2007 07:15:37 -0000
@@ -821,7 +821,6 @@ elf32_m68hc11_check_relocs (bfd *abfd, s
{
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, s
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++)
Index: bfd/elf32-mcore.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-mcore.c,v
retrieving revision 1.51
diff -u -p -r1.51 elf32-mcore.c
--- bfd/elf32-mcore.c 26 Sep 2007 13:45:32 -0000 1.51
+++ bfd/elf32-mcore.c 28 Sep 2007 07:15:37 -0000
@@ -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;
Index: bfd/elf32-msp430.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-msp430.c,v
retrieving revision 1.19
diff -u -p -r1.19 elf32-msp430.c
--- bfd/elf32-msp430.c 3 Jul 2007 14:26:41 -0000 1.19
+++ bfd/elf32-msp430.c 28 Sep 2007 07:15:37 -0000
@@ -241,7 +241,7 @@ elf32_msp430_check_relocs (bfd * abfd, s
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, s
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++)
Index: bfd/elf32-mt.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-mt.c,v
retrieving revision 1.10
diff -u -p -r1.10 elf32-mt.c
--- bfd/elf32-mt.c 3 Jul 2007 14:26:41 -0000 1.10
+++ bfd/elf32-mt.c 28 Sep 2007 07:15:37 -0000
@@ -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++)
Index: bfd/elf32-openrisc.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-openrisc.c,v
retrieving revision 1.29
diff -u -p -r1.29 elf32-openrisc.c
--- bfd/elf32-openrisc.c 26 Sep 2007 13:45:32 -0000 1.29
+++ bfd/elf32-openrisc.c 28 Sep 2007 07:15:38 -0000
@@ -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++)
Index: bfd/elf32-score.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-score.c,v
retrieving revision 1.12
diff -u -p -r1.12 elf32-score.c
--- bfd/elf32-score.c 26 Sep 2007 13:45:32 -0000 1.12
+++ bfd/elf32-score.c 28 Sep 2007 07:15:40 -0000
@@ -1101,7 +1101,6 @@ score_elf_sort_dynamic_relocs (const voi
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
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_how
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_how
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_how
/* 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 *ou
}
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 *ou
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);
Index: bfd/elf32-sh.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-sh.c,v
retrieving revision 1.152
diff -u -p -r1.152 elf32-sh.c
--- bfd/elf32-sh.c 26 Sep 2007 13:45:32 -0000 1.152
+++ bfd/elf32-sh.c 28 Sep 2007 07:15:43 -0000
@@ -4835,7 +4835,7 @@ sh_elf_check_relocs (bfd *abfd, struct b
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 b
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);
Index: bfd/elf64-mmix.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-mmix.c,v
retrieving revision 1.56
diff -u -p -r1.56 elf64-mmix.c
--- bfd/elf64-mmix.c 26 Sep 2007 13:45:32 -0000 1.56
+++ bfd/elf64-mmix.c 28 Sep 2007 07:15:44 -0000
@@ -1978,15 +1978,12 @@ mmix_elf_check_relocs (abfd, info, 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;
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. */
Index: bfd/elf64-sh64.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-sh64.c,v
retrieving revision 1.79
diff -u -p -r1.79 elf64-sh64.c
--- bfd/elf64-sh64.c 26 Sep 2007 13:45:32 -0000 1.79
+++ bfd/elf64-sh64.c 28 Sep 2007 07:15:47 -0000
@@ -2419,7 +2419,7 @@ sh_elf64_check_relocs (bfd *abfd, struct
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
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);
--
Alan Modra
Australia Development Lab, IBM