--- crash-5.1.7/gdb-7.0.patch.orig +++ crash-5.1.7/gdb-7.0.patch @@ -1838,3 +1838,151 @@ a = relocation; b = val & howto->src_mask; +--- gdb-7.0/bfd/elf32-arm.c.orig ++++ gdb-7.0/bfd/elf32-arm.c +@@ -3438,7 +3438,6 @@ arm_build_one_stub (struct bfd_hash_entr + struct elf32_arm_link_hash_table *htab; + asection *stub_sec; + bfd *stub_bfd; +- bfd_vma stub_addr; + bfd_byte *loc; + bfd_vma sym_value; + int template_size; +@@ -3471,10 +3470,6 @@ arm_build_one_stub (struct bfd_hash_entr + + stub_bfd = stub_sec->owner; + +- /* This is the address of the start of the stub. */ +- stub_addr = stub_sec->output_section->vma + stub_sec->output_offset +- + stub_entry->stub_offset; +- + /* This is the address of the stub destination. */ + sym_value = (stub_entry->target_value + + stub_entry->target_section->output_offset +@@ -3660,16 +3655,14 @@ find_stub_size_and_template (enum elf32_ + + static bfd_boolean + arm_size_one_stub (struct bfd_hash_entry *gen_entry, +- void * in_arg) ++ void * in_arg __attribute__ ((unused))) + { + struct elf32_arm_stub_hash_entry *stub_entry; +- struct elf32_arm_link_hash_table *htab; + const insn_sequence *template_sequence; + int template_size, size; + + /* Massage our args to the form they really have. */ + stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry; +- htab = (struct elf32_arm_link_hash_table *) in_arg; + + BFD_ASSERT((stub_entry->stub_type > arm_stub_none) + && stub_entry->stub_type < ARRAY_SIZE(stub_definitions)); +@@ -5147,7 +5140,6 @@ record_vfp11_erratum_veneer (struct bfd_ + struct bfd_link_hash_entry *bh; + bfd_vma val; + struct _arm_elf_section_data *sec_data; +- int errcount; + elf32_vfp11_erratum_list *newerr; + + hash_table = elf32_arm_hash_table (link_info); +@@ -5186,7 +5178,7 @@ record_vfp11_erratum_veneer (struct bfd_ + myh->forced_local = 1; + + /* Link veneer back to calling location. */ +- errcount = ++(sec_data->erratumcount); ++ sec_data->erratumcount += 1; + newerr = bfd_zmalloc (sizeof (elf32_vfp11_erratum_list)); + + newerr->type = VFP11_ERRATUM_ARM_VENEER; +@@ -6035,9 +6027,8 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *a + { + elf32_vfp11_erratum_list *newerr + = 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; + +@@ -6747,8 +6738,6 @@ elf32_arm_final_link_relocate (reloc_how + unsigned long r_symndx; + bfd_byte * hit_data = contents + rel->r_offset; + bfd * dynobj = NULL; +- Elf_Internal_Shdr * symtab_hdr; +- struct elf_link_hash_entry ** sym_hashes; + bfd_vma * local_got_offsets; + asection * sgot = NULL; + asection * splt = NULL; +@@ -6785,8 +6774,6 @@ elf32_arm_final_link_relocate (reloc_how + sgot = bfd_get_section_by_name (dynobj, ".got"); + splt = bfd_get_section_by_name (dynobj, ".plt"); + } +- symtab_hdr = & elf_symtab_hdr (input_bfd); +- sym_hashes = elf_sym_hashes (input_bfd); + local_got_offsets = elf_local_got_offsets (input_bfd); + r_symndx = ELF32_R_SYM (rel->r_info); + +@@ -8886,7 +8873,7 @@ elf32_arm_relocate_section (bfd * + } + else + { +- bfd_boolean warned; ++ bfd_boolean warned __attribute__((unused)); + + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, +@@ -10740,7 +10727,6 @@ elf32_arm_check_relocs (bfd *abfd, struc + const Elf_Internal_Rela *rel_end; + bfd *dynobj; + asection *sreloc; +- bfd_vma *local_got_offsets; + struct elf32_arm_link_hash_table *htab; + bfd_boolean needs_plt; + unsigned long nsyms; +@@ -10763,7 +10749,6 @@ elf32_arm_check_relocs (bfd *abfd, struc + } + + dynobj = elf_hash_table (info)->dynobj; +- local_got_offsets = elf_local_got_offsets (abfd); + + symtab_hdr = & elf_symtab_hdr (abfd); + sym_hashes = elf_sym_hashes (abfd); +@@ -12864,10 +12849,8 @@ elf32_arm_output_map_sym (output_arch_sy + bfd_vma offset) + { + static const char *names[3] = {"$a", "$t", "$d"}; +- struct elf32_arm_link_hash_table *htab; + Elf_Internal_Sym sym; + +- htab = elf32_arm_hash_table (osi->info); + sym.st_value = osi->sec->output_section->vma + + osi->sec->output_offset + + offset; +@@ -12962,10 +12945,8 @@ static bfd_boolean + elf32_arm_output_stub_sym (output_arch_syminfo *osi, const char *name, + bfd_vma offset, bfd_vma size) + { +- struct elf32_arm_link_hash_table *htab; + Elf_Internal_Sym sym; + +- htab = elf32_arm_hash_table (osi->info); + sym.st_value = osi->sec->output_section->vma + + osi->sec->output_offset + + offset; +@@ -12982,7 +12963,6 @@ arm_map_one_stub (struct bfd_hash_entry + { + struct elf32_arm_stub_hash_entry *stub_entry; + struct bfd_link_info *info; +- struct elf32_arm_link_hash_table *htab; + asection *stub_sec; + bfd_vma addr; + char *stub_name; +@@ -12999,7 +12979,6 @@ arm_map_one_stub (struct bfd_hash_entry + + info = osi->info; + +- htab = elf32_arm_hash_table (info); + stub_sec = stub_entry->stub_sec; + + /* Ensure this stub is attached to the current section being