fix set but unused variable warnings

This commit is contained in:
Alan Modra 2010-06-27 04:07:55 +00:00
parent 1addfd92eb
commit c7e2358a88
88 changed files with 701 additions and 789 deletions

View File

@ -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> 2010-06-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with * vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with

View File

@ -1,6 +1,6 @@
/* BFD back-end for Intel 960 b.out binaries. /* BFD back-end for Intel 960 b.out binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Written by Cygnus Support. Written by Cygnus Support.
@ -1094,7 +1094,6 @@ aligncode (bfd *abfd,
unsigned int shrink) unsigned int shrink)
{ {
bfd_vma dot = output_addr (input_section) + r->address; bfd_vma dot = output_addr (input_section) + r->address;
bfd_vma gap;
bfd_vma old_end; bfd_vma old_end;
bfd_vma new_end; bfd_vma new_end;
unsigned int shrink_delta; unsigned int shrink_delta;
@ -1110,9 +1109,6 @@ aligncode (bfd *abfd,
than we used to be. */ than we used to be. */
new_end = ((dot - shrink + size) & ~size); new_end = ((dot - shrink + size) & ~size);
/* This is the new end. */
gap = old_end - ((dot + size) & ~size);
shrink_delta = (old_end - new_end) - shrink; shrink_delta = (old_end - new_end) - shrink;
if (shrink_delta) if (shrink_delta)

View File

@ -1,6 +1,6 @@
/* BFD back-end for Intel i860 COFF files. /* BFD back-end for Intel i860 COFF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 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 Created mostly by substituting "860" for "386" in coff-i386.c
Harry Dolan <dolan@ssd.intel.com>, October 1995 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. */ /* Calculate any reloc addend by looking at the symbol. */
CALC_ADDEND (abfd, ptr, (*dst), cache_ptr); CALC_ADDEND (abfd, ptr, (*dst), cache_ptr);
(void) ptr;
cache_ptr->address -= asect->vma; cache_ptr->address -= asect->vma;

View File

@ -1,5 +1,5 @@
/* BFD back-end for Motorola MCore COFF/PE /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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 * rel;
struct internal_reloc * relend; 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 /* If we are performing a relocatable link, we don't need to do a
thing. The caller will take care of adjusting the reloc 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; return FALSE;
} }
hihalf = FALSE;
hihalf_val = 0;
rel = relocs; rel = relocs;
relend = rel + input_section->reloc_count; relend = rel + input_section->reloc_count;

View File

@ -1,6 +1,6 @@
/* BFD back-end for PowerPC Microsoft Portable Executable files. /* BFD back-end for PowerPC Microsoft Portable Executable files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Original version pieced together by Kim Knuttila (krk@cygnus.com) 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; enum toc_type toc_kind ATTRIBUTE_UNUSED;
{ {
struct ppc_coff_link_hash_entry *h; struct ppc_coff_link_hash_entry *h;
const char *name;
int *local_syms; int *local_syms;
h = 0; h = 0;
@ -917,8 +915,6 @@ ppc_record_toc_entry(abfd, info, sec, sym, toc_kind)
} }
else else
{ {
name = h->root.root.root.string;
/* Check to see if there's a toc slot allocated. If not, do it /* Check to see if there's a toc slot allocated. If not, do it
here. It will be used in relocate_section. */ here. It will be used in relocate_section. */
if (IS_UNALLOCATED(h->toc_offset)) 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 *rel;
struct internal_reloc *relend; struct internal_reloc *relend;
bfd_boolean hihalf;
bfd_vma hihalf_val;
asection *toc_section = 0; asection *toc_section = 0;
bfd_vma relocation; bfd_vma relocation;
reloc_howto_type *howto = 0; reloc_howto_type *howto = 0;
@ -1022,9 +1016,6 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
if (info->relocatable) if (info->relocatable)
return TRUE; return TRUE;
hihalf = FALSE;
hihalf_val = 0;
rel = relocs; rel = relocs;
relend = rel + input_section->reloc_count; relend = rel + input_section->reloc_count;
for (; rel < relend; rel++) 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. appearing on the call instruction is a glue function or not.
A glue function must announce itself via a IMGLUE reloc, and A glue function must announce itself via a IMGLUE reloc, and
the reloc contains the required toc restore instruction. */ the reloc contains the required toc restore instruction. */
bfd_vma x;
const char *my_name;
DUMP_RELOC2 (howto->name, rel); DUMP_RELOC2 (howto->name, rel);
if (h != 0) if (h != 0)
{ {
my_name = h->root.root.root.string;
if (h->symbol_is_glue == 1) if (h->symbol_is_glue == 1)
{ {
x = bfd_get_32 (input_bfd, loc);
bfd_put_32 (input_bfd, (bfd_vma) h->glue_insn, loc); bfd_put_32 (input_bfd, (bfd_vma) h->glue_insn, loc);
} }
} }

View File

@ -3071,7 +3071,7 @@ xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
bfd_vma relocation; bfd_vma relocation;
struct reloc_howto_struct *howto; struct reloc_howto_struct *howto;
{ {
bfd_vma addrmask, fieldmask, signmask, ss; bfd_vma fieldmask, signmask, ss;
bfd_vma a, b, sum; bfd_vma a, b, sum;
/* Get the values to be added together. For signed and unsigned /* 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. the size of an address. For bitfields, all the bits matter.
See also bfd_check_overflow. */ See also bfd_check_overflow. */
fieldmask = N_ONES (howto->bitsize); fieldmask = N_ONES (howto->bitsize);
addrmask = N_ONES (bfd_arch_bits_per_address (input_bfd)) | fieldmask;
a = relocation; a = relocation;
b = val & howto->src_mask; b = val & howto->src_mask;

View File

@ -3090,11 +3090,11 @@ static bfd_boolean
coff_compute_section_file_positions (bfd * abfd) coff_compute_section_file_positions (bfd * abfd)
{ {
asection *current; asection *current;
asection *previous = NULL;
file_ptr sofar = bfd_coff_filhsz (abfd); file_ptr sofar = bfd_coff_filhsz (abfd);
bfd_boolean align_adjust; bfd_boolean align_adjust;
int target_index; int target_index;
#ifdef ALIGN_SECTIONS_IN_FILE #ifdef ALIGN_SECTIONS_IN_FILE
asection *previous = NULL;
file_ptr old_sofar; file_ptr old_sofar;
#endif #endif
@ -3408,7 +3408,9 @@ coff_compute_section_file_positions (bfd * abfd)
bfd_set_section_vma (abfd, current, 0); bfd_set_section_vma (abfd, current, 0);
#endif #endif
#ifdef ALIGN_SECTIONS_IN_FILE
previous = current; previous = current;
#endif
} }
/* It is now safe to write to the output file. If we needed an /* 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. */ /* Calculate any reloc addend by looking at the symbol. */
CALC_ADDEND (abfd, ptr, dst, cache_ptr); CALC_ADDEND (abfd, ptr, dst, cache_ptr);
(void) ptr;
cache_ptr->address -= asect->vma; cache_ptr->address -= asect->vma;
/* !! cache_ptr->section = NULL;*/ /* !! cache_ptr->section = NULL;*/

View File

@ -1,6 +1,6 @@
/* BFD support for the ARM processor /* BFD support for the ARM processor
Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007,
Free Software Foundation, Inc. 2009, 2010 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org) Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
This file is part of BFD, the Binary File Descriptor library. 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. */ /* FIXME: We should probably check the type as well. */
(void) type;
if (description_return != NULL) if (description_return != NULL)
* description_return = descr; * description_return = descr;

View File

@ -2332,6 +2332,8 @@ extern asection _bfd_elf_large_com_section;
return FALSE; \ return FALSE; \
warned = TRUE; \ warned = TRUE; \
} \ } \
(void) unresolved_reloc; \
(void) warned; \
} \ } \
while (0) while (0)

View File

@ -1,5 +1,6 @@
/* Matsushita 10200 specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; unsigned int sec_shndx;
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Rela *irelalign;
bfd_vma toaddr; bfd_vma toaddr;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; 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; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -987,14 +987,11 @@ mn10300_elf_final_link_relocate (reloc_howto_type *howto,
unsigned long r_type = howto->type; unsigned long r_type = howto->type;
bfd_byte * hit_data = contents + offset; bfd_byte * hit_data = contents + offset;
bfd * dynobj; bfd * dynobj;
bfd_vma * local_got_offsets;
asection * sgot; asection * sgot;
asection * splt; asection * splt;
asection * sreloc; asection * sreloc;
dynobj = elf_hash_table (info)->dynobj; dynobj = elf_hash_table (info)->dynobj;
local_got_offsets = elf_local_got_offsets (input_bfd);
sgot = NULL; sgot = NULL;
splt = NULL; splt = NULL;
sreloc = NULL; sreloc = NULL;
@ -2109,7 +2106,6 @@ mn10300_elf_relax_section (bfd *abfd,
section = section->next) section = section->next)
{ {
struct elf32_mn10300_link_hash_entry *hash; struct elf32_mn10300_link_hash_entry *hash;
Elf_Internal_Sym *sym;
asection *sym_sec = NULL; asection *sym_sec = NULL;
const char *sym_name; const char *sym_name;
char *new_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 /* We need the name and hash table entry of the target
symbol! */ symbol! */
hash = NULL; hash = NULL;
sym = NULL;
sym_sec = NULL; sym_sec = NULL;
if (r_index < symtab_hdr->sh_info) if (r_index < symtab_hdr->sh_info)

View File

