aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog105
-rw-r--r--bfd/bout.c6
-rw-r--r--bfd/coff-i860.c3
-rw-r--r--bfd/coff-mcore.c7
-rw-r--r--bfd/coff-ppc.c16
-rw-r--r--bfd/coff-rs6000.c3
-rw-r--r--bfd/coffcode.h5
-rw-r--r--bfd/cpu-arm.c5
-rw-r--r--bfd/elf-bfd.h2
-rw-r--r--bfd/elf-m10200.c8
-rw-r--r--bfd/elf-m10300.c5
-rw-r--r--bfd/elf32-arm.c25
-rw-r--r--bfd/elf32-avr.c21
-rw-r--r--bfd/elf32-bfin.c8
-rw-r--r--bfd/elf32-cr16.c6
-rw-r--r--bfd/elf32-cr16c.c7
-rw-r--r--bfd/elf32-cris.c2
-rw-r--r--bfd/elf32-crx.c8
-rw-r--r--bfd/elf32-h8300.c9
-rw-r--r--bfd/elf32-hppa.c2
-rw-r--r--bfd/elf32-i370.c7
-rw-r--r--bfd/elf32-ip2k.c30
-rw-r--r--bfd/elf32-lm32.c19
-rw-r--r--bfd/elf32-m32c.c12
-rw-r--r--bfd/elf32-m32r.c17
-rw-r--r--bfd/elf32-m68hc11.c2
-rw-r--r--bfd/elf32-m68hc1x.c6
-rw-r--r--bfd/elf32-m68k.c5
-rw-r--r--bfd/elf32-microblaze.c9
-rw-r--r--bfd/elf32-moxie.c6
-rw-r--r--bfd/elf32-msp430.c9
-rw-r--r--bfd/elf32-ppc.c2
-rw-r--r--bfd/elf32-rx.c19
-rw-r--r--bfd/elf32-score.c8
-rw-r--r--bfd/elf32-score7.c5
-rw-r--r--bfd/elf32-sh.c7
-rw-r--r--bfd/elf32-sh64.c5
-rw-r--r--bfd/elf32-spu.c5
-rw-r--r--bfd/elf32-v850.c9
-rw-r--r--bfd/elf32-vax.c4
-rw-r--r--bfd/elf32-xc16x.c13
-rw-r--r--bfd/elf32-xtensa.c7
-rw-r--r--bfd/elf64-hppa.c35
-rw-r--r--bfd/elf64-mmix.c9
-rw-r--r--bfd/elf64-ppc.c11
-rw-r--r--bfd/elfxx-ia64.c6
-rw-r--r--bfd/elfxx-sparc.c6
-rw-r--r--bfd/hp300hpux.c4
-rw-r--r--bfd/i386lynx.c9
-rw-r--r--bfd/ieee.c6
-rw-r--r--bfd/mach-o.c2
-rw-r--r--bfd/mmo.c7
-rw-r--r--bfd/nlm32-sparc.c6
-rw-r--r--bfd/pdp11.c8
-rw-r--r--bfd/pe-mips.c12
-rw-r--r--bfd/peXXigen.c4
-rw-r--r--bfd/som.c7
-rw-r--r--bfd/versados.c4
-rw-r--r--bfd/vms-alpha.c5
-rw-r--r--bfd/xsym.c4
60 files changed, 195 insertions, 409 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ce1b7b7..2369ad2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,108 @@
+2010-06-27 Alan Modra <amodra@gmail.com>
+
+ * bout.c (aligncode): Delete set but unused variables.
+ * coff-mcore.c (coff_mcore_relocate_section): Likewise.
+ * coff-ppc.c (ppc_record_toc_entry): Likewise.
+ (coff_ppc_relocate_section): Likewise.
+ * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise.
+ * elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise.
+ * elf-m10300.c (mn10300_elf_final_link_relocate): Likewise.
+ (mn10300_elf_relax_section): Likewise.
+ * elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise.
+ (record_vfp11_erratum_veneer): Likewise.
+ (bfd_elf32_arm_vfp11_erratum_scan): Likewise.
+ (elf32_arm_final_link_relocate): Likewise.
+ (elf32_arm_check_relocs, arm_map_one_stub): Likewise.
+ * elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise.
+ (elf32_avr_relax_section): Likewise.
+ (avr_mark_stub_not_to_be_necessary): Likewise.
+ * elf32-bfin.c (_bfin_create_got_section): Likewise.
+ * elf32-cr16.c (cr16_elf_final_link_relocate): Likewise.
+ (elf32_cr16_relax_delete_bytes): Likewise.
+ * elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise.
+ * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
+ * elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
+ * elf32-i370.c (i370_elf_check_relocs): Likewise.
+ (elf_relocate_section): Likewise.
+ * elf32-ip2k.c (adjust_all_relocations): Likewise.
+ (ip2k_elf_relax_section): Likewise.
+ * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
+ (lm32_elf_check_relocs): Likewise.
+ (lm32_elf_finish_dynamic_sections): Likewise.
+ (lm32_elf_finish_dynamic_symbol): Likewise.
+ * elf32-m32c.c (m32c_offset_for_reloc): Likewise.
+ (m32c_elf_relax_delete_bytes): Likewise.
+ * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
+ (m32r_elf_finish_dynamic_sections): Likewise.
+ (m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise.
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise.
+ * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
+ * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
+ (microblaze_elf_check_relocs): Likewise.
+ (microblaze_elf_finish_dynamic_symbol): Likewise.
+ * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
+ * elf32-ppc.c (ppc_elf_tls_optimize): Likewise.
+ * elf32-rx.c (rx_elf_relocate_section): Likewise.
+ (elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise.
+ (elf32_rx_relax_section): Likewise.
+ * elf32-score.c (score_elf_got_offset_from_index): Likewise.
+ (score_elf_final_link_relocate): Likewise.
+ (s3_bfd_score_elf_relocate_section): Likewise.
+ * elf32-score7.c (score_elf_got_offset_from_index): Likewise.
+ (s7_bfd_score_elf_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_check_relocs): Likewise.
+ * elf32-spu.c (spu_elf_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_check_relocs): Likewise.
+ (find_remembered_hi16s_reloc): Likewise.
+ * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
+ (elf_vax_relocate_section): Likewise.
+ * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
+ * elf32-xtensa.c (xlate_offset_with_removed_text): Likewise.
+ (move_literal): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ (elf64_hppa_check_relocs): Likewise.
+ (elf64_hppa_finish_dynamic_symbol): Likewise.
+ (elf64_hppa_relocate_section): Likewise.
+ * elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+ (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ (elfNN_vms_section_from_shdr): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+ * hp300hpux.c (slurp_symbol_table): Likewise.
+ * i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise.
+ * mach-o.c (bfd_mach_o_write_thread): Likewise.
+ * mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise.
+ * nlm32-sparc.c (nlm_sparc_read_reloc): Likewise.
+ * pdp11.c (pdp11_aout_link_input_section): Likewise.
+ (aout_link_input_section, aout_link_input_bfd): Likewise.
+ * pe-mips.c (mips_swap_reloc_out): Likewise.
+ (coff_pe_mips_relocate_section): Likewise.
+ * som.c (som_bfd_ar_write_symbol_stuff): Likewise.
+ * vms-alpha.c (_bfd_vms_slurp_egsd): Likewise.
+ * xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise.
+
+ * coff-i860.c (i860_reloc_processing): Avoid set but unused warning.
+ * coffcode.h (coff_compute_section_file_positions): Likewise.
+ (coff_slurp_reloc_table): Likewise.
+ * cpu-arm.c (arm_check_note): Likewise.
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
+ * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
+ * elf32-sh64.c (_bfd_sh_align_load_span): Likewise.
+ * ieee.c (parse_expression): Likewise.
+ (ieee_slurp_external_symbols, drop_int): Likewise.
+ * peXXigen.c (pe_print_pdata): Likewise.
+ * versados.c (process_esd): Likewise.
+
2010-06-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
diff --git a/bfd/bout.c b/bfd/bout.c
index ad53d8f..34c1a6b 100644
--- a/bfd/bout.c
+++ b/bfd/bout.c
@@ -1,6 +1,6 @@
/* BFD back-end for Intel 960 b.out binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -1094,7 +1094,6 @@ aligncode (bfd *abfd,
unsigned int shrink)
{
bfd_vma dot = output_addr (input_section) + r->address;
- bfd_vma gap;
bfd_vma old_end;
bfd_vma new_end;
unsigned int shrink_delta;
@@ -1110,9 +1109,6 @@ aligncode (bfd *abfd,
than we used to be. */
new_end = ((dot - shrink + size) & ~size);
- /* This is the new end. */
- gap = old_end - ((dot + size) & ~size);
-
shrink_delta = (old_end - new_end) - shrink;
if (shrink_delta)
diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c
index e5ca0c1..b7ada16 100644
--- a/bfd/coff-i860.c
+++ b/bfd/coff-i860.c
@@ -1,6 +1,6 @@
/* BFD back-end for Intel i860 COFF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
Created mostly by substituting "860" for "386" in coff-i386.c
Harry Dolan <dolan@ssd.intel.com>, October 1995
@@ -629,6 +629,7 @@ i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
/* Calculate any reloc addend by looking at the symbol. */
CALC_ADDEND (abfd, ptr, (*dst), cache_ptr);
+ (void) ptr;
cache_ptr->address -= asect->vma;
diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c
index 1d61748..8b2f9d7 100644
--- a/bfd/coff-mcore.c
+++ b/bfd/coff-mcore.c
@@ -1,5 +1,5 @@
/* BFD back-end for Motorola MCore COFF/PE
- Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -370,8 +370,6 @@ coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section,
{
struct internal_reloc * rel;
struct internal_reloc * relend;
- bfd_boolean hihalf;
- bfd_vma hihalf_val;
/* If we are performing a relocatable link, we don't need to do a
thing. The caller will take care of adjusting the reloc
@@ -393,9 +391,6 @@ coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section,
return FALSE;
}
- hihalf = FALSE;
- hihalf_val = 0;
-
rel = relocs;
relend = rel + input_section->reloc_count;
diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c
index 307b7c7..06eed24 100644
--- a/bfd/coff-ppc.c
+++ b/bfd/coff-ppc.c
@@ -1,6 +1,6 @@
/* BFD back-end for PowerPC Microsoft Portable Executable files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Original version pieced together by Kim Knuttila (krk@cygnus.com)
@@ -867,8 +867,6 @@ ppc_record_toc_entry(abfd, info, sec, sym, toc_kind)
enum toc_type toc_kind ATTRIBUTE_UNUSED;
{
struct ppc_coff_link_hash_entry *h;
- const char *name;
-
int *local_syms;
h = 0;
@@ -917,8 +915,6 @@ ppc_record_toc_entry(abfd, info, sec, sym, toc_kind)
}
else
{
- name = h->root.root.root.string;
-
/* Check to see if there's a toc slot allocated. If not, do it
here. It will be used in relocate_section. */
if (IS_UNALLOCATED(h->toc_offset))
@@ -1010,8 +1006,6 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
{
struct internal_reloc *rel;
struct internal_reloc *relend;
- bfd_boolean hihalf;
- bfd_vma hihalf_val;
asection *toc_section = 0;
bfd_vma relocation;
reloc_howto_type *howto = 0;
@@ -1022,9 +1016,6 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
if (info->relocatable)
return TRUE;
- hihalf = FALSE;
- hihalf_val = 0;
-
rel = relocs;
relend = rel + input_section->reloc_count;
for (; rel < relend; rel++)
@@ -1275,17 +1266,12 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
appearing on the call instruction is a glue function or not.
A glue function must announce itself via a IMGLUE reloc, and
the reloc contains the required toc restore instruction. */
- bfd_vma x;
- const char *my_name;
-
DUMP_RELOC2 (howto->name, rel);
if (h != 0)
{
- my_name = h->root.root.root.string;
if (h->symbol_is_glue == 1)
{
- x = bfd_get_32 (input_bfd, loc);
bfd_put_32 (input_bfd, (bfd_vma) h->glue_insn, loc);
}
}
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 680a2e5..37d668c 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -3071,7 +3071,7 @@ xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
bfd_vma relocation;
struct reloc_howto_struct *howto;
{
- bfd_vma addrmask, fieldmask, signmask, ss;
+ bfd_vma fieldmask, signmask, ss;
bfd_vma a, b, sum;
/* Get the values to be added together. For signed and unsigned
@@ -3079,7 +3079,6 @@ xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
the size of an address. For bitfields, all the bits matter.
See also bfd_check_overflow. */
fieldmask = N_ONES (howto->bitsize);
- addrmask = N_ONES (bfd_arch_bits_per_address (input_bfd)) | fieldmask;
a = relocation;
b = val & howto->src_mask;
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 1cf2b4e..734dde9 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -3090,11 +3090,11 @@ static bfd_boolean
coff_compute_section_file_positions (bfd * abfd)
{
asection *current;
- asection *previous = NULL;
file_ptr sofar = bfd_coff_filhsz (abfd);
bfd_boolean align_adjust;
int target_index;
#ifdef ALIGN_SECTIONS_IN_FILE
+ asection *previous = NULL;
file_ptr old_sofar;
#endif
@@ -3408,7 +3408,9 @@ coff_compute_section_file_positions (bfd * abfd)
bfd_set_section_vma (abfd, current, 0);
#endif
+#ifdef ALIGN_SECTIONS_IN_FILE
previous = current;
+#endif
}
/* It is now safe to write to the output file. If we needed an
@@ -5179,6 +5181,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
/* Calculate any reloc addend by looking at the symbol. */
CALC_ADDEND (abfd, ptr, dst, cache_ptr);
+ (void) ptr;
cache_ptr->address -= asect->vma;
/* !! cache_ptr->section = NULL;*/
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 61d4bbd..2238720 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -1,6 +1,6 @@
/* BFD support for the ARM processor
- Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009
- Free Software Foundation, Inc.
+ Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007,
+ 2009, 2010 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
This file is part of BFD, the Binary File Descriptor library.
@@ -262,6 +262,7 @@ arm_check_note (bfd *abfd,
}
/* FIXME: We should probably check the type as well. */
+ (void) type;
if (description_return != NULL)
* description_return = descr;
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 0b21e2a..754e733 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -2332,6 +2332,8 @@ extern asection _bfd_elf_large_com_section;
return FALSE; \
warned = TRUE; \
} \
+ (void) unresolved_reloc; \
+ (void) warned; \
} \
while (0)
diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c
index 5a6ff5f..0fafe55 100644
--- a/bfd/elf-m10200.c
+++ b/bfd/elf-m10200.c
@@ -1,5 +1,6 @@
/* Matsushita 10200 specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2007, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1193,7 +1194,6 @@ mn10200_elf_relax_delete_bytes (abfd, sec, addr, count)
unsigned int sec_shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend;
- Elf_Internal_Rela *irelalign;
bfd_vma toaddr;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
@@ -1205,10 +1205,6 @@ mn10200_elf_relax_delete_bytes (abfd, sec, addr, count)
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
-
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index 8520335..f151c21 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -987,14 +987,11 @@ mn10300_elf_final_link_relocate (reloc_howto_type *howto,
unsigned long r_type = howto->type;
bfd_byte * hit_data = contents + offset;
bfd * dynobj;
- bfd_vma * local_got_offsets;
asection * sgot;
asection * splt;
asection * sreloc;
dynobj = elf_hash_table (info)->dynobj;
- local_got_offsets = elf_local_got_offsets (input_bfd);
-
sgot = NULL;
splt = NULL;
sreloc = NULL;
@@ -2109,7 +2106,6 @@ mn10300_elf_relax_section (bfd *abfd,
section = section->next)
{
struct elf32_mn10300_link_hash_entry *hash;
- Elf_Internal_Sym *sym;
asection *sym_sec = NULL;
const char *sym_name;
char *new_name;
@@ -2163,7 +2159,6 @@ mn10300_elf_relax_section (bfd *abfd,
/* We need the name and hash table entry of the target
symbol! */
hash = NULL;
- sym = NULL;
sym_sec = NULL;
if (r_index < symtab_hdr->sh_info)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 53a0846..f6115bd 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3485,7 +3485,6 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
struct bfd_link_info *info;
asection *stub_sec;
bfd *stub_bfd;
- bfd_vma stub_addr;
bfd_byte *loc;
bfd_vma sym_value;
int template_size;
@@ -3518,10 +3517,6 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
stub_bfd = stub_sec->owner;
- /* This is the address of the start of the stub. */
- stub_addr = stub_sec->output_section->vma + stub_sec->output_offset
- + stub_entry->stub_offset;
-
/* This is the address of the stub destination. */
sym_value = (stub_entry->target_value
+ stub_entry->target_section->output_offset
@@ -3719,16 +3714,14 @@ find_stub_size_and_template (enum elf32_arm_stub_type stub_type,
static bfd_boolean
arm_size_one_stub (struct bfd_hash_entry *gen_entry,
- void * in_arg)
+ void *in_arg ATTRIBUTE_UNUSED)
{
struct elf32_arm_stub_hash_entry *stub_entry;
- struct elf32_arm_link_hash_table *htab;
const insn_sequence *template_sequence;
int template_size, size;
/* Massage our args to the form they really have. */
stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry;
- htab = (struct elf32_arm_link_hash_table *) in_arg;
BFD_ASSERT((stub_entry->stub_type > arm_stub_none)
&& stub_entry->stub_type < ARRAY_SIZE(stub_definitions));
@@ -5244,7 +5237,6 @@ record_vfp11_erratum_veneer (struct bfd_link_info *link_info,
struct bfd_link_hash_entry *bh;
bfd_vma val;
struct _arm_elf_section_data *sec_data;
- int errcount;
elf32_vfp11_erratum_list *newerr;
hash_table = elf32_arm_hash_table (link_info);
@@ -5282,7 +5274,7 @@ record_vfp11_erratum_veneer (struct bfd_link_info *link_info,
myh->forced_local = 1;
/* Link veneer back to calling location. */
- errcount = ++(sec_data->erratumcount);
+ sec_data->erratumcount += 1;
newerr = (elf32_vfp11_erratum_list *)
bfd_zmalloc (sizeof (elf32_vfp11_erratum_list));
@@ -6138,9 +6130,8 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
{
elf32_vfp11_erratum_list *newerr =(elf32_vfp11_erratum_list *)
bfd_zmalloc (sizeof (elf32_vfp11_erratum_list));
- int errcount;
- errcount = ++(elf32_arm_section_data (sec)->erratumcount);
+ elf32_arm_section_data (sec)->erratumcount += 1;
newerr->u.b.vfp_insn = veneer_of_insn;
@@ -6852,8 +6843,6 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
unsigned long r_symndx;
bfd_byte * hit_data = contents + rel->r_offset;
bfd * dynobj = NULL;
- Elf_Internal_Shdr * symtab_hdr;
- struct elf_link_hash_entry ** sym_hashes;
bfd_vma * local_got_offsets;
asection * sgot = NULL;
asection * splt = NULL;
@@ -6892,8 +6881,6 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
sgot = bfd_get_section_by_name (dynobj, ".got");
splt = bfd_get_section_by_name (dynobj, ".plt");
}
- symtab_hdr = & elf_symtab_hdr (input_bfd);
- sym_hashes = elf_sym_hashes (input_bfd);
local_got_offsets = elf_local_got_offsets (input_bfd);
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -10838,7 +10825,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
const Elf_Internal_Rela *rel_end;
bfd *dynobj;
asection *sreloc;
- bfd_vma *local_got_offsets;
struct elf32_arm_link_hash_table *htab;
bfd_boolean needs_plt;
unsigned long nsyms;
@@ -10864,8 +10850,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
}
dynobj = elf_hash_table (info)->dynobj;
- local_got_offsets = elf_local_got_offsets (abfd);
-
symtab_hdr = & elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd);
nsyms = NUM_SHDR_ENTRIES (symtab_hdr);
@@ -13008,7 +12992,6 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry,
void * in_arg)
{
struct elf32_arm_stub_hash_entry *stub_entry;
- struct bfd_link_info *info;
asection *stub_sec;
bfd_vma addr;
char *stub_name;
@@ -13023,8 +13006,6 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry,
stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry;
osi = (output_arch_syminfo *) in_arg;
- info = osi->info;
-
stub_sec = stub_entry->stub_sec;
/* Ensure this stub is attached to the current section being
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 92c5be9..a9b41fa 100644
--- a/bfd/elf32-avr.c
+++ b/bfd/elf32-avr.c
@@ -1204,7 +1204,7 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
r_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (rel->r_info);
- howto = elf_avr_howto_table + ELF32_R_TYPE (rel->r_info);
+ howto = elf_avr_howto_table + r_type;
h = NULL;
sym = NULL;
sec = NULL;
@@ -1431,7 +1431,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
unsigned int sec_shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend;
- Elf_Internal_Rela *irelalign;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymbuf = NULL;
bfd_vma toaddr;
@@ -1443,10 +1442,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
-
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
@@ -1462,12 +1457,9 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++)
{
bfd_vma old_reloc_address;
- bfd_vma shrinked_insn_address;
old_reloc_address = (sec->output_section->vma
+ sec->output_offset + irel->r_offset);
- shrinked_insn_address = (sec->output_section->vma
- + sec->output_offset + addr - count);
/* Get the new reloc address. */
if ((irel->r_offset > addr
@@ -1648,8 +1640,6 @@ elf32_avr_relax_section (bfd *abfd,
Elf_Internal_Rela *irel, *irelend;
bfd_byte *contents = NULL;
Elf_Internal_Sym *isymbuf = NULL;
- static asection *last_input_section = NULL;
- static Elf_Internal_Rela *last_reloc = NULL;
struct elf32_avr_link_hash_table *htab;
if (link_info->relocatable)
@@ -1709,11 +1699,6 @@ elf32_avr_relax_section (bfd *abfd,
if (internal_relocs == NULL)
goto error_return;
- if (sec != last_input_section)
- last_reloc = NULL;
-
- last_input_section = sec;
-
/* Walk through the relocs looking for relaxing opportunities. */
irelend = internal_relocs + sec->reloc_count;
for (irel = internal_relocs; irel < irelend; irel++)
@@ -2509,12 +2494,10 @@ avr_build_one_stub (struct bfd_hash_entry *bh, void *in_arg)
static bfd_boolean
avr_mark_stub_not_to_be_necessary (struct bfd_hash_entry *bh,
- void *in_arg)
+ void *in_arg ATTRIBUTE_UNUSED)
{
struct elf32_avr_stub_hash_entry *hsh;
- struct elf32_avr_link_hash_table *htab;
- htab = in_arg;
hsh = avr_stub_hash_entry (bh);
hsh->is_actually_needed = FALSE;
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index d208f35..e8cdf22 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -3379,7 +3379,6 @@ _bfin_create_got_section (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_entry *h;
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign;
- int offset;
/* This function may be called more than once. */
s = bfd_get_section_by_name (abfd, ".got");
@@ -3457,12 +3456,10 @@ _bfin_create_got_section (bfd *abfd, struct bfd_link_info *info)
return FALSE;
bfinfdpic_gotfixup_section (info) = s;
- offset = -2048;
flags = BSF_GLOBAL;
}
else
{
- offset = 2048;
flags = BSF_GLOBAL | BSF_WEAK;
}
@@ -5107,11 +5104,12 @@ elf32_bfin_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
if (new_flags & EF_BFIN_FDPIC)
new_flags &= ~EF_BFIN_PIC;
-#ifdef DEBUG
+#ifndef DEBUG
+ if (0)
+#endif
(*_bfd_error_handler) ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
bfd_get_filename (ibfd));
-#endif
if (!elf_flags_init (obfd)) /* First call, no flags set. */
{
diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c
index 354cbd9..4c6e3c0 100644
--- a/bfd/elf32-cr16.c
+++ b/bfd/elf32-cr16.c
@@ -862,10 +862,8 @@ cr16_elf_final_link_relocate (reloc_howto_type *howto,
bfd_byte *hit_data = contents + offset;
bfd_vma reloc_bits, check, Rvalue1;
bfd * dynobj;
- bfd_vma * local_got_offsets;
dynobj = elf_hash_table (info)->dynobj;
- local_got_offsets = elf_local_got_offsets (input_bfd);
switch (r_type)
{
@@ -1262,7 +1260,6 @@ elf32_cr16_relax_delete_bytes (struct bfd_link_info *link_info, bfd *abfd,
unsigned int sec_shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend;
- Elf_Internal_Rela *irelalign;
bfd_vma toaddr;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
@@ -1275,9 +1272,6 @@ elf32_cr16_relax_delete_bytes (struct bfd_link_info *link_info, bfd *abfd,
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf32-cr16c.c b/bfd/elf32-cr16c.c
index 18d4ade..5016c6e 100644
--- a/bfd/elf32-cr16c.c
+++ b/bfd/elf32-cr16c.c
@@ -1,5 +1,6 @@
/* BFD back-end for National Semiconductor's CR16C ELF
- Copyright 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2004, 2005, 2006, 2007, 2009, 2010
+ Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -204,7 +205,6 @@ cr16c_elf_final_link_relocate (reloc_howto_type *howto,
unsigned long format, addr_type, code_factor;
unsigned short size;
unsigned short r_type;
- asymbol *symbol = NULL;
unsigned long disp20_opcod;
char neg = 0;
@@ -224,9 +224,6 @@ cr16c_elf_final_link_relocate (reloc_howto_type *howto,
addr_type = r_type & R_ADDRTYPE;
code_factor = ((addr_type == R_CODE_ADDR) ? 1 : 0);
- if (sym_sec)
- symbol = sym_sec->symbol;
-
switch (format)
{
case R_NUMBER:
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 8abb09e..1783ae3 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -2157,7 +2157,6 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd,
{
asection *splt;
asection *sgotplt;
- asection *sgot;
asection *srela;
bfd_vma got_base;
@@ -2197,7 +2196,6 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd,
BFD_ASSERT (h->dynindx != -1);
splt = bfd_get_section_by_name (dynobj, ".plt");
- sgot = bfd_get_section_by_name (dynobj, ".got");
sgotplt = bfd_get_section_by_name (dynobj, ".got.plt");
srela = bfd_get_section_by_name (dynobj, ".rela.plt");
BFD_ASSERT (splt != NULL && sgotplt != NULL
diff --git a/bfd/elf32-crx.c b/bfd/elf32-crx.c
index 71a3f6b..11c1f56 100644
--- a/bfd/elf32-crx.c
+++ b/bfd/elf32-crx.c
@@ -1,5 +1,6 @@
/* BFD back-end for National Semiconductor's CRX ELF
- Copyright 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2004, 2005, 2006, 2007, 2009, 2010
+ Free Software Foundation, Inc.
Written by Tomer Levi, NSC, Israel.
This file is part of BFD, the Binary File Descriptor library.
@@ -591,7 +592,6 @@ elf32_crx_relax_delete_bytes (struct bfd_link_info *link_info, bfd *abfd,
unsigned int sec_shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend;
- Elf_Internal_Rela *irelalign;
bfd_vma toaddr;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
@@ -604,10 +604,6 @@ elf32_crx_relax_delete_bytes (struct bfd_link_info *link_info, bfd *abfd,
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
-
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 92c0a16..e05efbd 100644
--- a/bfd/elf32-h8300.c
+++ b/bfd/elf32-h8300.c
@@ -1,6 +1,6 @@
/* BFD back-end for Renesas H8/300 ELF binaries.
Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2009 Free Software Foundation, Inc.
+ 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -724,10 +724,8 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
{
arelent bfd_reloc;
- reloc_howto_type *h;
elf32_h8_info_to_howto (abfd, &bfd_reloc, irel);
- h = bfd_reloc.howto;
}
/* Keep track of the previous reloc so that we can delete
some long jumps created by the compiler. */
@@ -1386,7 +1384,6 @@ elf32_h8_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, int count)
unsigned int sec_shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend;
- Elf_Internal_Rela *irelalign;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
bfd_vma toaddr;
@@ -1398,10 +1395,6 @@ elf32_h8_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, int count)
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
-
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index 5142d3c..32a374f 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -1160,7 +1160,6 @@ elf32_hppa_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rela_end;
struct elf32_hppa_link_hash_table *htab;
asection *sreloc;
- asection *stubreloc;
int tls_type = GOT_UNKNOWN, old_tls_type = GOT_UNKNOWN;
if (info->relocatable)
@@ -1172,7 +1171,6 @@ elf32_hppa_check_relocs (bfd *abfd,
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
eh_syms = elf_sym_hashes (abfd);
sreloc = NULL;
- stubreloc = NULL;
rela_end = relocs + sec->reloc_count;
for (rela = relocs; rela < rela_end; rela++)
diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c
index ff0208e..67e6598 100644
--- a/bfd/elf32-i370.c
+++ b/bfd/elf32-i370.c
@@ -1,6 +1,6 @@
/* i370-specific support for 32-bit ELF
Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
Hacked by Linas Vepstas for i370 linas@linas.org
@@ -804,7 +804,6 @@ i370_elf_check_relocs (bfd *abfd,
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
- bfd_vma *local_got_offsets;
asection *sreloc;
if (info->relocatable)
@@ -818,7 +817,6 @@ i370_elf_check_relocs (bfd *abfd,
dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
- local_got_offsets = elf_local_got_offsets (abfd);
sreloc = NULL;
@@ -1042,7 +1040,6 @@ i370_elf_relocate_section (bfd *output_bfd,
Elf_Internal_Rela *rel = relocs;
Elf_Internal_Rela *relend = relocs + input_section->reloc_count;
asection *sreloc = NULL;
- bfd_vma *local_got_offsets;
bfd_boolean ret = TRUE;
#ifdef DEBUG
@@ -1056,8 +1053,6 @@ i370_elf_relocate_section (bfd *output_bfd,
/* Initialize howto table if needed. */
i370_elf_howto_init ();
- local_got_offsets = elf_local_got_offsets (input_bfd);
-
for (; rel < relend; rel++)
{
enum i370_reloc_type r_type = (enum i370_reloc_type) ELF32_R_TYPE (rel->r_info);
diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c
index 40c2205..2ef22b6 100644
--- a/bfd/elf32-ip2k.c
+++ b/bfd/elf32-ip2k.c
@@ -1,5 +1,5 @@
/* Ubicom IP2xxx specific support for 32-bit ELF
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -577,7 +577,6 @@ adjust_all_relocations (bfd *abfd,
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Sym *isymbuf, *isym, *isymend;
unsigned int shndx;
- bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend, *irelbase;
struct elf_link_hash_entry **sym_hashes;
struct elf_link_hash_entry **end_hashes;
@@ -589,8 +588,6 @@ adjust_all_relocations (bfd *abfd,
shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
- contents = elf_section_data (sec)->this_hdr.contents;
-
irelbase = elf_section_data (sec)->relocs;
irelend = irelbase + sec->reloc_count;
@@ -669,9 +666,7 @@ adjust_all_relocations (bfd *abfd,
if (sym_sec == sec)
{
const char *name;
- unsigned long strx;
- unsigned char type, other;
- unsigned short desc;
+ unsigned char type;
bfd_vma value;
bfd_vma baseaddr = BASEADDR (sec);
bfd_vma symval = BASEADDR (sym_sec) + isym->st_value
@@ -685,10 +680,7 @@ adjust_all_relocations (bfd *abfd,
stabp = stabcontents + irel->r_offset - 8;
/* Go pullout the stab entry. */
- strx = bfd_h_get_32 (abfd, stabp + STRDXOFF);
type = bfd_h_get_8 (abfd, stabp + TYPEOFF);
- other = bfd_h_get_8 (abfd, stabp + OTHEROFF);
- desc = bfd_h_get_16 (abfd, stabp + DESCOFF);
value = bfd_h_get_32 (abfd, stabp + VALOFF);
name = bfd_get_stab_name (type);
@@ -706,10 +698,7 @@ adjust_all_relocations (bfd *abfd,
for (;stabp < stabend; stabp += STABSIZE)
{
/* Go pullout the stab entry. */
- strx = bfd_h_get_32 (abfd, stabp + STRDXOFF);
type = bfd_h_get_8 (abfd, stabp + TYPEOFF);
- other = bfd_h_get_8 (abfd, stabp + OTHEROFF);
- desc = bfd_h_get_16 (abfd, stabp + DESCOFF);
value = bfd_h_get_32 (abfd, stabp + VALOFF);
name = bfd_get_stab_name (type);
@@ -1089,7 +1078,6 @@ ip2k_elf_relax_section (bfd *abfd,
static bfd_boolean new_pass = FALSE;
static bfd_boolean changed = FALSE;
struct misc misc;
- asection *stab;
/* Assume nothing changes. */
*again = FALSE;
@@ -1122,18 +1110,6 @@ ip2k_elf_relax_section (bfd *abfd,
if (internal_relocs == NULL)
goto error_return;
- /* Make sure the stac.rela stuff gets read in. */
- stab = bfd_get_section_by_name (abfd, ".stab");
-
- if (stab)
- {
- /* So stab does exits. */
- Elf_Internal_Rela * irelbase;
-
- irelbase = _bfd_elf_link_read_relocs (abfd, stab, NULL, NULL,
- link_info->keep_memory);
- }
-
/* Get section contents cached copy if it exists. */
if (contents == NULL)
{
@@ -1432,7 +1408,7 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
r_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (rel->r_info);
- howto = ip2k_elf_howto_table + ELF32_R_TYPE (rel->r_info);
+ howto = ip2k_elf_howto_table + r_type;
h = NULL;
sym = NULL;
sec = NULL;
diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c
index 68195c3..727fc7a 100644
--- a/bfd/elf32-lm32.c
+++ b/bfd/elf32-lm32.c
@@ -829,7 +829,7 @@ lm32_elf_relocate_section (bfd *output_bfd,
struct elf_lm32_link_hash_table *htab = lm32_elf_hash_table (info);
bfd *dynobj;
bfd_vma *local_got_offsets;
- asection *sgot, *splt, *sreloc;
+ asection *sgot;
if (htab == NULL)
return FALSE;
@@ -838,8 +838,6 @@ lm32_elf_relocate_section (bfd *output_bfd,
local_got_offsets = elf_local_got_offsets (input_bfd);
sgot = htab->sgot;
- splt = htab->splt;
- sreloc = NULL;
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd);
@@ -858,7 +856,6 @@ lm32_elf_relocate_section (bfd *output_bfd,
bfd_vma gp;
bfd_reloc_status_type r;
const char *name = NULL;
- asection *osec;
r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info);
@@ -877,7 +874,7 @@ lm32_elf_relocate_section (bfd *output_bfd,
{
/* It's a local symbol. */
sym = local_syms + r_symndx;
- osec = sec = local_sections[r_symndx];
+ sec = local_sections[r_symndx];
relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
name = bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name);
@@ -893,7 +890,6 @@ lm32_elf_relocate_section (bfd *output_bfd,
r_symndx, symtab_hdr, sym_hashes,
h, sec, relocation,
unresolved_reloc, warned);
- osec = sec;
name = h->root.root.string;
}
@@ -1291,14 +1287,10 @@ lm32_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel_end;
struct elf_lm32_link_hash_table *htab;
bfd *dynobj;
- bfd_vma *local_got_offsets;
- asection *sgot, *srelgot, *sreloc;
if (info->relocatable)
return TRUE;
- sgot = srelgot = sreloc = NULL;
-
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);
@@ -1310,7 +1302,6 @@ lm32_elf_check_relocs (bfd *abfd,
return FALSE;
dynobj = htab->root.dynobj;
- local_got_offsets = elf_local_got_offsets (abfd);
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
@@ -1458,7 +1449,6 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
for (; dyncon < dynconend; dyncon++)
{
Elf_Internal_Dyn dyn;
- const char *name;
asection *s;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
@@ -1469,11 +1459,9 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
break;
case DT_PLTGOT:
- name = ".got";
s = htab->sgot->output_section;
goto get_vma;
case DT_JMPREL:
- name = ".rela.plt";
s = htab->srelplt->output_section;
get_vma:
BFD_ASSERT (s != NULL);
@@ -1615,15 +1603,12 @@ lm32_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct elf_lm32_link_hash_table *htab;
- bfd *dynobj;
bfd_byte *loc;
htab = lm32_elf_hash_table (info);
if (htab == NULL)
return FALSE;
- dynobj = htab->root.dynobj;
-
if (h->plt.offset != (bfd_vma) -1)
{
asection *splt;
diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
index 4de500a..a706ac3 100644
--- a/bfd/elf32-m32c.c
+++ b/bfd/elf32-m32c.c
@@ -1,5 +1,5 @@
/* M16C/M32C specific support for 32-bit ELF.
- Copyright (C) 2005, 2006, 2007, 2008, 2009
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1188,7 +1188,7 @@ static bfd_vma
m32c_offset_for_reloc (bfd *abfd,
Elf_Internal_Rela *rel,
Elf_Internal_Shdr *symtab_hdr,
- Elf_External_Sym_Shndx *shndx_buf,
+ Elf_External_Sym_Shndx *shndx_buf ATTRIBUTE_UNUSED,
Elf_Internal_Sym *intsyms)
{
bfd_vma symval;
@@ -1198,14 +1198,10 @@ m32c_offset_for_reloc (bfd *abfd,
{
/* A local symbol. */
Elf_Internal_Sym *isym;
- Elf_External_Sym_Shndx *shndx;
asection *ssec;
-
isym = intsyms + ELF32_R_SYM (rel->r_info);
ssec = bfd_section_from_elf_index (abfd, isym->st_shndx);
- shndx = shndx_buf + (shndx_buf ? ELF32_R_SYM (rel->r_info) : 0);
-
symval = isym->st_value;
if (ssec)
symval += ssec->output_section->vma
@@ -1870,7 +1866,6 @@ m32c_elf_relax_delete_bytes
bfd_byte *contents;
Elf_Internal_Rela *irel;
Elf_Internal_Rela *irelend;
- Elf_Internal_Rela *irelalign;
bfd_vma toaddr;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
@@ -1883,9 +1878,6 @@ m32c_elf_relax_delete_bytes
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 4c683ed..e079c4a 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -3153,7 +3153,6 @@ m32r_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct elf_m32r_link_hash_table *htab;
- bfd *dynobj;
bfd_byte *loc;
#ifdef DEBUG_PIC
@@ -3164,8 +3163,6 @@ m32r_elf_finish_dynamic_symbol (bfd *output_bfd,
if (htab == NULL)
return FALSE;
- dynobj = htab->root.dynobj;
-
if (h->plt.offset != (bfd_vma) -1)
{
asection *splt;
@@ -3387,7 +3384,6 @@ m32r_elf_finish_dynamic_sections (bfd *output_bfd,
for (; dyncon < dynconend; dyncon++)
{
Elf_Internal_Dyn dyn;
- const char *name;
asection *s;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
@@ -3398,11 +3394,9 @@ m32r_elf_finish_dynamic_sections (bfd *output_bfd,
break;
case DT_PLTGOT:
- name = ".got";
s = htab->sgot->output_section;
goto get_vma;
case DT_JMPREL:
- name = ".rela.plt";
s = htab->srelplt->output_section;
get_vma:
BFD_ASSERT (s != NULL);
@@ -3774,14 +3768,12 @@ m32r_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel_end;
struct elf_m32r_link_hash_table *htab;
bfd *dynobj;
- bfd_vma *local_got_offsets;
- asection *sgot, *srelgot, *sreloc;
+ asection *sreloc;
if (info->relocatable)
return TRUE;
- sgot = srelgot = sreloc = NULL;
-
+ sreloc = NULL;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
@@ -3790,7 +3782,6 @@ m32r_elf_check_relocs (bfd *abfd,
return FALSE;
dynobj = htab->root.dynobj;
- local_got_offsets = elf_local_got_offsets (abfd);
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
@@ -4048,10 +4039,6 @@ m32r_elf_fake_sections (bfd *abfd,
Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED,
asection *sec)
{
- const char *name;
-
- name = bfd_get_section_name (abfd, sec);
-
/* The generic elf_fake_sections will set up REL_HDR using the
default kind of relocations. But, we may actually need both
kinds of relocations, so we set up the second header here.
diff --git a/bfd/elf32-m68hc11.c b/bfd/elf32-m68hc11.c
index 5e5b890..79a1944 100644
--- a/bfd/elf32-m68hc11.c
+++ b/bfd/elf32-m68hc11.c
@@ -676,7 +676,6 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
struct bfd_link_info *link_info, bfd_boolean *again)
{
Elf_Internal_Shdr *symtab_hdr;
- Elf_Internal_Shdr *shndx_hdr;
Elf_Internal_Rela *internal_relocs;
Elf_Internal_Rela *free_relocs = NULL;
Elf_Internal_Rela *irel, *irelend;
@@ -701,7 +700,6 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
return TRUE;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
/* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf_link_read_relocs
diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
index 9199f69..2107486 100644
--- a/bfd/elf32-m68hc1x.c
+++ b/bfd/elf32-m68hc1x.c
@@ -935,7 +935,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
bfd_vma insn_page;
bfd_boolean is_far = FALSE;
struct elf_link_hash_entry *h;
- const char* stub_name = 0;
r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info);
@@ -958,10 +957,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
+ sec->output_offset
+ sym->st_value);
is_far = (sym && (sym->st_other & STO_M68HC12_FAR));
- if (is_far)
- stub_name = (bfd_elf_string_from_elf_section
- (input_bfd, symtab_hdr->sh_link,
- sym->st_name));
}
else
{
@@ -973,7 +968,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
warned);
is_far = (h && (h->other & STO_M68HC12_FAR));
- stub_name = h->root.root.string;
}
if (sec != NULL && elf_discarded_section (sec))
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 0eb4133..ff37a3c 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -2968,8 +2968,6 @@ elf_m68k_gc_sweep_hook (bfd *abfd,
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel, *relend;
bfd *dynobj;
- asection *sgot;
- asection *srelgot;
struct elf_m68k_got *got;
if (info->relocatable)
@@ -2981,9 +2979,6 @@ elf_m68k_gc_sweep_hook (bfd *abfd,
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
-
- sgot = bfd_get_section_by_name (dynobj, ".got");
- srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
got = NULL;
relend = relocs + sec->reloc_count;
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
index da80c85..e4c319d 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
@@ -1109,7 +1109,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
{
Elf_Internal_Rela outrel;
bfd_byte *loc;
- bfd_boolean skip, relocate = FALSE;
+ bfd_boolean skip;
/* When generating a shared object, these relocations
are copied into the output file to be resolved at run
@@ -1125,7 +1125,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
if (outrel.r_offset == (bfd_vma) -1)
skip = TRUE;
else if (outrel.r_offset == (bfd_vma) -2)
- skip = TRUE, relocate = TRUE;
+ skip = TRUE;
outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset);
@@ -1907,7 +1907,6 @@ microblaze_elf_check_relocs (bfd * abfd,
const Elf_Internal_Rela * rel;
const Elf_Internal_Rela * rel_end;
struct elf32_mb_link_hash_table *htab;
- bfd_vma *local_got_offsets;
asection *sreloc = NULL;
if (info->relocatable)
@@ -1917,7 +1916,6 @@ microblaze_elf_check_relocs (bfd * abfd,
if (htab == NULL)
return FALSE;
- local_got_offsets = elf_local_got_offsets (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);
@@ -2747,15 +2745,12 @@ microblaze_elf_finish_dynamic_symbol (bfd *output_bfd,
struct elf_link_hash_entry *h,
Elf_Internal_Sym *sym)
{
- bfd *dynobj;
struct elf32_mb_link_hash_table *htab;
htab = elf32_mb_hash_table (info);
if (htab == NULL)
return FALSE;
- dynobj = htab->elf.dynobj;
-
if (h->plt.offset != (bfd_vma) -1)
{
asection *splt;
diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c
index 23a16ff..b43f396 100644
--- a/bfd/elf32-moxie.c
+++ b/bfd/elf32-moxie.c
@@ -1,5 +1,5 @@
/* moxie-specific support for 32-bit ELF.
- Copyright 2009 Free Software Foundation, Inc.
+ Copyright 2009, 2010 Free Software Foundation, Inc.
Copied from elf32-fr30.c which is..
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
@@ -222,10 +222,8 @@ moxie_elf_relocate_section (bfd *output_bfd,
int r_type;
r_type = ELF32_R_TYPE (rel->r_info);
-
r_symndx = ELF32_R_SYM (rel->r_info);
-
- howto = moxie_elf_howto_table + ELF32_R_TYPE (rel->r_info);
+ howto = moxie_elf_howto_table + r_type;
h = NULL;
sym = NULL;
sec = NULL;
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index 7a57024..285475c 100644
--- a/bfd/elf32-msp430.c
+++ b/bfd/elf32-msp430.c
@@ -1,5 +1,5 @@
/* MSP430-specific support for 32-bit ELF
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010
Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
@@ -429,7 +429,7 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
r_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (rel->r_info);
- howto = elf_msp430_howto_table + ELF32_R_TYPE (rel->r_info);
+ howto = elf_msp430_howto_table + r_type;
h = NULL;
sym = NULL;
sec = NULL;
@@ -841,7 +841,6 @@ msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr,
bfd_byte *contents;
Elf_Internal_Rela *irel;
Elf_Internal_Rela *irelend;
- Elf_Internal_Rela *irelalign;
bfd_vma toaddr;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
@@ -854,10 +853,6 @@ msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr,
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
- power larger than the number of bytes we are deleting. */
-
- irelalign = NULL;
toaddr = sec->size;
irel = elf_section_data (sec)->relocs;
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 1580599..bf182c9 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -4788,7 +4788,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
}
else
{
- Elf_Internal_Sym *sym;
bfd_signed_vma *lgot_refs;
struct plt_entry **local_plt;
char *lgot_masks;
@@ -4807,7 +4806,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
return FALSE;
}
}
- sym = locsyms + r_symndx;
lgot_refs = elf_local_got_refcounts (ibfd);
if (lgot_refs == NULL)
abort ();
diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c
index cab7a14..7d9dbc1 100644
--- a/bfd/elf32-rx.c
+++ b/bfd/elf32-rx.c
@@ -1,5 +1,5 @@
/* Renesas RX specific support for 32-bit ELF.
- Copyright (C) 2008, 2009
+ Copyright (C) 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -453,18 +453,10 @@ rx_elf_relocate_section
struct elf_link_hash_entry ** sym_hashes;
Elf_Internal_Rela * rel;
Elf_Internal_Rela * relend;
- bfd * dynobj;
- asection * splt;
symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd);
relend = relocs + input_section->reloc_count;
-
- dynobj = elf_hash_table (info)->dynobj;
- splt = NULL;
- if (dynobj != NULL)
- splt = bfd_get_section_by_name (dynobj, ".plt");
-
for (rel = relocs; rel < relend; rel ++)
{
reloc_howto_type * howto;
@@ -1372,7 +1364,6 @@ elf32_rx_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, int count,
bfd_byte * contents;
Elf_Internal_Rela * irel;
Elf_Internal_Rela * irelend;
- Elf_Internal_Rela * irelalign;
Elf_Internal_Sym * isym;
Elf_Internal_Sym * isymend;
bfd_vma toaddr;
@@ -1389,7 +1380,6 @@ elf32_rx_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, int count,
/* The deletion must stop at the next alignment boundary, if
ALIGNMENT_REL is non-NULL. */
- irelalign = NULL;
toaddr = sec->size;
if (alignment_rel)
toaddr = alignment_rel->r_offset;
@@ -1545,7 +1535,7 @@ static bfd_vma
rx_offset_for_reloc (bfd * abfd,
Elf_Internal_Rela * rel,
Elf_Internal_Shdr * symtab_hdr,
- Elf_External_Sym_Shndx * shndx_buf,
+ Elf_External_Sym_Shndx * shndx_buf ATTRIBUTE_UNUSED,
Elf_Internal_Sym * intsyms,
Elf_Internal_Rela ** lrel,
bfd * input_bfd,
@@ -1570,7 +1560,6 @@ rx_offset_for_reloc (bfd * abfd,
{
/* A local symbol. */
Elf_Internal_Sym *isym;
- Elf_External_Sym_Shndx *shndx;
asection *ssec;
isym = intsyms + ELF32_R_SYM (rel->r_info);
@@ -1585,8 +1574,6 @@ rx_offset_for_reloc (bfd * abfd,
ssec = bfd_section_from_elf_index (abfd,
isym->st_shndx);
- shndx = shndx_buf + (shndx_buf ? ELF32_R_SYM (rel->r_info) : 0);
-
/* Initial symbol value. */
symval = isym->st_value;
@@ -1817,7 +1804,6 @@ elf32_rx_relax_section (bfd * abfd,
Elf_External_Sym_Shndx * shndx_buf = NULL;
bfd_vma pc;
bfd_vma sec_start;
- bfd_vma sec_end;
bfd_vma symval = 0;
int pcrel = 0;
int code = 0;
@@ -1841,7 +1827,6 @@ elf32_rx_relax_section (bfd * abfd,
shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
sec_start = sec->output_section->vma + sec->output_offset;
- sec_end = sec->output_section->vma + sec->output_offset + sec->size;
/* Get the section contents. */
if (elf_section_data (sec)->this_hdr.contents != NULL)
diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c
index 61c9c08..b443b60 100644
--- a/bfd/elf32-score.c
+++ b/bfd/elf32-score.c
@@ -1774,9 +1774,8 @@ score_elf_got_offset_from_index (bfd *dynobj,
{
asection *sgot;
bfd_vma gp;
- struct score_got_info *g;
- g = score_elf_got_info (dynobj, &sgot);
+ score_elf_got_info (dynobj, &sgot);
gp = _bfd_get_gp_value (output_bfd);
return sgot->output_section->vma + sgot->output_offset + got_index - gp;
@@ -1987,8 +1986,6 @@ score_elf_final_link_relocate (reloc_howto_type *howto,
bfd_vma gp = MINUS_ONE;
/* The place (section offset or address) of the storage unit being relocated. */
bfd_vma rel_addr;
- /* The value of GP used to create the relocatable object. */
- bfd_vma gp0 = MINUS_ONE;
/* The offset into the global offset table at which the address of the relocation entry
symbol, adjusted by the addend, resides during execution. */
bfd_vma g = MINUS_ONE;
@@ -2107,7 +2104,6 @@ score_elf_final_link_relocate (reloc_howto_type *howto,
case R_SCORE_HI16:
case R_SCORE_LO16:
case R_SCORE_GPREL32:
- gp0 = _bfd_get_gp_value (input_bfd);
gp = _bfd_get_gp_value (output_bfd);
break;
@@ -2408,7 +2404,6 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
asection **local_sections)
{
Elf_Internal_Shdr *symtab_hdr;
- struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend;
const char *name;
@@ -2439,7 +2434,6 @@ s3_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;
- sym_hashes = elf_sym_hashes (input_bfd);
rel = relocs;
relend = relocs + input_section->reloc_count;
for (; rel < relend; rel++)
diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c
index cd87ff3..3178410 100644
--- a/bfd/elf32-score7.c
+++ b/bfd/elf32-score7.c
@@ -1638,9 +1638,8 @@ score_elf_got_offset_from_index (bfd *dynobj,
{
asection *sgot;
bfd_vma gp;
- struct score_got_info *g;
- g = score_elf_got_info (dynobj, &sgot);
+ score_elf_got_info (dynobj, &sgot);
gp = _bfd_get_gp_value (output_bfd);
return sgot->output_section->vma + sgot->output_offset + got_index - gp;
@@ -2243,7 +2242,6 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
asection **local_sections)
{
Elf_Internal_Shdr *symtab_hdr;
- struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend;
const char *name;
@@ -2274,7 +2272,6 @@ s7_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;
- sym_hashes = elf_sym_hashes (input_bfd);
rel = relocs;
relend = relocs + input_section->reloc_count;
for (; rel < relend; rel++)
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 1b0daf9..bde565e 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -6092,15 +6092,10 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
struct elf_sh_link_hash_table *htab;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
- bfd_vma *local_got_offsets;
- asection *sgot;
- asection *srelgot;
asection *sreloc;
unsigned int r_type;
int got_type, old_got_type;
- sgot = NULL;
- srelgot = NULL;
sreloc = NULL;
if (info->relocatable)
@@ -6115,8 +6110,6 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (htab == NULL)
return FALSE;
- local_got_offsets = elf_local_got_offsets (abfd);
-
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c
index 2f2b853..2848f19 100644
--- a/bfd/elf32-sh64.c
+++ b/bfd/elf32-sh64.c
@@ -1,5 +1,5 @@
/* SuperH SH64-specific support for 32-bit ELF
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -104,7 +104,8 @@ static void sh64_find_section_for_address
/* This COFF-only function (only compiled with COFF support, making
ELF-only chains problematic) returns TRUE early for SH4, so let's just
define it TRUE here. */
-#define _bfd_sh_align_load_span(a,b,c,d,e,f,g,h,i,j) TRUE
+#define _bfd_sh_align_load_span(a,b,c,d,e,f,g,h,i,j) \
+ ((void) f, (void) h, (void) i, TRUE)
#define GOT_BIAS (-((long)-32768))
#define INCLUDE_SHMEDIA
diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
index bf1adba..fb3a4fa 100644
--- a/bfd/elf32-spu.c
+++ b/bfd/elf32-spu.c
@@ -1,6 +1,6 @@
/* SPU specific support for 32-bit ELF
- Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -4827,14 +4827,12 @@ spu_elf_relocate_section (bfd *output_bfd,
bfd_vma addend;
bfd_reloc_status_type r;
bfd_boolean unresolved_reloc;
- bfd_boolean warned;
enum _stub_type stub_type;
r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info);
howto = elf_howto_table + r_type;
unresolved_reloc = FALSE;
- warned = FALSE;
h = NULL;
sym = NULL;
sec = NULL;
@@ -4890,7 +4888,6 @@ spu_elf_relocate_section (bfd *output_bfd,
input_section,
rel->r_offset, err))
return FALSE;
- warned = TRUE;
}
sym_name = h->root.root.string;
}
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index d7aaed4..0ab7de8 100644
--- a/bfd/elf32-v850.c
+++ b/bfd/elf32-v850.c
@@ -1,6 +1,6 @@
/* V850-specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -47,7 +47,6 @@ v850_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *relocs)
{
bfd_boolean ret = TRUE;
- bfd *dynobj;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel;
@@ -64,7 +63,6 @@ v850_elf_check_relocs (bfd *abfd,
sec, abfd);
#endif
- dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
@@ -273,8 +271,6 @@ find_remembered_hi16s_reloc (bfd_vma addend, bfd_boolean *already_found)
{
hi16s_location *match = NULL;
hi16s_location *entry;
- hi16s_location *previous = NULL;
- hi16s_location *prev;
bfd_byte *addr;
/* Search the table. Record the most recent entry that matches. */
@@ -283,11 +279,8 @@ find_remembered_hi16s_reloc (bfd_vma addend, bfd_boolean *already_found)
if (entry->addend == addend
&& (match == NULL || match->counter < entry->counter))
{
- previous = prev;
match = entry;
}
-
- prev = entry;
}
if (match == NULL)
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index 2c29179..1582ac7 100644
--- a/bfd/elf32-vax.c
+++ b/bfd/elf32-vax.c
@@ -494,7 +494,6 @@ elf32_vax_set_private_flags (bfd *abfd, flagword flags)
static bfd_boolean
elf32_vax_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
{
- flagword out_flags;
flagword in_flags;
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
@@ -502,7 +501,6 @@ elf32_vax_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
return TRUE;
in_flags = elf_elfheader (ibfd)->e_flags;
- out_flags = elf_elfheader (obfd)->e_flags;
if (!elf_flags_init (obfd))
{
@@ -1362,7 +1360,6 @@ elf_vax_relocate_section (bfd *output_bfd,
bfd *dynobj;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
- bfd_vma *local_got_offsets;
bfd_vma plt_index;
bfd_vma got_offset;
asection *sgot;
@@ -1375,7 +1372,6 @@ elf_vax_relocate_section (bfd *output_bfd,
dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd);
- local_got_offsets = elf_local_got_offsets (input_bfd);
sgot = NULL;
splt = NULL;
diff --git a/bfd/elf32-xc16x.c b/bfd/elf32-xc16x.c
index 826b6aa..4d7ee99 100644
--- a/bfd/elf32-xc16x.c
+++ b/bfd/elf32-xc16x.c
@@ -1,5 +1,5 @@
/* Infineon XC16X-specific support for 16-bit ELF.
- Copyright 2006, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems
This file is part of BFD, the Binary File Descriptor library.
@@ -358,7 +358,6 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
asection *sec;
struct elf_link_hash_entry *h;
bfd_vma relocation;
- bfd_reloc_status_type r;
/* This is a final link. */
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -398,11 +397,11 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
if (info->relocatable)
continue;
- r = elf32_xc16x_final_link_relocate (r_type, input_bfd, output_bfd,
- input_section,
- contents, rel->r_offset,
- relocation, rel->r_addend,
- info, sec, h == NULL);
+ elf32_xc16x_final_link_relocate (r_type, input_bfd, output_bfd,
+ input_section,
+ contents, rel->r_offset,
+ relocation, rel->r_addend,
+ info, sec, h == NULL);
}
return TRUE;
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 888a801..770d9a8 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -7829,7 +7829,6 @@ xlate_offset_with_removed_text (const xlate_map_t *map,
text_action_list *action_list,
bfd_vma offset)
{
- xlate_map_entry_t tmp;
void *r;
xlate_map_entry_t *e;
@@ -7839,10 +7838,6 @@ xlate_offset_with_removed_text (const xlate_map_t *map,
if (map->entry_count == 0)
return offset;
- tmp.orig_address = offset;
- tmp.new_address = offset;
- tmp.size = 1;
-
r = bsearch (&offset, map->entry, map->entry_count,
sizeof (xlate_map_entry_t), &xlate_compare);
e = (xlate_map_entry_t *) r;
@@ -9660,12 +9655,10 @@ move_literal (bfd *abfd,
{
int r_type;
unsigned i;
- asection *target_sec;
reloc_bfd_fix *fix;
unsigned insert_at;
r_type = ELF32_R_TYPE (r_rel->rela.r_info);
- target_sec = r_reloc_get_section (r_rel);
/* This is the difficult case. We have to create a fix up. */
this_rela.r_offset = offset;
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
index 957e61a..9ccb518 100644
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -371,8 +371,6 @@ elf64_hppa_section_from_shdr (bfd *abfd,
const char *name,
int shindex)
{
- asection *newsect;
-
switch (hdr->sh_type)
{
case SHT_PARISC_EXT:
@@ -391,7 +389,6 @@ elf64_hppa_section_from_shdr (bfd *abfd,
if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE;
- newsect = hdr->bfd_section;
return TRUE;
}
@@ -515,9 +512,6 @@ elf64_hppa_check_relocs (bfd *abfd,
const Elf_Internal_Rela *relend;
Elf_Internal_Shdr *symtab_hdr;
const Elf_Internal_Rela *rel;
- asection *dlt, *plt, *stubs;
- char *buf;
- size_t buf_len;
unsigned int sec_symndx;
if (info->relocatable)
@@ -630,10 +624,6 @@ elf64_hppa_check_relocs (bfd *abfd,
else
sec_symndx = 0;
- dlt = plt = stubs = NULL;
- buf = NULL;
- buf_len = 0;
-
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; ++rel)
{
@@ -907,13 +897,9 @@ elf64_hppa_check_relocs (bfd *abfd,
}
}
- if (buf)
- free (buf);
return TRUE;
err_out:
- if (buf)
- free (buf);
return FALSE;
}
@@ -1979,7 +1965,7 @@ elf64_hppa_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh);
- asection *stub, *splt, *sdlt, *sopd, *spltrel, *sdltrel;
+ asection *stub, *splt, *sopd, *spltrel;
struct elf64_hppa_link_hash_table *hppa_info;
hppa_info = hppa_link_hash_table (info);
@@ -1988,10 +1974,8 @@ elf64_hppa_finish_dynamic_symbol (bfd *output_bfd,
stub = hppa_info->stub_sec;
splt = hppa_info->plt_sec;
- sdlt = hppa_info->dlt_sec;
sopd = hppa_info->opd_sec;
spltrel = hppa_info->plt_rel_sec;
- sdltrel = hppa_info->dlt_rel_sec;
/* Incredible. It is actually necessary to NOT use the symbol's real
value when building the dynamic symbol table for a shared library.
@@ -3870,7 +3854,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
asection *sym_sec;
bfd_vma relocation;
bfd_reloc_status_type r;
- bfd_boolean warned_undef;
r_type = ELF_R_TYPE (rel->r_info);
if (r_type < 0 || r_type >= (int) R_PARISC_UNIMPLEMENTED)
@@ -3887,7 +3870,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
eh = NULL;
sym = NULL;
sym_sec = NULL;
- warned_undef = FALSE;
if (r_symndx < symtab_hdr->sh_info)
{
/* This is a local symbol, hh defaults to NULL. */
@@ -3898,7 +3880,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
else
{
/* This is not a local symbol. */
- bfd_boolean unresolved_reloc;
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
/* It seems this can happen with erroneous or unsupported
@@ -3912,21 +3893,13 @@ elf64_hppa_relocate_section (bfd *output_bfd,
|| eh->root.type == bfd_link_hash_warning)
eh = (struct elf_link_hash_entry *) eh->root.u.i.link;
- warned_undef = FALSE;
- unresolved_reloc = FALSE;
relocation = 0;
if (eh->root.type == bfd_link_hash_defined
|| eh->root.type == bfd_link_hash_defweak)
{
sym_sec = eh->root.u.def.section;
- if (sym_sec == NULL
- || sym_sec->output_section == NULL)
- /* Set a flag that will be cleared later if we find a
- relocation value for this symbol. output_section
- is typically NULL for symbols satisfied by a shared
- library. */
- unresolved_reloc = TRUE;
- else
+ if (sym_sec != NULL
+ && sym_sec->output_section != NULL)
relocation = (eh->root.u.def.value
+ sym_sec->output_section->vma
+ sym_sec->output_offset);
@@ -3950,7 +3923,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
input_section,
rel->r_offset, err))
return FALSE;
- warned_undef = TRUE;
}
if (!info->relocatable
@@ -3967,7 +3939,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
(info, eh_name (eh), input_bfd,
input_section, rel->r_offset, FALSE))
return FALSE;
- warned_undef = TRUE;
}
}
}
diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c
index b090f23..3ac4950 100644
--- a/bfd/elf64-mmix.c
+++ b/bfd/elf64-mmix.c
@@ -1,5 +1,5 @@
/* MMIX-specific support for 64-bit ELF.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com>
@@ -1267,7 +1267,6 @@ mmix_elf_reloc (abfd, reloc_entry, symbol, data, input_section,
asection *reloc_target_output_section;
bfd_reloc_status_type flag = bfd_reloc_ok;
bfd_vma output_base = 0;
- bfd_vma addr;
r = bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
input_section, output_bfd, error_message);
@@ -1306,9 +1305,6 @@ mmix_elf_reloc (abfd, reloc_entry, symbol, data, input_section,
relocation += output_base + symbol->section->output_offset;
- /* Get position of relocation. */
- addr = (reloc_entry->address + input_section->output_section->vma
- + input_section->output_offset);
if (output_bfd != (bfd *) NULL)
{
/* Add in supplied addend. */
@@ -2581,7 +2577,6 @@ mmix_elf_relax_section (abfd, sec, link_info, again)
spot a missing actual initialization. */
size_t bpono = (size_t) -1;
size_t pjsno = 0;
- bfd *bpo_greg_owner;
Elf_Internal_Sym *isymbuf = NULL;
bfd_size_type size = sec->rawsize ? sec->rawsize : sec->size;
@@ -2604,8 +2599,6 @@ mmix_elf_relax_section (abfd, sec, link_info, again)
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- bpo_greg_owner = (bfd *) link_info->base_file;
-
if (bpodata != NULL)
{
bpo_gregs_section = bpodata->bpo_greg_section;
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 116d419..90a2518 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -4844,7 +4844,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
{
struct ppc_link_hash_table *htab;
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;
asection *sreloc;
@@ -4874,12 +4874,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
dottga = elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
FALSE, FALSE, TRUE);
symtab_hdr = &elf_symtab_hdr (abfd);
-
sym_hashes = elf_sym_hashes (abfd);
- sym_hashes_end = (sym_hashes
- + symtab_hdr->sh_size / sizeof (Elf64_External_Sym)
- - symtab_hdr->sh_info);
-
sreloc = NULL;
opd_sym_map = NULL;
if (strcmp (sec->name, ".opd") == 0)
@@ -6926,7 +6921,6 @@ ppc64_elf_edit_opd (struct bfd_link_info *info, bfd_boolean non_overlapping)
Elf_Internal_Rela *relstart, *rel, *relend;
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Sym *local_syms;
- struct elf_link_hash_entry **sym_hashes;
bfd_vma offset;
struct _opd_sec_data *opd;
bfd_boolean need_edit, add_aux_fields;
@@ -6951,7 +6945,6 @@ ppc64_elf_edit_opd (struct bfd_link_info *info, bfd_boolean non_overlapping)
local_syms = NULL;
symtab_hdr = &elf_symtab_hdr (ibfd);
- sym_hashes = elf_sym_hashes (ibfd);
/* Read the relocations. */
relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
@@ -7912,7 +7905,6 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
asection *toc, *sec;
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Sym *local_syms;
- struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *relstart, *rel;
unsigned long *skip, *drop;
unsigned char *used;
@@ -7930,7 +7922,6 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
local_syms = NULL;
symtab_hdr = &elf_symtab_hdr (ibfd);
- sym_hashes = elf_sym_hashes (ibfd);
/* Look at sections dropped from the final link. */
skip = NULL;
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index 5cb1a20..0646ed1 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -1409,8 +1409,6 @@ elfNN_ia64_section_from_shdr (bfd *abfd,
const char *name,
int shindex)
{
- asection *newsect;
-
/* There ought to be a place to keep ELF backend specific flags, but
at the moment there isn't one. We just keep track of the
sections by their name, instead. Fortunately, the ABI gives
@@ -1433,7 +1431,6 @@ elfNN_ia64_section_from_shdr (bfd *abfd,
if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE;
- newsect = hdr->bfd_section;
return TRUE;
}
@@ -5740,8 +5737,6 @@ elfNN_vms_section_from_shdr (bfd *abfd,
const char *name,
int shindex)
{
- asection *newsect;
-
switch (hdr->sh_type)
{
case SHT_IA_64_VMS_TRACE:
@@ -5755,7 +5750,6 @@ elfNN_vms_section_from_shdr (bfd *abfd,
if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE;
- newsect = hdr->bfd_section;
return TRUE;
}
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index 900653c..58b1890 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -1326,7 +1326,6 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
struct _bfd_sparc_elf_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
- bfd_vma *local_got_offsets;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
@@ -1340,7 +1339,6 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
BFD_ASSERT (htab != NULL);
symtab_hdr = &elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd);
- local_got_offsets = elf_local_got_offsets (abfd);
sreloc = NULL;
@@ -3642,7 +3640,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
if (info->shared)
{
Elf_Internal_Rela outrel;
- bfd_boolean skip, relocate = FALSE;
+ bfd_boolean skip;
BFD_ASSERT (sreloc != NULL);
skip = FALSE;
@@ -3652,7 +3650,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
if (outrel.r_offset == (bfd_vma) -1)
skip = TRUE;
else if (outrel.r_offset == (bfd_vma) -2)
- skip = TRUE, relocate = TRUE;
+ skip = TRUE;
outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset);
if (skip)
diff --git a/bfd/hp300hpux.c b/bfd/hp300hpux.c
index 3ca5642..7779fef 100644
--- a/bfd/hp300hpux.c
+++ b/bfd/hp300hpux.c
@@ -1,6 +1,6 @@
/* BFD backend for hp-ux 9000/300
Copyright 1990, 1991, 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
Written by Glenn Engel.
This file is part of BFD, the Binary File Descriptor library.
@@ -592,7 +592,6 @@ MY (slurp_symbol_table) (abfd)
/* OK, now walk the new symtable, caching symbol properties */
{
aout_symbol_type *cache_ptr = cached;
- aout_symbol_type cache_save;
/* Run through table and copy values */
for (sym_pointer = syms, cache_ptr = cached;
sym_pointer < sym_end; sym_pointer++, cache_ptr++)
@@ -606,7 +605,6 @@ MY (slurp_symbol_table) (abfd)
length = bfd_get_8 (abfd, sym_pointer->e_length);
cache_ptr->other = length; /* other not used, save length here */
- cache_save = *cache_ptr;
convert_sym_type (sym_pointer, cache_ptr, abfd);
if (!translate_from_native_sym_flags (abfd, cache_ptr))
return FALSE;
diff --git a/bfd/i386lynx.c b/bfd/i386lynx.c
index 45909bf..0a1b854 100644
--- a/bfd/i386lynx.c
+++ b/bfd/i386lynx.c
@@ -1,6 +1,6 @@
/* BFD back-end for i386 a.out binaries under LynxOS.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2001, 2002,
- 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
+ 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -136,7 +136,6 @@ NAME(lynx,swap_std_reloc_out) (abfd, g, natptr)
unsigned int r_length;
int r_pcrel;
int r_baserel, r_jmptable, r_relative;
- unsigned int r_addend;
asection *output_section = sym->section->output_section;
PUT_WORD (abfd, g->address, natptr->r_address);
@@ -148,8 +147,6 @@ NAME(lynx,swap_std_reloc_out) (abfd, g, natptr)
r_jmptable = 0;
r_relative = 0;
- r_addend = g->addend + (*(g->sym_ptr_ptr))->section->output_section->vma;
-
/* name was clobbered by aout_write_syms to be symbol index */
/* If this relocation is relative to a symbol then set the
@@ -373,7 +370,6 @@ NAME(lynx,swap_std_reloc_in) (abfd, bytes, cache_ptr, symbols, symcount)
int r_extern;
unsigned int r_length;
int r_pcrel;
- int r_baserel, r_jmptable, r_relative;
struct aoutdata *su = &(abfd->tdata.aout_data->a);
cache_ptr->address = H_GET_32 (abfd, bytes->r_address);
@@ -381,9 +377,6 @@ NAME(lynx,swap_std_reloc_in) (abfd, bytes, cache_ptr, symbols, symcount)
r_index = bytes->r_index[1];
r_extern = (0 != (bytes->r_index[0] & RELOC_STD_BITS_EXTERN_BIG));
r_pcrel = (0 != (bytes->r_index[0] & RELOC_STD_BITS_PCREL_BIG));
- r_baserel = (0 != (bytes->r_index[0] & RELOC_STD_BITS_BASEREL_BIG));
- r_jmptable = (0 != (bytes->r_index[0] & RELOC_STD_BITS_JMPTABLE_BIG));
- r_relative = (0 != (bytes->r_index[0] & RELOC_STD_BITS_RELATIVE_BIG));
r_length = (bytes->r_index[0] & RELOC_STD_BITS_LENGTH_BIG)
>> RELOC_STD_BITS_LENGTH_SH_BIG;
diff --git a/bfd/ieee.c b/bfd/ieee.c
index b600766..bb986c4 100644
--- a/bfd/ieee.c
+++ b/bfd/ieee.c
@@ -533,6 +533,7 @@ parse_expression (ieee_data_type *ieee,
next_byte (&(ieee->h));
*pcrel = TRUE;
section_n = must_parse_int (&(ieee->h));
+ (void) section_n;
PUSH (NOSYMBOL, bfd_abs_section_ptr, 0);
break;
}
@@ -637,6 +638,8 @@ parse_expression (ieee_data_type *ieee,
ieee_symbol_index_type sy1;
POP (sy1, section1, *extra);
+ (void) section1;
+ (void) sy1;
}
POP (*symbol, dummy, *value);
@@ -776,6 +779,7 @@ ieee_slurp_external_symbols (bfd *abfd)
case ieee_attribute_record_enum:
symbol_name_index = must_parse_int (&(ieee->h));
symbol_type_index = must_parse_int (&(ieee->h));
+ (void) symbol_type_index;
symbol_attribute_def = must_parse_int (&(ieee->h));
switch (symbol_attribute_def)
{
@@ -850,6 +854,7 @@ ieee_slurp_external_symbols (bfd *abfd)
next_byte (&(ieee->h));
symbol_name_index = must_parse_int (&(ieee->h));
+ (void) symbol_name_index;
parse_expression (ieee,
&symbol->symbol.value,
&symbol_ignore,
@@ -2669,6 +2674,7 @@ drop_int (struct output_buffer_struct *buf)
break;
}
}
+ (void) ch;
OUT (0x84);
buf->ptrp = output_ptr;
buf->buffer = output_buffer;
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index d913d3c..a02030e 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -630,13 +630,11 @@ bfd_mach_o_write_thread (bfd *abfd, bfd_mach_o_load_command *command)
unsigned int i;
unsigned char buf[8];
unsigned int offset;
- unsigned int nflavours;
BFD_ASSERT ((command->type == BFD_MACH_O_LC_THREAD)
|| (command->type == BFD_MACH_O_LC_UNIXTHREAD));
offset = 8;
- nflavours = 0;
for (i = 0; i < cmd->nflavours; i++)
{
BFD_ASSERT ((cmd->flavours[i].size % 4) == 0);
diff --git a/bfd/mmo.c b/bfd/mmo.c
index eee27c3..8c72788 100644
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -1,5 +1,5 @@
/* BFD back-end for mmo objects (MMIX-specific object-format).
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Written by Hans-Peter Nilsson (hp@bitrange.com).
Infrastructure and other bits originally copied from srec.c and
@@ -1530,7 +1530,6 @@ mmo_scan (bfd *abfd)
asection *sec = bfd_make_section_old_way (abfd, MMO_TEXT_SECTION_NAME);
asection *non_spec_sec = NULL;
bfd_vma non_spec_vma = 0;
- char *current_filename = NULL;
bfd_size_type nbytes_read = 0;
/* Buffer with room to read a 64-bit value. */
bfd_byte buf[8];
@@ -1789,7 +1788,6 @@ mmo_scan (bfd *abfd)
goto error_return;
}
- current_filename = file_names[y];
lineno = 0;
break;
@@ -2827,7 +2825,6 @@ static bfd_boolean
mmo_write_symbols_and_terminator (bfd *abfd)
{
int count = bfd_get_symcount (abfd);
- asymbol *maintable[2];
asymbol **table;
asymbol **orig_table = bfd_get_outsymbols (abfd);
int serno;
@@ -2843,8 +2840,6 @@ mmo_write_symbols_and_terminator (bfd *abfd)
fakemain->value = bfd_get_start_address (abfd);
fakemain->name = MMIX_START_SYMBOL_NAME;
fakemain->section = bfd_abs_section_ptr;
- maintable[0] = fakemain;
- maintable[1] = NULL;
memset (&root, 0, sizeof (root));
diff --git a/bfd/nlm32-sparc.c b/bfd/nlm32-sparc.c
index 42c0c5b..ba60e44 100644
--- a/bfd/nlm32-sparc.c
+++ b/bfd/nlm32-sparc.c
@@ -1,6 +1,6 @@
/* Support for 32-bit SPARC NLM (NetWare Loadable Module)
Copyright 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2009 Free Software Foundation, Inc.
+ 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -96,14 +96,12 @@ nlm_sparc_read_reloc (bfd *abfd,
unsigned int howto_index;
unsigned int type;
struct nlm32_sparc_reloc_ext tmp_reloc;
- asection *code_sec, *data_sec;
+ asection *code_sec;
if (bfd_bread (&tmp_reloc, (bfd_size_type) 12, abfd) != 12)
return FALSE;
code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
- data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-
*secp = code_sec;
val = bfd_get_32 (abfd, tmp_reloc.offset);
diff --git a/bfd/pdp11.c b/bfd/pdp11.c
index 8f44872..1a7694c 100644
--- a/bfd/pdp11.c
+++ b/bfd/pdp11.c
@@ -1,5 +1,5 @@
/* BFD back-end for PDP-11 a.out binaries.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -3214,7 +3214,6 @@ pdp11_aout_link_input_section (struct aout_final_link_info *finfo,
char *strings;
struct aout_link_hash_entry **sym_hashes;
int *symbol_map;
- bfd_size_type reloc_count;
bfd_byte *rel;
bfd_byte *rel_end;
@@ -3231,7 +3230,6 @@ pdp11_aout_link_input_section (struct aout_final_link_info *finfo,
sym_hashes = obj_aout_sym_hashes (input_bfd);
symbol_map = finfo->symbol_map;
- reloc_count = rel_size / RELOC_SIZE;
rel = relocs;
rel_end = rel + rel_size;
for (; rel < rel_end; rel += RELOC_SIZE)
@@ -3568,8 +3566,6 @@ aout_link_input_section (struct aout_final_link_info *finfo,
static bfd_boolean
aout_link_input_bfd (struct aout_final_link_info *finfo, bfd *input_bfd)
{
- bfd_size_type sym_count;
-
BFD_ASSERT (bfd_get_format (input_bfd) == bfd_object);
/* If this is a dynamic object, it may need special handling. */
@@ -3583,8 +3579,6 @@ aout_link_input_bfd (struct aout_final_link_info *finfo, bfd *input_bfd)
if (! aout_get_external_symbols (input_bfd))
return FALSE;
- sym_count = obj_aout_external_sym_count (input_bfd);
-
/* Write out the symbols and get a map of the new indices. The map
is placed into finfo->symbol_map. */
if (! aout_link_write_symbols (finfo, input_bfd))
diff --git a/bfd/pe-mips.c b/bfd/pe-mips.c
index 31b87f4..42e4e83 100644
--- a/bfd/pe-mips.c
+++ b/bfd/pe-mips.c
@@ -1,6 +1,6 @@
/* BFD back-end for MIPS PE COFF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Modified from coff-i386.c by DJ Delorie, dj@cygnus.com
@@ -552,7 +552,6 @@ mips_swap_reloc_in (bfd * abfd, void * src, void * dst)
static unsigned int
mips_swap_reloc_out (bfd * abfd, void * src, void * dst)
{
- static int prev_offset = 1;
static bfd_vma prev_addr = 0;
struct internal_reloc *reloc_src = (struct internal_reloc *)src;
struct external_reloc *reloc_dst = (struct external_reloc *)dst;
@@ -561,7 +560,6 @@ mips_swap_reloc_out (bfd * abfd, void * src, void * dst)
{
case MIPS_R_REFHI:
prev_addr = reloc_src->r_vaddr;
- prev_offset = reloc_src->r_offset;
break;
case MIPS_R_REFLO:
if (reloc_src->r_vaddr == prev_addr)
@@ -599,13 +597,9 @@ coff_pe_mips_relocate_section (bfd *output_bfd,
struct internal_syment *syms,
asection **sections)
{
- bfd_vma gp;
- bfd_boolean gp_undefined;
- size_t adjust;
struct internal_reloc *rel;
struct internal_reloc *rel_end;
unsigned int i;
- bfd_boolean got_lo;
if (info->relocatable)
{
@@ -618,10 +612,6 @@ coff_pe_mips_relocate_section (bfd *output_bfd,
BFD_ASSERT (input_bfd->xvec->byteorder
== output_bfd->xvec->byteorder);
- gp = _bfd_get_gp_value (output_bfd);
- gp_undefined = (gp == 0) ? TRUE : FALSE;
- got_lo = FALSE;
- adjust = 0;
rel = relocs;
rel_end = rel + input_section->reloc_count;
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index f977467..d023dc8 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -1650,7 +1650,9 @@ pe_print_pdata (bfd * abfd, void * vfile)
bfd_vma eh_handler;
bfd_vma eh_data;
bfd_vma prolog_end_addr;
+#if !defined(COFF_WITH_pep) || defined(COFF_WITH_pex64)
int em_data;
+#endif
if (i + PDATA_ROW_SIZE > stop)
break;
@@ -1666,7 +1668,9 @@ pe_print_pdata (bfd * abfd, void * vfile)
/* We are probably into the padding of the section now. */
break;
+#if !defined(COFF_WITH_pep) || defined(COFF_WITH_pex64)
em_data = ((eh_handler & 0x1) << 2) | (prolog_end_addr & 0x3);
+#endif
eh_handler &= ~(bfd_vma) 0x3;
prolog_end_addr &= ~(bfd_vma) 0x3;
diff --git a/bfd/som.c b/bfd/som.c
index 3b93df5..a46c35a 100644
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -1,6 +1,6 @@
/* bfd back-end for HP PA-RISC SOM objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by the Center for Software Science at the
@@ -6294,7 +6294,6 @@ som_bfd_ar_write_symbol_stuff (bfd *abfd,
struct som_external_lst_header lst,
unsigned elength)
{
- file_ptr lst_filepos;
char *strings = NULL, *p;
struct som_external_lst_symbol_record *lst_syms = NULL, *curr_lst_sym;
bfd *curr_bfd;
@@ -6323,10 +6322,6 @@ som_bfd_ar_write_symbol_stuff (bfd *abfd,
if (last_hash_entry == NULL && hash_size != 0)
goto error_return;
- /* Lots of fields are file positions relative to the start
- of the lst record. So save its location. */
- lst_filepos = bfd_tell (abfd) - sizeof (struct som_external_lst_header);
-
/* Symbols have som_index fields, so we have to keep track of the
index of each SOM in the archive.
diff --git a/bfd/versados.c b/bfd/versados.c
index d7a5d47..226f8a0 100644
--- a/bfd/versados.c
+++ b/bfd/versados.c
@@ -1,6 +1,6 @@
/* BFD back-end for VERSAdos-E objects.
Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009 Free Software Foundation, Inc.
+ 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
Versados is a Motorola trademark.
@@ -277,7 +277,9 @@ process_esd (bfd *abfd, struct ext_esd *esd, int pass)
case ESD_ABS:
size = get_4 (&ptr);
+ (void) size;
start = get_4 (&ptr);
+ (void) start;
break;
case ESD_STD_REL_SEC:
case ESD_SHRT_REL_SEC:
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index dc38a26..b1cf82d 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -1241,15 +1241,10 @@ _bfd_vms_slurp_egsd (bfd *abfd)
case EGSD__C_SYMG:
{
- int nameoff;
struct vms_symbol_entry *entry;
struct vms_egst *egst = (struct vms_egst *)vms_rec;
old_flags = bfd_getl16 (egst->header.flags);
- if (old_flags & EGSY__V_DEF)
- nameoff = ESDF__B_NAMLNG;
- else
- nameoff = ESRF__B_NAMLNG;
entry = add_symbol (abfd, &egst->namlng);
diff --git a/bfd/xsym.c b/bfd/xsym.c
index 6d56729..95446e3 100644
--- a/bfd/xsym.c
+++ b/bfd/xsym.c
@@ -1,6 +1,6 @@
/* xSYM symbol-file support for BFD.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1082,10 +1082,8 @@ bfd_sym_fetch_type_information_table_entry (bfd *abfd,
unsigned long offset)
{
unsigned char buf[4];
- bfd_sym_data_struct *sdata = NULL;
BFD_ASSERT (bfd_sym_valid (abfd));
- sdata = abfd->tdata.sym_data;
if (offset == 0)
return -1;