@ -3485,7 +3485,6 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
struct bfd_link_info *info; struct bfd_link_info *info;
asection *stub_sec; asection *stub_sec;
bfd *stub_bfd; bfd *stub_bfd;
bfd_vma stub_addr;
bfd_byte *loc; bfd_byte *loc;
bfd_vma sym_value; bfd_vma sym_value;
int template_size; int template_size;
@ -3518,10 +3517,6 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
stub_bfd = stub_sec->owner; 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. */ /* This is the address of the stub destination. */
sym_value = (stub_entry->target_value sym_value = (stub_entry->target_value
+ stub_entry->target_section->output_offset + 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 static bfd_boolean
arm_size_one_stub (struct bfd_hash_entry *gen_entry, 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_stub_hash_entry *stub_entry;
struct elf32_arm_link_hash_table *htab;
const insn_sequence *template_sequence; const insn_sequence *template_sequence;
int template_size, size; int template_size, size;
/* Massage our args to the form they really have. */ /* Massage our args to the form they really have. */
stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry; 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) BFD_ASSERT((stub_entry->stub_type > arm_stub_none)
&& stub_entry->stub_type < ARRAY_SIZE(stub_definitions)); && 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; struct bfd_link_hash_entry *bh;
bfd_vma val; bfd_vma val;
struct _arm_elf_section_data *sec_data; struct _arm_elf_section_data *sec_data;
int errcount;
elf32_vfp11_erratum_list *newerr; elf32_vfp11_erratum_list *newerr;
hash_table = elf32_arm_hash_table (link_info); 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; myh->forced_local = 1;
/* Link veneer back to calling location. */ /* Link veneer back to calling location. */
errcount = ++(sec_data->erratumcount); sec_data->erratumcount += 1;
newerr = (elf32_vfp11_erratum_list *) newerr = (elf32_vfp11_erratum_list *)
bfd_zmalloc (sizeof (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 *) elf32_vfp11_erratum_list *newerr =(elf32_vfp11_erratum_list *)
bfd_zmalloc (sizeof (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; 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; unsigned long r_symndx;
bfd_byte * hit_data = contents + rel->r_offset; bfd_byte * hit_data = contents + rel->r_offset;
bfd * dynobj = NULL; bfd * dynobj = NULL;
Elf_Internal_Shdr * symtab_hdr;
struct elf_link_hash_entry ** sym_hashes;
bfd_vma * local_got_offsets; bfd_vma * local_got_offsets;
asection * sgot = NULL; asection * sgot = NULL;
asection * splt = 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"); sgot = bfd_get_section_by_name (dynobj, ".got");
splt = bfd_get_section_by_name (dynobj, ".plt"); 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); local_got_offsets = elf_local_got_offsets (input_bfd);
r_symndx = ELF32_R_SYM (rel->r_info); 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; const Elf_Internal_Rela *rel_end;
bfd *dynobj; bfd *dynobj;
asection *sreloc; asection *sreloc;
bfd_vma *local_got_offsets;
struct elf32_arm_link_hash_table *htab; struct elf32_arm_link_hash_table *htab;
bfd_boolean needs_plt; bfd_boolean needs_plt;
unsigned long nsyms; unsigned long nsyms;
@ -10864,8 +10850,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
} }
dynobj = elf_hash_table (info)->dynobj; dynobj = elf_hash_table (info)->dynobj;
local_got_offsets = elf_local_got_offsets (abfd);
symtab_hdr = & elf_symtab_hdr (abfd); symtab_hdr = & elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
nsyms = NUM_SHDR_ENTRIES (symtab_hdr); nsyms = NUM_SHDR_ENTRIES (symtab_hdr);
@ -13008,7 +12992,6 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry,
void * in_arg) void * in_arg)
{ {
struct elf32_arm_stub_hash_entry *stub_entry; struct elf32_arm_stub_hash_entry *stub_entry;
struct bfd_link_info *info;
asection *stub_sec; asection *stub_sec;
bfd_vma addr; bfd_vma addr;
char *stub_name; 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; stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry;
osi = (output_arch_syminfo *) in_arg; osi = (output_arch_syminfo *) in_arg;
info = osi->info;
stub_sec = stub_entry->stub_sec; stub_sec = stub_entry->stub_sec;
/* Ensure this stub is attached to the current section being /* Ensure this stub is attached to the current section being

View File

@ -1204,7 +1204,7 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
r_type = ELF32_R_TYPE (rel->r_info); r_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (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; h = NULL;
sym = NULL; sym = NULL;
sec = NULL; sec = NULL;
@ -1431,7 +1431,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
unsigned int sec_shndx; unsigned int sec_shndx;
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Rela *irelalign;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymbuf = NULL; Elf_Internal_Sym *isymbuf = NULL;
bfd_vma toaddr; bfd_vma toaddr;
@ -1443,10 +1442,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
contents = elf_section_data (sec)->this_hdr.contents; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; 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++) for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++)
{ {
bfd_vma old_reloc_address; bfd_vma old_reloc_address;
bfd_vma shrinked_insn_address;
old_reloc_address = (sec->output_section->vma old_reloc_address = (sec->output_section->vma
+ sec->output_offset + irel->r_offset); + sec->output_offset + irel->r_offset);
shrinked_insn_address = (sec->output_section->vma
+ sec->output_offset + addr - count);
/* Get the new reloc address. */ /* Get the new reloc address. */
if ((irel->r_offset > addr if ((irel->r_offset > addr
@ -1648,8 +1640,6 @@ elf32_avr_relax_section (bfd *abfd,
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
bfd_byte *contents = NULL; bfd_byte *contents = NULL;
Elf_Internal_Sym *isymbuf = 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; struct elf32_avr_link_hash_table *htab;
if (link_info->relocatable) if (link_info->relocatable)
@ -1709,11 +1699,6 @@ elf32_avr_relax_section (bfd *abfd,
if (internal_relocs == NULL) if (internal_relocs == NULL)
goto error_return; goto error_return;
if (sec != last_input_section)
last_reloc = NULL;
last_input_section = sec;
/* Walk through the relocs looking for relaxing opportunities. */ /* Walk through the relocs looking for relaxing opportunities. */
irelend = internal_relocs + sec->reloc_count; irelend = internal_relocs + sec->reloc_count;
for (irel = internal_relocs; irel < irelend; irel++) 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 static bfd_boolean
avr_mark_stub_not_to_be_necessary (struct bfd_hash_entry *bh, 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_stub_hash_entry *hsh;
struct elf32_avr_link_hash_table *htab;
htab = in_arg;
hsh = avr_stub_hash_entry (bh); hsh = avr_stub_hash_entry (bh);
hsh->is_actually_needed = FALSE; hsh->is_actually_needed = FALSE;

View File

@ -3379,7 +3379,6 @@ _bfin_create_got_section (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_entry *h; struct elf_link_hash_entry *h;
const struct elf_backend_data *bed = get_elf_backend_data (abfd); const struct elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign; int ptralign;
int offset;
/* This function may be called more than once. */ /* This function may be called more than once. */
s = bfd_get_section_by_name (abfd, ".got"); 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; return FALSE;
bfinfdpic_gotfixup_section (info) = s; bfinfdpic_gotfixup_section (info) = s;
offset = -2048;
flags = BSF_GLOBAL; flags = BSF_GLOBAL;
} }
else else
{ {
offset = 2048;
flags = BSF_GLOBAL | BSF_WEAK; 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) if (new_flags & EF_BFIN_FDPIC)
new_flags &= ~EF_BFIN_PIC; 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", (*_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", old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
bfd_get_filename (ibfd)); bfd_get_filename (ibfd));
#endif
if (!elf_flags_init (obfd)) /* First call, no flags set. */ if (!elf_flags_init (obfd)) /* First call, no flags set. */
{ {

View File

@ -862,10 +862,8 @@ cr16_elf_final_link_relocate (reloc_howto_type *howto,
bfd_byte *hit_data = contents + offset; bfd_byte *hit_data = contents + offset;
bfd_vma reloc_bits, check, Rvalue1; bfd_vma reloc_bits, check, Rvalue1;
bfd * dynobj; bfd * dynobj;
bfd_vma * local_got_offsets;
dynobj = elf_hash_table (info)->dynobj; dynobj = elf_hash_table (info)->dynobj;
local_got_offsets = elf_local_got_offsets (input_bfd);
switch (r_type) switch (r_type)
{ {
@ -1262,7 +1260,6 @@ elf32_cr16_relax_delete_bytes (struct bfd_link_info *link_info, bfd *abfd,
unsigned int sec_shndx; unsigned int sec_shndx;
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Rela *irelalign;
bfd_vma toaddr; bfd_vma toaddr;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; 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; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -1,5 +1,6 @@
/* BFD back-end for National Semiconductor's CR16C ELF /* 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. 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 long format, addr_type, code_factor;
unsigned short size; unsigned short size;
unsigned short r_type; unsigned short r_type;
asymbol *symbol = NULL;
unsigned long disp20_opcod; unsigned long disp20_opcod;
char neg = 0; char neg = 0;
@ -224,9 +224,6 @@ cr16c_elf_final_link_relocate (reloc_howto_type *howto,
addr_type = r_type & R_ADDRTYPE; addr_type = r_type & R_ADDRTYPE;
code_factor = ((addr_type == R_CODE_ADDR) ? 1 : 0); code_factor = ((addr_type == R_CODE_ADDR) ? 1 : 0);
if (sym_sec)
symbol = sym_sec->symbol;
switch (format) switch (format)
{ {
case R_NUMBER: case R_NUMBER:

View File

@ -2157,7 +2157,6 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd,
{ {
asection *splt; asection *splt;
asection *sgotplt; asection *sgotplt;
asection *sgot;
asection *srela; asection *srela;
bfd_vma got_base; bfd_vma got_base;
@ -2197,7 +2196,6 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd,
BFD_ASSERT (h->dynindx != -1); BFD_ASSERT (h->dynindx != -1);
splt = bfd_get_section_by_name (dynobj, ".plt"); 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"); sgotplt = bfd_get_section_by_name (dynobj, ".got.plt");
srela = bfd_get_section_by_name (dynobj, ".rela.plt"); srela = bfd_get_section_by_name (dynobj, ".rela.plt");
BFD_ASSERT (splt != NULL && sgotplt != NULL BFD_ASSERT (splt != NULL && sgotplt != NULL

View File

@ -1,5 +1,6 @@
/* BFD back-end for National Semiconductor's CRX ELF /* 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. Written by Tomer Levi, NSC, Israel.
This file is part of BFD, the Binary File Descriptor library. 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; unsigned int sec_shndx;
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Rela *irelalign;
bfd_vma toaddr; bfd_vma toaddr;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; 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; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -1,6 +1,6 @@
/* BFD back-end for Renesas H8/300 ELF binaries. /* BFD back-end for Renesas H8/300 ELF binaries.
Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 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. 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; arelent bfd_reloc;
reloc_howto_type *h;
elf32_h8_info_to_howto (abfd, &bfd_reloc, irel); elf32_h8_info_to_howto (abfd, &bfd_reloc, irel);
h = bfd_reloc.howto;
} }
/* Keep track of the previous reloc so that we can delete /* Keep track of the previous reloc so that we can delete
some long jumps created by the compiler. */ 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; unsigned int sec_shndx;
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Rela *irelalign;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; Elf_Internal_Sym *isymend;
bfd_vma toaddr; 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; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -1160,7 +1160,6 @@ elf32_hppa_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rela_end; const Elf_Internal_Rela *rela_end;
struct elf32_hppa_link_hash_table *htab; struct elf32_hppa_link_hash_table *htab;
asection *sreloc; asection *sreloc;
asection *stubreloc;
int tls_type = GOT_UNKNOWN, old_tls_type = GOT_UNKNOWN; int tls_type = GOT_UNKNOWN, old_tls_type = GOT_UNKNOWN;
if (info->relocatable) if (info->relocatable)
@ -1172,7 +1171,6 @@ elf32_hppa_check_relocs (bfd *abfd,
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
eh_syms = elf_sym_hashes (abfd); eh_syms = elf_sym_hashes (abfd);
sreloc = NULL; sreloc = NULL;
stubreloc = NULL;
rela_end = relocs + sec->reloc_count; rela_end = relocs + sec->reloc_count;
for (rela = relocs; rela < rela_end; rela++) for (rela = relocs; rela < rela_end; rela++)

View File

@ -1,6 +1,6 @@
/* i370-specific support for 32-bit ELF /* i370-specific support for 32-bit ELF
Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 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. Written by Ian Lance Taylor, Cygnus Support.
Hacked by Linas Vepstas for i370 linas@linas.org 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; struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
bfd_vma *local_got_offsets;
asection *sreloc; asection *sreloc;
if (info->relocatable) if (info->relocatable)
@ -818,7 +817,6 @@ i370_elf_check_relocs (bfd *abfd,
dynobj = elf_hash_table (info)->dynobj; dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
local_got_offsets = elf_local_got_offsets (abfd);
sreloc = NULL; sreloc = NULL;
@ -1042,7 +1040,6 @@ i370_elf_relocate_section (bfd *output_bfd,
Elf_Internal_Rela *rel = relocs; Elf_Internal_Rela *rel = relocs;
Elf_Internal_Rela *relend = relocs + input_section->reloc_count; Elf_Internal_Rela *relend = relocs + input_section->reloc_count;
asection *sreloc = NULL; asection *sreloc = NULL;
bfd_vma *local_got_offsets;
bfd_boolean ret = TRUE; bfd_boolean ret = TRUE;
#ifdef DEBUG #ifdef DEBUG
@ -1056,8 +1053,6 @@ i370_elf_relocate_section (bfd *output_bfd,
/* Initialize howto table if needed. */ /* Initialize howto table if needed. */
i370_elf_howto_init (); i370_elf_howto_init ();
local_got_offsets = elf_local_got_offsets (input_bfd);
for (; rel < relend; rel++) for (; rel < relend; rel++)
{ {
enum i370_reloc_type r_type = (enum i370_reloc_type) ELF32_R_TYPE (rel->r_info); enum i370_reloc_type r_type = (enum i370_reloc_type) ELF32_R_TYPE (rel->r_info);

View File

@ -1,5 +1,5 @@
/* Ubicom IP2xxx specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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_Shdr *symtab_hdr;
Elf_Internal_Sym *isymbuf, *isym, *isymend; Elf_Internal_Sym *isymbuf, *isym, *isymend;
unsigned int shndx; unsigned int shndx;
bfd_byte *contents;
Elf_Internal_Rela *irel, *irelend, *irelbase; Elf_Internal_Rela *irel, *irelend, *irelbase;
struct elf_link_hash_entry **sym_hashes; struct elf_link_hash_entry **sym_hashes;
struct elf_link_hash_entry **end_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); shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
contents = elf_section_data (sec)->this_hdr.contents;
irelbase = elf_section_data (sec)->relocs; irelbase = elf_section_data (sec)->relocs;
irelend = irelbase + sec->reloc_count; irelend = irelbase + sec->reloc_count;
@ -669,9 +666,7 @@ adjust_all_relocations (bfd *abfd,
if (sym_sec == sec) if (sym_sec == sec)
{ {
const char *name; const char *name;
unsigned long strx; unsigned char type;
unsigned char type, other;
unsigned short desc;
bfd_vma value; bfd_vma value;
bfd_vma baseaddr = BASEADDR (sec); bfd_vma baseaddr = BASEADDR (sec);
bfd_vma symval = BASEADDR (sym_sec) + isym->st_value bfd_vma symval = BASEADDR (sym_sec) + isym->st_value
@ -685,10 +680,7 @@ adjust_all_relocations (bfd *abfd,
stabp = stabcontents + irel->r_offset - 8; stabp = stabcontents + irel->r_offset - 8;
/* Go pullout the stab entry. */ /* Go pullout the stab entry. */
strx = bfd_h_get_32 (abfd, stabp + STRDXOFF);
type = bfd_h_get_8 (abfd, stabp + TYPEOFF); 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); value = bfd_h_get_32 (abfd, stabp + VALOFF);
name = bfd_get_stab_name (type); name = bfd_get_stab_name (type);
@ -706,10 +698,7 @@ adjust_all_relocations (bfd *abfd,
for (;stabp < stabend; stabp += STABSIZE) for (;stabp < stabend; stabp += STABSIZE)
{ {
/* Go pullout the stab entry. */ /* Go pullout the stab entry. */
strx = bfd_h_get_32 (abfd, stabp + STRDXOFF);
type = bfd_h_get_8 (abfd, stabp + TYPEOFF); 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); value = bfd_h_get_32 (abfd, stabp + VALOFF);
name = bfd_get_stab_name (type); 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 new_pass = FALSE;
static bfd_boolean changed = FALSE; static bfd_boolean changed = FALSE;
struct misc misc; struct misc misc;
asection *stab;
/* Assume nothing changes. */ /* Assume nothing changes. */
*again = FALSE; *again = FALSE;
@ -1122,18 +1110,6 @@ ip2k_elf_relax_section (bfd *abfd,
if (internal_relocs == NULL) if (internal_relocs == NULL)
goto error_return; 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. */ /* Get section contents cached copy if it exists. */
if (contents == NULL) 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_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (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; h = NULL;
sym = NULL; sym = NULL;
sec = NULL; sec = NULL;

View File

@ -829,7 +829,7 @@ lm32_elf_relocate_section (bfd *output_bfd,
struct elf_lm32_link_hash_table *htab = lm32_elf_hash_table (info); struct elf_lm32_link_hash_table *htab = lm32_elf_hash_table (info);
bfd *dynobj; bfd *dynobj;
bfd_vma *local_got_offsets; bfd_vma *local_got_offsets;
asection *sgot, *splt, *sreloc; asection *sgot;
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
@ -838,8 +838,6 @@ lm32_elf_relocate_section (bfd *output_bfd,
local_got_offsets = elf_local_got_offsets (input_bfd); local_got_offsets = elf_local_got_offsets (input_bfd);
sgot = htab->sgot; sgot = htab->sgot;
splt = htab->splt;
sreloc = NULL;
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd); sym_hashes = elf_sym_hashes (input_bfd);
@ -858,7 +856,6 @@ lm32_elf_relocate_section (bfd *output_bfd,
bfd_vma gp; bfd_vma gp;
bfd_reloc_status_type r; bfd_reloc_status_type r;
const char *name = NULL; const char *name = NULL;
asection *osec;
r_symndx = ELF32_R_SYM (rel->r_info); r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (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. */ /* It's a local symbol. */
sym = local_syms + r_symndx; 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); relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
name = bfd_elf_string_from_elf_section name = bfd_elf_string_from_elf_section
(input_bfd, symtab_hdr->sh_link, sym->st_name); (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, r_symndx, symtab_hdr, sym_hashes,
h, sec, relocation, h, sec, relocation,
unresolved_reloc, warned); unresolved_reloc, warned);
osec = sec;
name = h->root.root.string; name = h->root.root.string;
} }
@ -1291,14 +1287,10 @@ lm32_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
struct elf_lm32_link_hash_table *htab; struct elf_lm32_link_hash_table *htab;
bfd *dynobj; bfd *dynobj;
bfd_vma *local_got_offsets;
asection *sgot, *srelgot, *sreloc;
if (info->relocatable) if (info->relocatable)
return TRUE; return TRUE;
sgot = srelgot = sreloc = NULL;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym); 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; return FALSE;
dynobj = htab->root.dynobj; dynobj = htab->root.dynobj;
local_got_offsets = elf_local_got_offsets (abfd);
rel_end = relocs + sec->reloc_count; rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++) for (rel = relocs; rel < rel_end; rel++)
@ -1458,7 +1449,6 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
for (; dyncon < dynconend; dyncon++) for (; dyncon < dynconend; dyncon++)
{ {
Elf_Internal_Dyn dyn; Elf_Internal_Dyn dyn;
const char *name;
asection *s; asection *s;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
@ -1469,11 +1459,9 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
break; break;
case DT_PLTGOT: case DT_PLTGOT:
name = ".got";
s = htab->sgot->output_section; s = htab->sgot->output_section;
goto get_vma; goto get_vma;
case DT_JMPREL: case DT_JMPREL:
name = ".rela.plt";
s = htab->srelplt->output_section; s = htab->srelplt->output_section;
get_vma: get_vma:
BFD_ASSERT (s != NULL); BFD_ASSERT (s != NULL);
@ -1615,15 +1603,12 @@ lm32_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym) Elf_Internal_Sym *sym)
{ {
struct elf_lm32_link_hash_table *htab; struct elf_lm32_link_hash_table *htab;
bfd *dynobj;
bfd_byte *loc; bfd_byte *loc;
htab = lm32_elf_hash_table (info); htab = lm32_elf_hash_table (info);
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
dynobj = htab->root.dynobj;
if (h->plt.offset != (bfd_vma) -1) if (h->plt.offset != (bfd_vma) -1)
{ {
asection *splt; asection *splt;

View File

@ -1,5 +1,5 @@
/* M16C/M32C specific support for 32-bit ELF. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -1188,7 +1188,7 @@ static bfd_vma
m32c_offset_for_reloc (bfd *abfd, m32c_offset_for_reloc (bfd *abfd,
Elf_Internal_Rela *rel, Elf_Internal_Rela *rel,
Elf_Internal_Shdr *symtab_hdr, 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_Sym *intsyms)
{ {
bfd_vma symval; bfd_vma symval;
@ -1198,14 +1198,10 @@ m32c_offset_for_reloc (bfd *abfd,
{ {
/* A local symbol. */ /* A local symbol. */
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_External_Sym_Shndx *shndx;
asection *ssec; asection *ssec;
isym = intsyms + ELF32_R_SYM (rel->r_info); isym = intsyms + ELF32_R_SYM (rel->r_info);
ssec = bfd_section_from_elf_index (abfd, isym->st_shndx); 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; symval = isym->st_value;
if (ssec) if (ssec)
symval += ssec->output_section->vma symval += ssec->output_section->vma
@ -1870,7 +1866,6 @@ m32c_elf_relax_delete_bytes
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel; Elf_Internal_Rela *irel;
Elf_Internal_Rela *irelend; Elf_Internal_Rela *irelend;
Elf_Internal_Rela *irelalign;
bfd_vma toaddr; bfd_vma toaddr;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; Elf_Internal_Sym *isymend;
@ -1883,9 +1878,6 @@ m32c_elf_relax_delete_bytes
contents = elf_section_data (sec)->this_hdr.contents; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -3153,7 +3153,6 @@ m32r_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym) Elf_Internal_Sym *sym)
{ {
struct elf_m32r_link_hash_table *htab; struct elf_m32r_link_hash_table *htab;
bfd *dynobj;
bfd_byte *loc; bfd_byte *loc;
#ifdef DEBUG_PIC #ifdef DEBUG_PIC
@ -3164,8 +3163,6 @@ m32r_elf_finish_dynamic_symbol (bfd *output_bfd,
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
dynobj = htab->root.dynobj;
if (h->plt.offset != (bfd_vma) -1) if (h->plt.offset != (bfd_vma) -1)
{ {
asection *splt; asection *splt;
@ -3387,7 +3384,6 @@ m32r_elf_finish_dynamic_sections (bfd *output_bfd,
for (; dyncon < dynconend; dyncon++) for (; dyncon < dynconend; dyncon++)
{ {
Elf_Internal_Dyn dyn; Elf_Internal_Dyn dyn;
const char *name;
asection *s; asection *s;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
@ -3398,11 +3394,9 @@ m32r_elf_finish_dynamic_sections (bfd *output_bfd,
break; break;
case DT_PLTGOT: case DT_PLTGOT:
name = ".got";
s = htab->sgot->output_section; s = htab->sgot->output_section;
goto get_vma; goto get_vma;
case DT_JMPREL: case DT_JMPREL:
name = ".rela.plt";
s = htab->srelplt->output_section; s = htab->srelplt->output_section;
get_vma: get_vma:
BFD_ASSERT (s != NULL); BFD_ASSERT (s != NULL);
@ -3774,14 +3768,12 @@ m32r_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
struct elf_m32r_link_hash_table *htab; struct elf_m32r_link_hash_table *htab;
bfd *dynobj; bfd *dynobj;
bfd_vma *local_got_offsets; asection *sreloc;
asection *sgot, *srelgot, *sreloc;
if (info->relocatable) if (info->relocatable)
return TRUE; return TRUE;
sgot = srelgot = sreloc = NULL; sreloc = NULL;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
@ -3790,7 +3782,6 @@ m32r_elf_check_relocs (bfd *abfd,
return FALSE; return FALSE;
dynobj = htab->root.dynobj; dynobj = htab->root.dynobj;
local_got_offsets = elf_local_got_offsets (abfd);
rel_end = relocs + sec->reloc_count; rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++) for (rel = relocs; rel < rel_end; rel++)
@ -4048,10 +4039,6 @@ m32r_elf_fake_sections (bfd *abfd,
Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED, Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED,
asection *sec) asection *sec)
{ {
const char *name;
name = bfd_get_section_name (abfd, sec);
/* The generic elf_fake_sections will set up REL_HDR using the /* The generic elf_fake_sections will set up REL_HDR using the
default kind of relocations. But, we may actually need both default kind of relocations. But, we may actually need both
kinds of relocations, so we set up the second header here. kinds of relocations, so we set up the second header here.

View File

@ -676,7 +676,6 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
struct bfd_link_info *link_info, bfd_boolean *again) struct bfd_link_info *link_info, bfd_boolean *again)
{ {
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Shdr *shndx_hdr;
Elf_Internal_Rela *internal_relocs; Elf_Internal_Rela *internal_relocs;
Elf_Internal_Rela *free_relocs = NULL; Elf_Internal_Rela *free_relocs = NULL;
Elf_Internal_Rela *irel, *irelend; Elf_Internal_Rela *irel, *irelend;
@ -701,7 +700,6 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
return TRUE; return TRUE;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
/* Get a copy of the native relocations. */ /* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf_link_read_relocs internal_relocs = (_bfd_elf_link_read_relocs

View File

@ -935,7 +935,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
bfd_vma insn_page; bfd_vma insn_page;
bfd_boolean is_far = FALSE; bfd_boolean is_far = FALSE;
struct elf_link_hash_entry *h; struct elf_link_hash_entry *h;
const char* stub_name = 0;
r_symndx = ELF32_R_SYM (rel->r_info); r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (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 + sec->output_offset
+ sym->st_value); + sym->st_value);
is_far = (sym && (sym->st_other & STO_M68HC12_FAR)); 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 else
{ {
@ -973,7 +968,6 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
warned); warned);
is_far = (h && (h->other & STO_M68HC12_FAR)); is_far = (h && (h->other & STO_M68HC12_FAR));
stub_name = h->root.root.string;
} }
if (sec != NULL && elf_discarded_section (sec)) if (sec != NULL && elf_discarded_section (sec))

View File

@ -2968,8 +2968,6 @@ elf_m68k_gc_sweep_hook (bfd *abfd,
struct elf_link_hash_entry **sym_hashes; struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel, *relend; const Elf_Internal_Rela *rel, *relend;
bfd *dynobj; bfd *dynobj;
asection *sgot;
asection *srelgot;
struct elf_m68k_got *got; struct elf_m68k_got *got;
if (info->relocatable) if (info->relocatable)
@ -2981,9 +2979,6 @@ elf_m68k_gc_sweep_hook (bfd *abfd,
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); 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; got = NULL;
relend = relocs + sec->reloc_count; relend = relocs + sec->reloc_count;

View File

@ -1109,7 +1109,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
{ {
Elf_Internal_Rela outrel; Elf_Internal_Rela outrel;
bfd_byte *loc; bfd_byte *loc;
bfd_boolean skip, relocate = FALSE; bfd_boolean skip;
/* When generating a shared object, these relocations /* When generating a shared object, these relocations
are copied into the output file to be resolved at run 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) if (outrel.r_offset == (bfd_vma) -1)
skip = TRUE; skip = TRUE;
else if (outrel.r_offset == (bfd_vma) -2) else if (outrel.r_offset == (bfd_vma) -2)
skip = TRUE, relocate = TRUE; skip = TRUE;
outrel.r_offset += (input_section->output_section->vma outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset); + input_section->output_offset);
@ -1907,7 +1907,6 @@ microblaze_elf_check_relocs (bfd * abfd,
const Elf_Internal_Rela * rel; const Elf_Internal_Rela * rel;
const Elf_Internal_Rela * rel_end; const Elf_Internal_Rela * rel_end;
struct elf32_mb_link_hash_table *htab; struct elf32_mb_link_hash_table *htab;
bfd_vma *local_got_offsets;
asection *sreloc = NULL; asection *sreloc = NULL;
if (info->relocatable) if (info->relocatable)
@ -1917,7 +1916,6 @@ microblaze_elf_check_relocs (bfd * abfd,
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
local_got_offsets = elf_local_got_offsets (abfd);
symtab_hdr = & elf_tdata (abfd)->symtab_hdr; symtab_hdr = & elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym); 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, struct elf_link_hash_entry *h,
Elf_Internal_Sym *sym) Elf_Internal_Sym *sym)
{ {
bfd *dynobj;
struct elf32_mb_link_hash_table *htab; struct elf32_mb_link_hash_table *htab;
htab = elf32_mb_hash_table (info); htab = elf32_mb_hash_table (info);
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
dynobj = htab->elf.dynobj;
if (h->plt.offset != (bfd_vma) -1) if (h->plt.offset != (bfd_vma) -1)
{ {
asection *splt; asection *splt;

View File

@ -1,5 +1,5 @@
/* moxie-specific support for 32-bit ELF. /* 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.. Copied from elf32-fr30.c which is..
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 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; int r_type;
r_type = ELF32_R_TYPE (rel->r_info); r_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (rel->r_info); r_symndx = ELF32_R_SYM (rel->r_info);
howto = moxie_elf_howto_table + r_type;
howto = moxie_elf_howto_table + ELF32_R_TYPE (rel->r_info);
h = NULL; h = NULL;
sym = NULL; sym = NULL;
sec = NULL; sec = NULL;

View File

@ -1,5 +1,5 @@
/* MSP430-specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru> 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_type = ELF32_R_TYPE (rel->r_info);
r_symndx = ELF32_R_SYM (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; h = NULL;
sym = NULL; sym = NULL;
sec = NULL; sec = NULL;
@ -841,7 +841,6 @@ msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr,
bfd_byte *contents; bfd_byte *contents;
Elf_Internal_Rela *irel; Elf_Internal_Rela *irel;
Elf_Internal_Rela *irelend; Elf_Internal_Rela *irelend;
Elf_Internal_Rela *irelalign;
bfd_vma toaddr; bfd_vma toaddr;
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend; 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; 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; toaddr = sec->size;
irel = elf_section_data (sec)->relocs; irel = elf_section_data (sec)->relocs;

View File

@ -4788,7 +4788,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
} }
else else
{ {
Elf_Internal_Sym *sym;
bfd_signed_vma *lgot_refs; bfd_signed_vma *lgot_refs;
struct plt_entry **local_plt; struct plt_entry **local_plt;
char *lgot_masks; char *lgot_masks;
@ -4807,7 +4806,6 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
return FALSE; return FALSE;
} }
} }
sym = locsyms + r_symndx;
lgot_refs = elf_local_got_refcounts (ibfd); lgot_refs = elf_local_got_refcounts (ibfd);
if (lgot_refs == NULL) if (lgot_refs == NULL)
abort (); abort ();

View File

@ -1,5 +1,5 @@
/* Renesas RX specific support for 32-bit ELF. /* Renesas RX specific support for 32-bit ELF.
Copyright (C) 2008, 2009 Copyright (C) 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; struct elf_link_hash_entry ** sym_hashes;
Elf_Internal_Rela * rel; Elf_Internal_Rela * rel;
Elf_Internal_Rela * relend; Elf_Internal_Rela * relend;
bfd * dynobj;
asection * splt;
symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr; symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd); sym_hashes = elf_sym_hashes (input_bfd);
relend = relocs + input_section->reloc_count; 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 ++) for (rel = relocs; rel < relend; rel ++)
{ {
reloc_howto_type * howto; 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; bfd_byte * contents;
Elf_Internal_Rela * irel; Elf_Internal_Rela * irel;
Elf_Internal_Rela * irelend; Elf_Internal_Rela * irelend;
Elf_Internal_Rela * irelalign;
Elf_Internal_Sym * isym; Elf_Internal_Sym * isym;
Elf_Internal_Sym * isymend; Elf_Internal_Sym * isymend;
bfd_vma toaddr; 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 /* The deletion must stop at the next alignment boundary, if
ALIGNMENT_REL is non-NULL. */ ALIGNMENT_REL is non-NULL. */
irelalign = NULL;
toaddr = sec->size; toaddr = sec->size;
if (alignment_rel) if (alignment_rel)
toaddr = alignment_rel->r_offset; toaddr = alignment_rel->r_offset;
@ -1545,7 +1535,7 @@ static bfd_vma
rx_offset_for_reloc (bfd * abfd, rx_offset_for_reloc (bfd * abfd,
Elf_Internal_Rela * rel, Elf_Internal_Rela * rel,
Elf_Internal_Shdr * symtab_hdr, 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_Sym * intsyms,
Elf_Internal_Rela ** lrel, Elf_Internal_Rela ** lrel,
bfd * input_bfd, bfd * input_bfd,
@ -1570,7 +1560,6 @@ rx_offset_for_reloc (bfd * abfd,
{ {
/* A local symbol. */ /* A local symbol. */
Elf_Internal_Sym *isym; Elf_Internal_Sym *isym;
Elf_External_Sym_Shndx *shndx;
asection *ssec; asection *ssec;
isym = intsyms + ELF32_R_SYM (rel->r_info); 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, ssec = bfd_section_from_elf_index (abfd,
isym->st_shndx); isym->st_shndx);
shndx = shndx_buf + (shndx_buf ? ELF32_R_SYM (rel->r_info) : 0);
/* Initial symbol value. */ /* Initial symbol value. */
symval = isym->st_value; symval = isym->st_value;
@ -1817,7 +1804,6 @@ elf32_rx_relax_section (bfd * abfd,
Elf_External_Sym_Shndx * shndx_buf = NULL; Elf_External_Sym_Shndx * shndx_buf = NULL;
bfd_vma pc; bfd_vma pc;
bfd_vma sec_start; bfd_vma sec_start;
bfd_vma sec_end;
bfd_vma symval = 0; bfd_vma symval = 0;
int pcrel = 0; int pcrel = 0;
int code = 0; int code = 0;
@ -1841,7 +1827,6 @@ elf32_rx_relax_section (bfd * abfd,
shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr; shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
sec_start = sec->output_section->vma + sec->output_offset; sec_start = sec->output_section->vma + sec->output_offset;
sec_end = sec->output_section->vma + sec->output_offset + sec->size;
/* Get the section contents. */ /* Get the section contents. */
if (elf_section_data (sec)->this_hdr.contents != NULL) if (elf_section_data (sec)->this_hdr.contents != NULL)

View File

@ -1774,9 +1774,8 @@ score_elf_got_offset_from_index (bfd *dynobj,
{ {
asection *sgot; asection *sgot;
bfd_vma gp; 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); gp = _bfd_get_gp_value (output_bfd);
return sgot->output_section->vma + sgot->output_offset + got_index - gp; 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; bfd_vma gp = MINUS_ONE;
/* The place (section offset or address) of the storage unit being relocated. */ /* The place (section offset or address) of the storage unit being relocated. */
bfd_vma rel_addr; 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 /* The offset into the global offset table at which the address of the relocation entry
symbol, adjusted by the addend, resides during execution. */ symbol, adjusted by the addend, resides during execution. */
bfd_vma g = MINUS_ONE; 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_HI16:
case R_SCORE_LO16: case R_SCORE_LO16:
case R_SCORE_GPREL32: case R_SCORE_GPREL32:
gp0 = _bfd_get_gp_value (input_bfd);
gp = _bfd_get_gp_value (output_bfd); gp = _bfd_get_gp_value (output_bfd);
break; break;
@ -2408,7 +2404,6 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
asection **local_sections) asection **local_sections)
{ {
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel; Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend; Elf_Internal_Rela *relend;
const char *name; const char *name;
@ -2439,7 +2434,6 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info; extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info;
sym_hashes = elf_sym_hashes (input_bfd);
rel = relocs; rel = relocs;
relend = relocs + input_section->reloc_count; relend = relocs + input_section->reloc_count;
for (; rel < relend; rel++) for (; rel < relend; rel++)

View File

@ -1638,9 +1638,8 @@ score_elf_got_offset_from_index (bfd *dynobj,
{ {
asection *sgot; asection *sgot;
bfd_vma gp; 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); gp = _bfd_get_gp_value (output_bfd);
return sgot->output_section->vma + sgot->output_offset + got_index - gp; 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) asection **local_sections)
{ {
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel; Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend; Elf_Internal_Rela *relend;
const char *name; const char *name;
@ -2274,7 +2272,6 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info; extsymoff = (elf_bad_symtab (input_bfd)) ? 0 : symtab_hdr->sh_info;
sym_hashes = elf_sym_hashes (input_bfd);
rel = relocs; rel = relocs;
relend = relocs + input_section->reloc_count; relend = relocs + input_section->reloc_count;
for (; rel < relend; rel++) for (; rel < relend; rel++)

View File

@ -6092,15 +6092,10 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
struct elf_sh_link_hash_table *htab; struct elf_sh_link_hash_table *htab;
const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
bfd_vma *local_got_offsets;
asection *sgot;
asection *srelgot;
asection *sreloc; asection *sreloc;
unsigned int r_type; unsigned int r_type;
int got_type, old_got_type; int got_type, old_got_type;
sgot = NULL;
srelgot = NULL;
sreloc = NULL; sreloc = NULL;
if (info->relocatable) if (info->relocatable)
@ -6115,8 +6110,6 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (htab == NULL) if (htab == NULL)
return FALSE; return FALSE;
local_got_offsets = elf_local_got_offsets (abfd);
rel_end = relocs + sec->reloc_count; rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++) for (rel = relocs; rel < rel_end; rel++)
{ {

View File

@ -1,5 +1,5 @@
/* SuperH SH64-specific support for 32-bit ELF /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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 /* This COFF-only function (only compiled with COFF support, making
ELF-only chains problematic) returns TRUE early for SH4, so let's just ELF-only chains problematic) returns TRUE early for SH4, so let's just
define it TRUE here. */ 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 GOT_BIAS (-((long)-32768))
#define INCLUDE_SHMEDIA #define INCLUDE_SHMEDIA

View File

@ -1,6 +1,6 @@
/* SPU specific support for 32-bit ELF /* 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. 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_vma addend;
bfd_reloc_status_type r; bfd_reloc_status_type r;
bfd_boolean unresolved_reloc; bfd_boolean unresolved_reloc;
bfd_boolean warned;
enum _stub_type stub_type; enum _stub_type stub_type;
r_symndx = ELF32_R_SYM (rel->r_info); r_symndx = ELF32_R_SYM (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info); r_type = ELF32_R_TYPE (rel->r_info);
howto = elf_howto_table + r_type; howto = elf_howto_table + r_type;
unresolved_reloc = FALSE; unresolved_reloc = FALSE;
warned = FALSE;
h = NULL; h = NULL;
sym = NULL; sym = NULL;
sec = NULL; sec = NULL;
@ -4890,7 +4888,6 @@ spu_elf_relocate_section (bfd *output_bfd,
input_section, input_section,
rel->r_offset, err)) rel->r_offset, err))
return FALSE; return FALSE;
warned = TRUE;
} }
sym_name = h->root.root.string; sym_name = h->root.root.string;
} }

View File

@ -1,6 +1,6 @@
/* V850-specific support for 32-bit ELF /* V850-specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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. 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) const Elf_Internal_Rela *relocs)
{ {
bfd_boolean ret = TRUE; bfd_boolean ret = TRUE;
bfd *dynobj;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes; struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel;
@ -64,7 +63,6 @@ v850_elf_check_relocs (bfd *abfd,
sec, abfd); sec, abfd);
#endif #endif
dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd); 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 *match = NULL;
hi16s_location *entry; hi16s_location *entry;
hi16s_location *previous = NULL;
hi16s_location *prev;
bfd_byte *addr; bfd_byte *addr;
/* Search the table. Record the most recent entry that matches. */ /* 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 if (entry->addend == addend
&& (match == NULL || match->counter < entry->counter)) && (match == NULL || match->counter < entry->counter))
{ {
previous = prev;
match = entry; match = entry;
} }
prev = entry;
} }
if (match == NULL) if (match == NULL)

View File

@ -494,7 +494,6 @@ elf32_vax_set_private_flags (bfd *abfd, flagword flags)
static bfd_boolean static bfd_boolean
elf32_vax_merge_private_bfd_data (bfd *ibfd, bfd *obfd) elf32_vax_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
{ {
flagword out_flags;
flagword in_flags; flagword in_flags;
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour 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; return TRUE;
in_flags = elf_elfheader (ibfd)->e_flags; in_flags = elf_elfheader (ibfd)->e_flags;
out_flags = elf_elfheader (obfd)->e_flags;
if (!elf_flags_init (obfd)) if (!elf_flags_init (obfd))
{ {
@ -1362,7 +1360,6 @@ elf_vax_relocate_section (bfd *output_bfd,
bfd *dynobj; bfd *dynobj;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes; struct elf_link_hash_entry **sym_hashes;
bfd_vma *local_got_offsets;
bfd_vma plt_index; bfd_vma plt_index;
bfd_vma got_offset; bfd_vma got_offset;
asection *sgot; asection *sgot;
@ -1375,7 +1372,6 @@ elf_vax_relocate_section (bfd *output_bfd,
dynobj = elf_hash_table (info)->dynobj; dynobj = elf_hash_table (info)->dynobj;
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd); sym_hashes = elf_sym_hashes (input_bfd);
local_got_offsets = elf_local_got_offsets (input_bfd);
sgot = NULL; sgot = NULL;
splt = NULL; splt = NULL;

View File

@ -1,5 +1,5 @@
/* Infineon XC16X-specific support for 16-bit ELF. /* 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 Contributed by KPIT Cummins Infosystems
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -358,7 +358,6 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
asection *sec; asection *sec;
struct elf_link_hash_entry *h; struct elf_link_hash_entry *h;
bfd_vma relocation; bfd_vma relocation;
bfd_reloc_status_type r;
/* This is a final link. */ /* This is a final link. */
r_symndx = ELF32_R_SYM (rel->r_info); r_symndx = ELF32_R_SYM (rel->r_info);
@ -398,11 +397,11 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
if (info->relocatable) if (info->relocatable)
continue; continue;
r = elf32_xc16x_final_link_relocate (r_type, input_bfd, output_bfd, elf32_xc16x_final_link_relocate (r_type, input_bfd, output_bfd,
input_section, input_section,
contents, rel->r_offset, contents, rel->r_offset,
relocation, rel->r_addend, relocation, rel->r_addend,
info, sec, h == NULL); info, sec, h == NULL);
} }
return TRUE; return TRUE;

View File

@ -7829,7 +7829,6 @@ xlate_offset_with_removed_text (const xlate_map_t *map,
text_action_list *action_list, text_action_list *action_list,
bfd_vma offset) bfd_vma offset)
{ {
xlate_map_entry_t tmp;
void *r; void *r;
xlate_map_entry_t *e; xlate_map_entry_t *e;
@ -7839,10 +7838,6 @@ xlate_offset_with_removed_text (const xlate_map_t *map,
if (map->entry_count == 0) if (map->entry_count == 0)
return offset; return offset;
tmp.orig_address = offset;
tmp.new_address = offset;
tmp.size = 1;
r = bsearch (&offset, map->entry, map->entry_count, r = bsearch (&offset, map->entry, map->entry_count,
sizeof (xlate_map_entry_t), &xlate_compare); sizeof (xlate_map_entry_t), &xlate_compare);
e = (xlate_map_entry_t *) r; e = (xlate_map_entry_t *) r;
@ -9660,12 +9655,10 @@ move_literal (bfd *abfd,
{ {
int r_type; int r_type;
unsigned i; unsigned i;
asection *target_sec;
reloc_bfd_fix *fix; reloc_bfd_fix *fix;
unsigned insert_at; unsigned insert_at;
r_type = ELF32_R_TYPE (r_rel->rela.r_info); 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 is the difficult case. We have to create a fix up. */
this_rela.r_offset = offset; this_rela.r_offset = offset;

View File

@ -371,8 +371,6 @@ elf64_hppa_section_from_shdr (bfd *abfd,
const char *name, const char *name,
int shindex) int shindex)
{ {
asection *newsect;
switch (hdr->sh_type) switch (hdr->sh_type)
{ {
case SHT_PARISC_EXT: 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)) if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE; return FALSE;
newsect = hdr->bfd_section;
return TRUE; return TRUE;
} }
@ -515,9 +512,6 @@ elf64_hppa_check_relocs (bfd *abfd,
const Elf_Internal_Rela *relend; const Elf_Internal_Rela *relend;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel;
asection *dlt, *plt, *stubs;
char *buf;
size_t buf_len;
unsigned int sec_symndx; unsigned int sec_symndx;
if (info->relocatable) if (info->relocatable)
@ -630,10 +624,6 @@ elf64_hppa_check_relocs (bfd *abfd,
else else
sec_symndx = 0; sec_symndx = 0;
dlt = plt = stubs = NULL;
buf = NULL;
buf_len = 0;
relend = relocs + sec->reloc_count; relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; ++rel) for (rel = relocs; rel < relend; ++rel)
{ {
@ -907,13 +897,9 @@ elf64_hppa_check_relocs (bfd *abfd,
} }
} }
if (buf)
free (buf);
return TRUE; return TRUE;
err_out: err_out:
if (buf)
free (buf);
return FALSE; return FALSE;
} }
@ -1979,7 +1965,7 @@ elf64_hppa_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym) Elf_Internal_Sym *sym)
{ {
struct elf64_hppa_link_hash_entry *hh = hppa_elf_hash_entry (eh); 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; struct elf64_hppa_link_hash_table *hppa_info;
hppa_info = hppa_link_hash_table (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; stub = hppa_info->stub_sec;
splt = hppa_info->plt_sec; splt = hppa_info->plt_sec;
sdlt = hppa_info->dlt_sec;
sopd = hppa_info->opd_sec; sopd = hppa_info->opd_sec;
spltrel = hppa_info->plt_rel_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 /* Incredible. It is actually necessary to NOT use the symbol's real
value when building the dynamic symbol table for a shared library. 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; asection *sym_sec;
bfd_vma relocation; bfd_vma relocation;
bfd_reloc_status_type r; bfd_reloc_status_type r;
bfd_boolean warned_undef;
r_type = ELF_R_TYPE (rel->r_info); r_type = ELF_R_TYPE (rel->r_info);
if (r_type < 0 || r_type >= (int) R_PARISC_UNIMPLEMENTED) if (r_type < 0 || r_type >= (int) R_PARISC_UNIMPLEMENTED)
@ -3887,7 +3870,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
eh = NULL; eh = NULL;
sym = NULL; sym = NULL;
sym_sec = NULL; sym_sec = NULL;
warned_undef = FALSE;
if (r_symndx < symtab_hdr->sh_info) if (r_symndx < symtab_hdr->sh_info)
{ {
/* This is a local symbol, hh defaults to NULL. */ /* This is a local symbol, hh defaults to NULL. */
@ -3898,7 +3880,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
else else
{ {
/* This is not a local symbol. */ /* This is not a local symbol. */
bfd_boolean unresolved_reloc;
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd); struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
/* It seems this can happen with erroneous or unsupported /* 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->root.type == bfd_link_hash_warning)
eh = (struct elf_link_hash_entry *) eh->root.u.i.link; eh = (struct elf_link_hash_entry *) eh->root.u.i.link;
warned_undef = FALSE;
unresolved_reloc = FALSE;
relocation = 0; relocation = 0;
if (eh->root.type == bfd_link_hash_defined if (eh->root.type == bfd_link_hash_defined
|| eh->root.type == bfd_link_hash_defweak) || eh->root.type == bfd_link_hash_defweak)
{ {
sym_sec = eh->root.u.def.section; sym_sec = eh->root.u.def.section;
if (sym_sec == NULL if (sym_sec != NULL
|| sym_sec->output_section == 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
relocation = (eh->root.u.def.value relocation = (eh->root.u.def.value
+ sym_sec->output_section->vma + sym_sec->output_section->vma
+ sym_sec->output_offset); + sym_sec->output_offset);
@ -3950,7 +3923,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
input_section, input_section,
rel->r_offset, err)) rel->r_offset, err))
return FALSE; return FALSE;
warned_undef = TRUE;
} }
if (!info->relocatable if (!info->relocatable
@ -3967,7 +3939,6 @@ elf64_hppa_relocate_section (bfd *output_bfd,
(info, eh_name (eh), input_bfd, (info, eh_name (eh), input_bfd,
input_section, rel->r_offset, FALSE)) input_section, rel->r_offset, FALSE))
return FALSE; return FALSE;
warned_undef = TRUE;
} }
} }
} }

View File

@ -1,5 +1,5 @@
/* MMIX-specific support for 64-bit ELF. /* 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. Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com> 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; asection *reloc_target_output_section;
bfd_reloc_status_type flag = bfd_reloc_ok; bfd_reloc_status_type flag = bfd_reloc_ok;
bfd_vma output_base = 0; bfd_vma output_base = 0;
bfd_vma addr;
r = bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data, r = bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
input_section, output_bfd, error_message); 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; 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) if (output_bfd != (bfd *) NULL)
{ {
/* Add in supplied addend. */ /* Add in supplied addend. */
@ -2581,7 +2577,6 @@ mmix_elf_relax_section (abfd, sec, link_info, again)
spot a missing actual initialization. */ spot a missing actual initialization. */
size_t bpono = (size_t) -1; size_t bpono = (size_t) -1;
size_t pjsno = 0; size_t pjsno = 0;
bfd *bpo_greg_owner;
Elf_Internal_Sym *isymbuf = NULL; Elf_Internal_Sym *isymbuf = NULL;
bfd_size_type size = sec->rawsize ? sec->rawsize : sec->size; 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; symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
bpo_greg_owner = (bfd *) link_info->base_file;
if (bpodata != NULL) if (bpodata != NULL)
{ {
bpo_gregs_section = bpodata->bpo_greg_section; bpo_gregs_section = bpodata->bpo_greg_section;

View File

@ -4844,7 +4844,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
{ {
struct ppc_link_hash_table *htab; struct ppc_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr; 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;
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
asection *sreloc; 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", dottga = elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
FALSE, FALSE, TRUE); FALSE, FALSE, TRUE);
symtab_hdr = &elf_symtab_hdr (abfd); symtab_hdr = &elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (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; sreloc = NULL;
opd_sym_map = NULL; opd_sym_map = NULL;
if (strcmp (sec->name, ".opd") == 0) 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_Rela *relstart, *rel, *relend;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Sym *local_syms; Elf_Internal_Sym *local_syms;
struct elf_link_hash_entry **sym_hashes;
bfd_vma offset; bfd_vma offset;
struct _opd_sec_data *opd; struct _opd_sec_data *opd;
bfd_boolean need_edit, add_aux_fields; 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; local_syms = NULL;
symtab_hdr = &elf_symtab_hdr (ibfd); symtab_hdr = &elf_symtab_hdr (ibfd);
sym_hashes = elf_sym_hashes (ibfd);
/* Read the relocations. */ /* Read the relocations. */
relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL, 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; asection *toc, *sec;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Sym *local_syms; Elf_Internal_Sym *local_syms;
struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *relstart, *rel; Elf_Internal_Rela *relstart, *rel;
unsigned long *skip, *drop; unsigned long *skip, *drop;
unsigned char *used; unsigned char *used;
@ -7930,7 +7922,6 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
local_syms = NULL; local_syms = NULL;
symtab_hdr = &elf_symtab_hdr (ibfd); symtab_hdr = &elf_symtab_hdr (ibfd);
sym_hashes = elf_sym_hashes (ibfd);
/* Look at sections dropped from the final link. */ /* Look at sections dropped from the final link. */
skip = NULL; skip = NULL;

View File

@ -1409,8 +1409,6 @@ elfNN_ia64_section_from_shdr (bfd *abfd,
const char *name, const char *name,
int shindex) int shindex)
{ {
asection *newsect;
/* There ought to be a place to keep ELF backend specific flags, but /* 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 at the moment there isn't one. We just keep track of the
sections by their name, instead. Fortunately, the ABI gives 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)) if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE; return FALSE;
newsect = hdr->bfd_section;
return TRUE; return TRUE;
} }
@ -5740,8 +5737,6 @@ elfNN_vms_section_from_shdr (bfd *abfd,
const char *name, const char *name,
int shindex) int shindex)
{ {
asection *newsect;
switch (hdr->sh_type) switch (hdr->sh_type)
{ {
case SHT_IA_64_VMS_TRACE: 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)) if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
return FALSE; return FALSE;
newsect = hdr->bfd_section;
return TRUE; return TRUE;
} }

View File

@ -1326,7 +1326,6 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
struct _bfd_sparc_elf_link_hash_table *htab; struct _bfd_sparc_elf_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes; struct elf_link_hash_entry **sym_hashes;
bfd_vma *local_got_offsets;
const Elf_Internal_Rela *rel; const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end; const Elf_Internal_Rela *rel_end;
asection *sreloc; asection *sreloc;
@ -1340,7 +1339,6 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
BFD_ASSERT (htab != NULL); BFD_ASSERT (htab != NULL);
symtab_hdr = &elf_symtab_hdr (abfd); symtab_hdr = &elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd); sym_hashes = elf_sym_hashes (abfd);
local_got_offsets = elf_local_got_offsets (abfd);
sreloc = NULL; sreloc = NULL;
@ -3642,7 +3640,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
if (info->shared) if (info->shared)
{ {
Elf_Internal_Rela outrel; Elf_Internal_Rela outrel;
bfd_boolean skip, relocate = FALSE; bfd_boolean skip;
BFD_ASSERT (sreloc != NULL); BFD_ASSERT (sreloc != NULL);
skip = FALSE; skip = FALSE;
@ -3652,7 +3650,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
if (outrel.r_offset == (bfd_vma) -1) if (outrel.r_offset == (bfd_vma) -1)
skip = TRUE; skip = TRUE;
else if (outrel.r_offset == (bfd_vma) -2) else if (outrel.r_offset == (bfd_vma) -2)
skip = TRUE, relocate = TRUE; skip = TRUE;
outrel.r_offset += (input_section->output_section->vma outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset); + input_section->output_offset);
if (skip) if (skip)

View File

@ -1,6 +1,6 @@
/* BFD backend for hp-ux 9000/300 /* BFD backend for hp-ux 9000/300
Copyright 1990, 1991, 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 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. Written by Glenn Engel.
This file is part of BFD, the Binary File Descriptor library. 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 */ /* OK, now walk the new symtable, caching symbol properties */
{ {
aout_symbol_type *cache_ptr = cached; aout_symbol_type *cache_ptr = cached;
aout_symbol_type cache_save;
/* Run through table and copy values */ /* Run through table and copy values */
for (sym_pointer = syms, cache_ptr = cached; for (sym_pointer = syms, cache_ptr = cached;
sym_pointer < sym_end; sym_pointer++, cache_ptr++) 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); length = bfd_get_8 (abfd, sym_pointer->e_length);
cache_ptr->other = length; /* other not used, save length here */ cache_ptr->other = length; /* other not used, save length here */
cache_save = *cache_ptr;
convert_sym_type (sym_pointer, cache_ptr, abfd); convert_sym_type (sym_pointer, cache_ptr, abfd);
if (!translate_from_native_sym_flags (abfd, cache_ptr)) if (!translate_from_native_sym_flags (abfd, cache_ptr))
return FALSE; return FALSE;

View File

@ -1,6 +1,6 @@
/* BFD back-end for i386 a.out binaries under LynxOS. /* BFD back-end for i386 a.out binaries under LynxOS.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2001, 2002, 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. 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; unsigned int r_length;
int r_pcrel; int r_pcrel;
int r_baserel, r_jmptable, r_relative; int r_baserel, r_jmptable, r_relative;
unsigned int r_addend;
asection *output_section = sym->section->output_section; asection *output_section = sym->section->output_section;
PUT_WORD (abfd, g->address, natptr->r_address); 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_jmptable = 0;
r_relative = 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 */ /* name was clobbered by aout_write_syms to be symbol index */
/* If this relocation is relative to a symbol then set the /* 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; int r_extern;
unsigned int r_length; unsigned int r_length;
int r_pcrel; int r_pcrel;
int r_baserel, r_jmptable, r_relative;
struct aoutdata *su = &(abfd->tdata.aout_data->a); struct aoutdata *su = &(abfd->tdata.aout_data->a);
cache_ptr->address = H_GET_32 (abfd, bytes->r_address); 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_index = bytes->r_index[1];
r_extern = (0 != (bytes->r_index[0] & RELOC_STD_BITS_EXTERN_BIG)); 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_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) r_length = (bytes->r_index[0] & RELOC_STD_BITS_LENGTH_BIG)
>> RELOC_STD_BITS_LENGTH_SH_BIG; >> RELOC_STD_BITS_LENGTH_SH_BIG;

View File

@ -533,6 +533,7 @@ parse_expression (ieee_data_type *ieee,
next_byte (&(ieee->h)); next_byte (&(ieee->h));
*pcrel = TRUE; *pcrel = TRUE;
section_n = must_parse_int (&(ieee->h)); section_n = must_parse_int (&(ieee->h));
(void) section_n;
PUSH (NOSYMBOL, bfd_abs_section_ptr, 0); PUSH (NOSYMBOL, bfd_abs_section_ptr, 0);
break; break;
} }
@ -637,6 +638,8 @@ parse_expression (ieee_data_type *ieee,
ieee_symbol_index_type sy1; ieee_symbol_index_type sy1;
POP (sy1, section1, *extra); POP (sy1, section1, *extra);
(void) section1;
(void) sy1;
} }
POP (*symbol, dummy, *value); POP (*symbol, dummy, *value);
@ -776,6 +779,7 @@ ieee_slurp_external_symbols (bfd *abfd)
case ieee_attribute_record_enum: case ieee_attribute_record_enum:
symbol_name_index = must_parse_int (&(ieee->h)); symbol_name_index = must_parse_int (&(ieee->h));
symbol_type_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)); symbol_attribute_def = must_parse_int (&(ieee->h));
switch (symbol_attribute_def) switch (symbol_attribute_def)
{ {
@ -850,6 +854,7 @@ ieee_slurp_external_symbols (bfd *abfd)
next_byte (&(ieee->h)); next_byte (&(ieee->h));
symbol_name_index = must_parse_int (&(ieee->h)); symbol_name_index = must_parse_int (&(ieee->h));
(void) symbol_name_index;
parse_expression (ieee, parse_expression (ieee,
&symbol->symbol.value, &symbol->symbol.value,
&symbol_ignore, &symbol_ignore,
@ -2669,6 +2674,7 @@ drop_int (struct output_buffer_struct *buf)
break; break;
} }
} }
(void) ch;
OUT (0x84); OUT (0x84);
buf->ptrp = output_ptr; buf->ptrp = output_ptr;
buf->buffer = output_buffer; buf->buffer = output_buffer;

View File

@ -630,13 +630,11 @@ bfd_mach_o_write_thread (bfd *abfd, bfd_mach_o_load_command *command)
unsigned int i; unsigned int i;
unsigned char buf[8]; unsigned char buf[8];
unsigned int offset; unsigned int offset;
unsigned int nflavours;
BFD_ASSERT ((command->type == BFD_MACH_O_LC_THREAD) BFD_ASSERT ((command->type == BFD_MACH_O_LC_THREAD)
|| (command->type == BFD_MACH_O_LC_UNIXTHREAD)); || (command->type == BFD_MACH_O_LC_UNIXTHREAD));
offset = 8; offset = 8;
nflavours = 0;
for (i = 0; i < cmd->nflavours; i++) for (i = 0; i < cmd->nflavours; i++)
{ {
BFD_ASSERT ((cmd->flavours[i].size % 4) == 0); BFD_ASSERT ((cmd->flavours[i].size % 4) == 0);

View File

@ -1,5 +1,5 @@
/* BFD back-end for mmo objects (MMIX-specific object-format). /* 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. Free Software Foundation, Inc.
Written by Hans-Peter Nilsson (hp@bitrange.com). Written by Hans-Peter Nilsson (hp@bitrange.com).
Infrastructure and other bits originally copied from srec.c and 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 *sec = bfd_make_section_old_way (abfd, MMO_TEXT_SECTION_NAME);
asection *non_spec_sec = NULL; asection *non_spec_sec = NULL;
bfd_vma non_spec_vma = 0; bfd_vma non_spec_vma = 0;
char *current_filename = NULL;
bfd_size_type nbytes_read = 0; bfd_size_type nbytes_read = 0;
/* Buffer with room to read a 64-bit value. */ /* Buffer with room to read a 64-bit value. */
bfd_byte buf[8]; bfd_byte buf[8];
@ -1789,7 +1788,6 @@ mmo_scan (bfd *abfd)
goto error_return; goto error_return;
} }
current_filename = file_names[y];
lineno = 0; lineno = 0;
break; break;
@ -2827,7 +2825,6 @@ static bfd_boolean
mmo_write_symbols_and_terminator (bfd *abfd) mmo_write_symbols_and_terminator (bfd *abfd)
{ {
int count = bfd_get_symcount (abfd); int count = bfd_get_symcount (abfd);
asymbol *maintable[2];
asymbol **table; asymbol **table;
asymbol **orig_table = bfd_get_outsymbols (abfd); asymbol **orig_table = bfd_get_outsymbols (abfd);
int serno; int serno;
@ -2843,8 +2840,6 @@ mmo_write_symbols_and_terminator (bfd *abfd)
fakemain->value = bfd_get_start_address (abfd); fakemain->value = bfd_get_start_address (abfd);
fakemain->name = MMIX_START_SYMBOL_NAME; fakemain->name = MMIX_START_SYMBOL_NAME;
fakemain->section = bfd_abs_section_ptr; fakemain->section = bfd_abs_section_ptr;
maintable[0] = fakemain;
maintable[1] = NULL;
memset (&root, 0, sizeof (root)); memset (&root, 0, sizeof (root));

View File

@ -1,6 +1,6 @@
/* Support for 32-bit SPARC NLM (NetWare Loadable Module) /* Support for 32-bit SPARC NLM (NetWare Loadable Module)
Copyright 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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. 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 howto_index;
unsigned int type; unsigned int type;
struct nlm32_sparc_reloc_ext tmp_reloc; 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) if (bfd_bread (&tmp_reloc, (bfd_size_type) 12, abfd) != 12)
return FALSE; return FALSE;
code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME); 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; *secp = code_sec;
val = bfd_get_32 (abfd, tmp_reloc.offset); val = bfd_get_32 (abfd, tmp_reloc.offset);

View File

@ -1,5 +1,5 @@
/* BFD back-end for PDP-11 a.out binaries. /* 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. Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. 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; char *strings;
struct aout_link_hash_entry **sym_hashes; struct aout_link_hash_entry **sym_hashes;
int *symbol_map; int *symbol_map;
bfd_size_type reloc_count;
bfd_byte *rel; bfd_byte *rel;
bfd_byte *rel_end; 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); sym_hashes = obj_aout_sym_hashes (input_bfd);
symbol_map = finfo->symbol_map; symbol_map = finfo->symbol_map;
reloc_count = rel_size / RELOC_SIZE;
rel = relocs; rel = relocs;
rel_end = rel + rel_size; rel_end = rel + rel_size;
for (; rel < rel_end; rel += RELOC_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 static bfd_boolean
aout_link_input_bfd (struct aout_final_link_info *finfo, bfd *input_bfd) 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); BFD_ASSERT (bfd_get_format (input_bfd) == bfd_object);
/* If this is a dynamic object, it may need special handling. */ /* 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)) if (! aout_get_external_symbols (input_bfd))
return FALSE; 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 /* Write out the symbols and get a map of the new indices. The map
is placed into finfo->symbol_map. */ is placed into finfo->symbol_map. */
if (! aout_link_write_symbols (finfo, input_bfd)) if (! aout_link_write_symbols (finfo, input_bfd))

View File

@ -1,6 +1,6 @@
/* BFD back-end for MIPS PE COFF files. /* BFD back-end for MIPS PE COFF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Modified from coff-i386.c by DJ Delorie, dj@cygnus.com 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 static unsigned int
mips_swap_reloc_out (bfd * abfd, void * src, void * dst) mips_swap_reloc_out (bfd * abfd, void * src, void * dst)
{ {
static int prev_offset = 1;
static bfd_vma prev_addr = 0; static bfd_vma prev_addr = 0;
struct internal_reloc *reloc_src = (struct internal_reloc *)src; struct internal_reloc *reloc_src = (struct internal_reloc *)src;
struct external_reloc *reloc_dst = (struct external_reloc *)dst; 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: case MIPS_R_REFHI:
prev_addr = reloc_src->r_vaddr; prev_addr = reloc_src->r_vaddr;
prev_offset = reloc_src->r_offset;
break; break;
case MIPS_R_REFLO: case MIPS_R_REFLO:
if (reloc_src->r_vaddr == prev_addr) if (reloc_src->r_vaddr == prev_addr)
@ -599,13 +597,9 @@ coff_pe_mips_relocate_section (bfd *output_bfd,
struct internal_syment *syms, struct internal_syment *syms,
asection **sections) asection **sections)
{ {
bfd_vma gp;
bfd_boolean gp_undefined;
size_t adjust;
struct internal_reloc *rel; struct internal_reloc *rel;
struct internal_reloc *rel_end; struct internal_reloc *rel_end;
unsigned int i; unsigned int i;
bfd_boolean got_lo;
if (info->relocatable) if (info->relocatable)
{ {
@ -618,10 +612,6 @@ coff_pe_mips_relocate_section (bfd *output_bfd,
BFD_ASSERT (input_bfd->xvec->byteorder BFD_ASSERT (input_bfd->xvec->byteorder
== output_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 = relocs;
rel_end = rel + input_section->reloc_count; rel_end = rel + input_section->reloc_count;

View File

@ -1650,7 +1650,9 @@ pe_print_pdata (bfd * abfd, void * vfile)
bfd_vma eh_handler; bfd_vma eh_handler;
bfd_vma eh_data; bfd_vma eh_data;
bfd_vma prolog_end_addr; bfd_vma prolog_end_addr;
#if !defined(COFF_WITH_pep) || defined(COFF_WITH_pex64)
int em_data; int em_data;
#endif
if (i + PDATA_ROW_SIZE > stop) if (i + PDATA_ROW_SIZE > stop)
break; break;
@ -1666,7 +1668,9 @@ pe_print_pdata (bfd * abfd, void * vfile)
/* We are probably into the padding of the section now. */ /* We are probably into the padding of the section now. */
break; break;
#if !defined(COFF_WITH_pep) || defined(COFF_WITH_pex64)
em_data = ((eh_handler & 0x1) << 2) | (prolog_end_addr & 0x3); em_data = ((eh_handler & 0x1) << 2) | (prolog_end_addr & 0x3);
#endif
eh_handler &= ~(bfd_vma) 0x3; eh_handler &= ~(bfd_vma) 0x3;
prolog_end_addr &= ~(bfd_vma) 0x3; prolog_end_addr &= ~(bfd_vma) 0x3;

View File

@ -1,6 +1,6 @@
/* bfd back-end for HP PA-RISC SOM objects. /* bfd back-end for HP PA-RISC SOM objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 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. Free Software Foundation, Inc.
Contributed by the Center for Software Science at the 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, struct som_external_lst_header lst,
unsigned elength) unsigned elength)
{ {
file_ptr lst_filepos;
char *strings = NULL, *p; char *strings = NULL, *p;
struct som_external_lst_symbol_record *lst_syms = NULL, *curr_lst_sym; struct som_external_lst_symbol_record *lst_syms = NULL, *curr_lst_sym;
bfd *curr_bfd; bfd *curr_bfd;
@ -6323,10 +6322,6 @@ som_bfd_ar_write_symbol_stuff (bfd *abfd,
if (last_hash_entry == NULL && hash_size != 0) if (last_hash_entry == NULL && hash_size != 0)
goto error_return; 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 /* Symbols have som_index fields, so we have to keep track of the
index of each SOM in the archive. index of each SOM in the archive.

View File

@ -1,6 +1,6 @@
/* BFD back-end for VERSAdos-E objects. /* BFD back-end for VERSAdos-E objects.
Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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>. Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
Versados is a Motorola trademark. Versados is a Motorola trademark.
@ -277,7 +277,9 @@ process_esd (bfd *abfd, struct ext_esd *esd, int pass)
case ESD_ABS: case ESD_ABS:
size = get_4 (&ptr); size = get_4 (&ptr);
(void) size;
start = get_4 (&ptr); start = get_4 (&ptr);
(void) start;
break; break;
case ESD_STD_REL_SEC: case ESD_STD_REL_SEC:
case ESD_SHRT_REL_SEC: case ESD_SHRT_REL_SEC:

View File

@ -1241,15 +1241,10 @@ _bfd_vms_slurp_egsd (bfd *abfd)
case EGSD__C_SYMG: case EGSD__C_SYMG:
{ {
int nameoff;
struct vms_symbol_entry *entry; struct vms_symbol_entry *entry;
struct vms_egst *egst = (struct vms_egst *)vms_rec; struct vms_egst *egst = (struct vms_egst *)vms_rec;
old_flags = bfd_getl16 (egst->header.flags); 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); entry = add_symbol (abfd, &egst->namlng);

View File

@ -1,6 +1,6 @@
/* xSYM symbol-file support for BFD. /* xSYM symbol-file support for BFD.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 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. 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 long offset)
{ {
unsigned char buf[4]; unsigned char buf[4];
bfd_sym_data_struct *sdata = NULL;
BFD_ASSERT (bfd_sym_valid (abfd)); BFD_ASSERT (bfd_sym_valid (abfd));
sdata = abfd->tdata.sym_data;
if (offset == 0) if (offset == 0)
return -1; return -1;

View File

@ -1,3 +1,7 @@
2010-06-27 Alan Modra <amodra@gmail.com>
* resbin.c (res_to_bin_accelerator): Delete set but unused variables.
2010-06-17 Nick Clifton <nickc@redhat.com> 2010-06-17 Nick Clifton <nickc@redhat.com>
PR binutils/11711 PR binutils/11711

View File

@ -1,5 +1,5 @@
/* resbin.c -- manipulate the Windows binary resource format. /* resbin.c -- manipulate the Windows binary resource format.
Copyright 1997, 1998, 1999, 2002, 2003, 2005, 2006, 2007, 2009 Copyright 1997, 1998, 1999, 2002, 2003, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support. Written by Ian Lance Taylor, Cygnus Support.
Rewritten by Kai Tietz, Onevision. Rewritten by Kai Tietz, Onevision.
@ -1357,12 +1357,8 @@ static rc_uint_type
res_to_bin_accelerator (windres_bfd *wrbfd, rc_uint_type off, res_to_bin_accelerator (windres_bfd *wrbfd, rc_uint_type off,
const rc_accelerator *accelerators) const rc_accelerator *accelerators)
{ {
bindata *first, **pp;
const rc_accelerator *a; const rc_accelerator *a;
first = NULL;
pp = &first;
for (a = accelerators; a != NULL; a = a->next) for (a = accelerators; a != NULL; a = a->next)
{ {
if (wrbfd) if (wrbfd)

View File

@ -1,3 +1,13 @@
2010-06-27 Alan Modra <amodra@gmail.com>
* pe-dll.c (fill_edata): Avoid set but unused warning.
(pe_walk_relocs_of_symbol): Delete set but unused variables.
(generate_reloc, pe_implied_import_dll): Likewise.
* emultempl/aix.em (open_dynamic_archive): Likewise.
* emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise.
(xtensa_layout_wild): Likewise.
(xtensa_colocate_output_literals_callback): Likewise.
2010-06-25 Alan Modra <amodra@gmail.com> 2010-06-25 Alan Modra <amodra@gmail.com>
* emultempl/ppc64elf.em (prelim_size_sections): New function. * emultempl/ppc64elf.em (prelim_size_sections): New function.

View File

@ -10,7 +10,7 @@ fragment <<EOF
/* AIX emulation code for ${EMULATION_NAME} /* AIX emulation code for ${EMULATION_NAME}
Copyright 1991, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, Copyright 1991, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008, 2009 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com> Written by Steve Chamberlain <sac@cygnus.com>
AIX support by Ian Lance Taylor <ian@cygnus.com> AIX support by Ian Lance Taylor <ian@cygnus.com>
@ -1424,13 +1424,11 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch,
search_dirs_type *search, search_dirs_type *search,
lang_input_statement_type *entry) lang_input_statement_type *entry)
{ {
const char *filename;
char *path; char *path;
if (!entry->is_archive) if (!entry->is_archive)
return FALSE; return FALSE;
filename = entry->filename;
path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL); path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL);
if (!ldfile_try_open_bfd (path, entry)) if (!ldfile_try_open_bfd (path, entry))
{ {

View File

@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*- # This shell script emits a C file. -*- C -*-
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is part of the GNU Binutils. # This file is part of the GNU Binutils.
@ -98,7 +98,6 @@ replace_insn_sec_with_prop_sec (bfd *abfd,
bfd_byte *insn_contents = NULL; bfd_byte *insn_contents = NULL;
unsigned entry_count; unsigned entry_count;
unsigned entry; unsigned entry;
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Rela *internal_relocs = NULL; Elf_Internal_Rela *internal_relocs = NULL;
unsigned reloc_count; unsigned reloc_count;
@ -206,7 +205,6 @@ replace_insn_sec_with_prop_sec (bfd *abfd,
if (internal_relocs) if (internal_relocs)
{ {
unsigned i; unsigned i;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
for (i = 0; i < reloc_count; i++) for (i = 0; i < reloc_count; i++)
{ {
@ -1669,7 +1667,6 @@ xtensa_layout_wild (const reloc_deps_graph *deps, lang_wild_statement_type *w)
static void static void
xtensa_colocate_output_literals_callback (lang_statement_union_type *statement) xtensa_colocate_output_literals_callback (lang_statement_union_type *statement)
{ {
lang_output_section_statement_type *os;
reloc_deps_graph *deps; reloc_deps_graph *deps;
if (statement->header.type == lang_output_section_statement_enum) if (statement->header.type == lang_output_section_statement_enum)
{ {
@ -1691,8 +1688,6 @@ xtensa_colocate_output_literals_callback (lang_statement_union_type *statement)
#endif #endif
bfd_boolean no_reorder = FALSE; bfd_boolean no_reorder = FALSE;
os = &statement->output_section_statement;
#if EXTRA_VALIDATION #if EXTRA_VALIDATION
old_child_count = ld_count_children (statement); old_child_count = ld_count_children (statement);
#endif #endif

View File

@ -1154,7 +1154,7 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
/* Note use of array pointer math here. */ /* Note use of array pointer math here. */
edirectory = edata_d; edirectory = edata_d;
eaddresses = edata_d + 40; eaddresses = edirectory + 40;
enameptrs = eaddresses + 4 * export_table_size; enameptrs = eaddresses + 4 * export_table_size;
eordinals = enameptrs + 4 * count_exported_byname; eordinals = enameptrs + 4 * count_exported_byname;
enamestr = (char *) eordinals + 2 * count_exported_byname; enamestr = (char *) eordinals + 2 * count_exported_byname;
@ -1247,7 +1247,6 @@ pe_walk_relocs_of_symbol (struct bfd_link_info *info,
for (b = info->input_bfds; b; b = b->link_next) for (b = info->input_bfds; b; b = b->link_next)
{ {
asymbol **symbols; asymbol **symbols;
int nsyms;
if (!bfd_generic_link_read_symbols (b)) if (!bfd_generic_link_read_symbols (b))
{ {
@ -1256,7 +1255,6 @@ pe_walk_relocs_of_symbol (struct bfd_link_info *info,
} }
symbols = bfd_get_outsymbols (b); symbols = bfd_get_outsymbols (b);
nsyms = bfd_get_symcount (b);
for (s = b->sections; s; s = s->next) for (s = b->sections; s; s = s->next)
{ {
@ -1326,7 +1324,6 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
{ {
bfd_vma sec_vma = s->output_section->vma + s->output_offset; bfd_vma sec_vma = s->output_section->vma + s->output_offset;
asymbol **symbols; asymbol **symbols;
int nsyms;
/* If it's not loaded, we don't need to relocate it this way. */ /* If it's not loaded, we don't need to relocate it this way. */
if (!(s->output_section->flags & SEC_LOAD)) if (!(s->output_section->flags & SEC_LOAD))
@ -1353,7 +1350,6 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
} }
symbols = bfd_get_outsymbols (b); symbols = bfd_get_outsymbols (b);
nsyms = bfd_get_symcount (b);
relsize = bfd_get_reloc_upper_bound (b, s); relsize = bfd_get_reloc_upper_bound (b, s);
relocs = xmalloc (relsize); relocs = xmalloc (relsize);
nrelocs = bfd_canonicalize_reloc (b, s, relocs, symbols); nrelocs = bfd_canonicalize_reloc (b, s, relocs, symbols);
@ -1368,7 +1364,6 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
if (!relocs[i]->howto->pc_relative if (!relocs[i]->howto->pc_relative
&& relocs[i]->howto->type != pe_details->imagebase_reloc) && relocs[i]->howto->type != pe_details->imagebase_reloc)
{ {
bfd_vma sym_vma;
struct bfd_symbol *sym = *relocs[i]->sym_ptr_ptr; struct bfd_symbol *sym = *relocs[i]->sym_ptr_ptr;
/* Don't create relocs for undefined weak symbols. */ /* Don't create relocs for undefined weak symbols. */
@ -1400,11 +1395,6 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
continue; continue;
} }
sym_vma = (relocs[i]->addend
+ sym->value
+ sym->section->vma
+ sym->section->output_offset
+ sym->section->output_section->vma);
reloc_data[total_relocs].vma = sec_vma + relocs[i]->address; reloc_data[total_relocs].vma = sec_vma + relocs[i]->address;
#define BITS_AND_SHIFT(bits, shift) (bits * 1000 | shift) #define BITS_AND_SHIFT(bits, shift) (bits * 1000 | shift)
@ -2992,7 +2982,7 @@ pe_implied_import_dll (const char *filename)
bfd_vma exp_funcbase; bfd_vma exp_funcbase;
unsigned char *expdata; unsigned char *expdata;
char *erva; char *erva;
bfd_vma name_rvas, ordinals, nexp, ordbase; bfd_vma name_rvas, nexp;
const char *dllname; const char *dllname;
/* Initialization with start > end guarantees that is_data /* Initialization with start > end guarantees that is_data
will not be set by mistake, and avoids compiler warning. */ will not be set by mistake, and avoids compiler warning. */
@ -3126,8 +3116,6 @@ pe_implied_import_dll (const char *filename)
nexp = pe_as32 (expdata + 24); nexp = pe_as32 (expdata + 24);
name_rvas = pe_as32 (expdata + 32); name_rvas = pe_as32 (expdata + 32);
ordinals = pe_as32 (expdata + 36);
ordbase = pe_as32 (expdata + 16);
exp_funcbase = pe_as32 (expdata + 28); exp_funcbase = pe_as32 (expdata + 28);
/* Use internal dll name instead of filename /* Use internal dll name instead of filename

View File

@ -1,3 +1,28 @@
2010-06-27 Alan Modra <amodra@gmail.com>
* arc-dis.c (arc_sprintf): Delete set but unused variables.
(decodeInstr): Likewise.
* dlx-dis.c (print_insn_dlx): Likewise.
* h8300-dis.c (bfd_h8_disassemble_init): Likewise.
* maxq-dis.c (check_move, print_insn): Likewise.
* mep-dis.c (mep_examine_ivc2_insns): Likewise.
* msp430-dis.c (msp430_branchinstr): Likewise.
* bfin-dis.c (_print_insn_bfin): Avoid set but unused warning.
* cgen-asm.in (parse_insn_normal, _cgen_assemble_insn): Likewise.
* sparc-dis.c (print_insn_sparc): Likewise.
* fr30-asm.c: Regenerate.
* frv-asm.c: Regenerate.
* ip2k-asm.c: Regenerate.
* iq2000-asm.c: Regenerate.
* lm32-asm.c: Regenerate.
* m32c-asm.c: Regenerate.
* m32r-asm.c: Regenerate.
* mep-asm.c: Regenerate.
* mt-asm.c: Regenerate.
* openrisc-asm.c: Regenerate.
* xc16x-asm.c: Regenerate.
* xstormy16-asm.c: Regenerate.
2010-06-16 Vincent Rivière <vincent.riviere@freesbee.fr> 2010-06-16 Vincent Rivière <vincent.riviere@freesbee.fr>
PR gas/11673 PR gas/11673

View File

@ -1,5 +1,5 @@
/* Instruction printing code for the ARC. /* Instruction printing code for the ARC.
Copyright 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009 Copyright 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Doug Evans (dje@cygnus.com). Contributed by Doug Evans (dje@cygnus.com).
@ -238,7 +238,6 @@ arc_sprintf (struct arcDisState *state, char *buf, const char *format, ...)
char *bp; char *bp;
const char *p; const char *p;
int size, leading_zero, regMap[2]; int size, leading_zero, regMap[2];
long auxNum;
va_list ap; va_list ap;
va_start (ap, format); va_start (ap, format);
@ -246,7 +245,6 @@ arc_sprintf (struct arcDisState *state, char *buf, const char *format, ...)
bp = buf; bp = buf;
*bp = 0; *bp = 0;
p = format; p = format;
auxNum = -1;
regMap[0] = 0; regMap[0] = 0;
regMap[1] = 0; regMap[1] = 0;
@ -1170,7 +1168,6 @@ decodeInstr (bfd_vma address, /* Address of this instruction. */
struct arcDisState s; /* ARC Disassembler state. */ struct arcDisState s; /* ARC Disassembler state. */
void *stream = info->stream; /* Output stream. */ void *stream = info->stream; /* Output stream. */
fprintf_ftype func = info->fprintf_func; fprintf_ftype func = info->fprintf_func;
int bytes;
memset (&s, 0, sizeof(struct arcDisState)); memset (&s, 0, sizeof(struct arcDisState));
@ -1201,7 +1198,7 @@ decodeInstr (bfd_vma address, /* Address of this instruction. */
s.instName = _instName; s.instName = _instName;
/* Disassemble. */ /* Disassemble. */
bytes = dsmOneArcInst (address, & s); dsmOneArcInst (address, & s);
/* Display the disassembly instruction. */ /* Display the disassembly instruction. */
(*func) (stream, "%08lx ", s.words[0]); (*func) (stream, "%08lx ", s.words[0]);

View File

@ -1,5 +1,5 @@
/* Disassemble ADI Blackfin Instructions. /* Disassemble ADI Blackfin Instructions.
Copyright 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copyright 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of libopcodes. This file is part of libopcodes.
@ -4629,7 +4629,11 @@ _print_insn_bfin (bfd_vma pc, disassemble_info *outf)
int rv = 0; int rv = 0;
status = (*outf->read_memory_func) (pc & ~0x1, buf, 2, outf); status = (*outf->read_memory_func) (pc & ~0x1, buf, 2, outf);
/* FIXME */
(void) status;
status = (*outf->read_memory_func) ((pc + 2) & ~0x1, buf + 2, 2, outf); status = (*outf->read_memory_func) ((pc + 2) & ~0x1, buf + 2, 2, outf);
/* FIXME */
(void) status;
iw0 = bfd_getl16 (buf); iw0 = bfd_getl16 (buf);
iw1 = bfd_getl16 (buf + 2); iw1 = bfd_getl16 (buf + 2);
@ -4729,6 +4733,8 @@ print_insn_bfin (bfd_vma pc, disassemble_info *outf)
int count = 0; int count = 0;
status = (*outf->read_memory_func) (pc & ~0x01, buf, 2, outf); status = (*outf->read_memory_func) (pc & ~0x01, buf, 2, outf);
/* FIXME */
(void) status;
iw0 = bfd_getl16 (buf); iw0 = bfd_getl16 (buf);
count += _print_insn_bfin (pc, outf); count += _print_insn_bfin (pc, outf);

View File

@ -274,9 +274,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -393,31 +395,39 @@ const CGEN_INSN *
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1,5 +1,5 @@
/* Instruction printing code for the DLX Microprocessor /* Instruction printing code for the DLX Microprocessor
Copyright 2002, 2005, 2007 Free Software Foundation, Inc. Copyright 2002, 2005, 2007, 2010 Free Software Foundation, Inc.
Contributed by Kuang Hwa Lin. Written by Kuang Hwa Lin, 03/2002. Contributed by Kuang Hwa Lin. Written by Kuang Hwa Lin, 03/2002.
This file is part of the GNU opcodes library. This file is part of the GNU opcodes library.
@ -437,7 +437,6 @@ print_insn_dlx (bfd_vma memaddr, struct disassemble_info* info)
bfd_byte buffer[4]; bfd_byte buffer[4];
int insn_idx; int insn_idx;
unsigned long insn_word; unsigned long insn_word;
unsigned char rtn_code;
unsigned long dlx_insn_type[] = unsigned long dlx_insn_type[] =
{ {
(unsigned long) dlx_r_type, (unsigned long) dlx_r_type,
@ -481,7 +480,6 @@ print_insn_dlx (bfd_vma memaddr, struct disassemble_info* info)
#endif #endif
/* Scan through all the insn type and print the insn out. */ /* Scan through all the insn type and print the insn out. */
rtn_code = 0;
current_insn_addr = (unsigned long) memaddr; current_insn_addr = (unsigned long) memaddr;
for (insn_idx = 0; dlx_insn_type[insn_idx] != 0x0; insn_idx++) for (insn_idx = 0; dlx_insn_type[insn_idx] != 0x0; insn_idx++)

View File

@ -557,9 +557,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -676,31 +678,39 @@ fr30_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1510,9 +1510,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -1629,31 +1631,39 @@ frv_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1,6 +1,6 @@
/* Disassemble h8300 instructions. /* Disassemble h8300 instructions.
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007 Free Software Foundation, Inc. 2007, 2010 Free Software Foundation, Inc.
This file is part of the GNU opcodes library. This file is part of the GNU opcodes library.
@ -53,19 +53,6 @@ bfd_h8_disassemble_init (void)
for (p = h8_opcodes, pi = h8_instructions; p->name; p++, pi++) for (p = h8_opcodes, pi = h8_instructions; p->name; p++, pi++)
{ {
int n1 = 0;
int n2 = 0;
if ((int) p->data.nib[0] < 16)
n1 = (int) p->data.nib[0];
else
n1 = 0;
if ((int) p->data.nib[1] < 16)
n2 = (int) p->data.nib[1];
else
n2 = 0;
/* Just make sure there are an even number of nibbles in it, and /* Just make sure there are an even number of nibbles in it, and
that the count is the same as the length. */ that the count is the same as the length. */
for (i = 0; p->data.nib[i] != (op_type) E; i++) for (i = 0; p->data.nib[i] != (op_type) E; i++)

View File

@ -758,9 +758,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -877,31 +879,39 @@ ip2k_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -706,9 +706,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -825,31 +827,39 @@ iq2000_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -596,9 +596,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -715,31 +717,39 @@ lm32_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1831,9 +1831,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -1950,31 +1952,39 @@ m32c_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -575,9 +575,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -694,31 +696,39 @@ m32r_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1,6 +1,6 @@
/* Instruction printing code for the MAXQ /* Instruction printing code for the MAXQ
Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc. Copyright 2004, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
Written by Vineet Sharma(vineets@noida.hcltech.com) Inderpreet Written by Vineet Sharma(vineets@noida.hcltech.com) Inderpreet
S.(inderpreetb@noida.hcltech.com) S.(inderpreetb@noida.hcltech.com)
@ -205,8 +205,6 @@ check_move (unsigned char insn0, unsigned char insn8)
{ {
bfd_boolean first = FALSE; bfd_boolean first = FALSE;
bfd_boolean second = FALSE; bfd_boolean second = FALSE;
char *first_reg;
char *second_reg;
reg_entry const *reg_x; reg_entry const *reg_x;
const unsigned char module1 = insn0 & MASK_LOW_BYTE; const unsigned char module1 = insn0 & MASK_LOW_BYTE;
const unsigned char index1 = ((insn0 & 0x70) >> 4); const unsigned char index1 = ((insn0 & 0x70) >> 4);
@ -241,7 +239,6 @@ check_move (unsigned char insn0, unsigned char insn8)
/* A[AP] not allowed. */ /* A[AP] not allowed. */
if ((reg_x->Mod_name == 0x0A) && (reg_x->Mod_index == 0x01)) if ((reg_x->Mod_name == 0x0A) && (reg_x->Mod_index == 0x01))
continue; continue;
first_reg = reg_x->reg_name;
first = TRUE; first = TRUE;
break; break;
} }
@ -277,7 +274,6 @@ check_move (unsigned char insn0, unsigned char insn8)
&& (reg_x->Mod_index == (((insn8 & 0xf0) >> 4)))) && (reg_x->Mod_index == (((insn8 & 0xf0) >> 4))))
{ {
second = TRUE; second = TRUE;
second_reg = reg_x->reg_name;
break; break;
} }
} }
@ -552,7 +548,7 @@ print_insn (bfd_vma memaddr, struct disassemble_info *info,
enum bfd_endian endianess) enum bfd_endian endianess)
{ {
/* The raw instruction. */ /* The raw instruction. */
unsigned char insn[2], insn0, insn8, derived_code; unsigned char insn[2], derived_code;
unsigned int format; unsigned int format;
unsigned int actual_operands; unsigned int actual_operands;
unsigned int i; unsigned int i;
@ -571,9 +567,6 @@ print_insn (bfd_vma memaddr, struct disassemble_info *info,
return -1; return -1;
} }
insn8 = insn[1];
insn0 = insn[0];
/* FIXME: Endianness always little. */ /* FIXME: Endianness always little. */
if (endianess == BFD_ENDIAN_BIG) if (endianess == BFD_ENDIAN_BIG)
get_insn_opcode (((insn[0] << 8) | (insn[1])), &grp); get_insn_opcode (((insn[0] << 8) | (insn[1])), &grp);
@ -588,7 +581,7 @@ print_insn (bfd_vma memaddr, struct disassemble_info *info,
return 2; return 2;
} }
/* The opcode is always in insn0. */ /* The opcode is always in insn[0]. */
for (opcode = &op_table[0]; opcode->name != NULL; ++opcode) for (opcode = &op_table[0]; opcode->name != NULL; ++opcode)
{ {
if (opcode->instr_id == derived_code) if (opcode->instr_id == derived_code)

View File

@ -1533,9 +1533,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -1652,31 +1654,39 @@ mep_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -534,14 +534,12 @@ mep_examine_ivc2_insns (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, bfd_vma pc ATTRIBUTE_
{ {
int status; int status;
int buflength; int buflength;
int cop2buflength;
bfd_byte buf[8]; bfd_byte buf[8];
bfd_byte insn[8]; bfd_byte insn[8];
int e; int e;
/* At this time we're not supporting internally parallel /* At this time we're not supporting internally parallel
coprocessors, so cop2buflength will always be 0. */ coprocessors, so cop2buflength will always be 0. */
cop2buflength = 0;
/* Read in 64 bits. */ /* Read in 64 bits. */
buflength = 8; /* VLIW insn spans 8 bytes. */ buflength = 8; /* VLIW insn spans 8 bytes. */

View File

@ -1,5 +1,6 @@
/* Disassemble MSP430 instructions. /* Disassemble MSP430 instructions.
Copyright (C) 2002, 2004, 2005, 2007, 2009 Free Software Foundation, Inc. Copyright (C) 2002, 2004, 2005, 2007, 2009, 2010
Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru> Contributed by Dmitry Diky <diwil@mail.ru>
@ -546,14 +547,13 @@ msp430_branchinstr (disassemble_info *info,
int *cycles) int *cycles)
{ {
int regs = 0, regd = 0; int regs = 0, regd = 0;
int ad = 0, as = 0; int as = 0;
int cmd_len = 2; int cmd_len = 2;
short dst = 0; short dst = 0;
regd = insn & 0x0f; regd = insn & 0x0f;
regs = (insn & 0x0f00) >> 8; regs = (insn & 0x0f00) >> 8;
as = (insn & 0x0030) >> 4; as = (insn & 0x0030) >> 4;
ad = (insn & 0x0080) >> 7;
if (regd != 0) /* Destination register is not a PC. */ if (regd != 0) /* Destination register is not a PC. */
return 0; return 0;

View File

@ -842,9 +842,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -961,31 +963,39 @@ mt_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -488,9 +488,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -607,31 +609,39 @@ openrisc_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -1,6 +1,6 @@
/* Print SPARC instructions. /* Print SPARC instructions.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of the GNU opcodes library. This file is part of the GNU opcodes library.
@ -995,7 +995,8 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
if (opcode->flags & (F_UNBR|F_CONDBR|F_JSR)) if (opcode->flags & (F_UNBR|F_CONDBR|F_JSR))
{ {
/* FIXME -- check is_annulled flag. */ /* FIXME -- check is_annulled flag. */
(void) is_annulled;
if (opcode->flags & F_UNBR) if (opcode->flags & F_UNBR)
info->insn_type = dis_branch; info->insn_type = dis_branch;
if (opcode->flags & F_CONDBR) if (opcode->flags & F_CONDBR)

View File

@ -623,9 +623,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -742,31 +744,39 @@ xc16x_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;

View File

@ -523,9 +523,11 @@ parse_insn_normal (CGEN_CPU_DESC cd,
continue; continue;
} }
#ifdef CGEN_MNEMONIC_OPERANDS
(void) past_opcode_p;
#endif
/* We have an operand of some sort. */ /* We have an operand of some sort. */
errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), errmsg = cd->parse_operand (cd, CGEN_SYNTAX_FIELD (*syn), &str, fields);
&str, fields);
if (errmsg) if (errmsg)
return errmsg; return errmsg;
@ -642,31 +644,39 @@ xstormy16_cgen_assemble_insn (CGEN_CPU_DESC cd,
{ {
static char errbuf[150]; static char errbuf[150];
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
const char *tmp_errmsg; const char *tmp_errmsg;
#ifdef CGEN_VERBOSE_ASSEMBLER_ERRORS
/* If requesting verbose error messages, use insert_errmsg. #define be_verbose 1
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
#else #else
if (strlen (start) > 50) #define be_verbose 0
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
#endif #endif
if (be_verbose)
{
/* If requesting verbose error messages, use insert_errmsg.
Failing that, use parse_errmsg. */
tmp_errmsg = (insert_errmsg ? insert_errmsg :
parse_errmsg ? parse_errmsg :
recognized_mnemonic ?
_("unrecognized form of instruction") :
_("unrecognized instruction"));
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s...'", tmp_errmsg, start);
else
/* xgettext:c-format */
sprintf (errbuf, "%s `%.50s'", tmp_errmsg, start);
}
else
{
if (strlen (start) > 50)
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s...'"), start);
else
/* xgettext:c-format */
sprintf (errbuf, _("bad instruction `%.50s'"), start);
}
*errmsg = errbuf; *errmsg = errbuf;
return NULL; return NULL;