X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=ad71e254cce08edba8ba2b1579e08d7f979ba704;hb=35ed3f940bd08e98211807604672cccbf2741d8f;hp=4412a1764198e6c958c40ad997d26f46bd9eb8f7;hpb=47beaa6a213f48eaf6e0bd3d3768ba559c42b1b6;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4412a176419..ad71e254cce 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,518 @@ +2011-04-24 Alan Modra + + PR ld/12365 + PR ld/12696 + * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call. + * linker.c (_bfd_link_hash_newfunc): Clear bitfields. + (_bfd_generic_link_add_one_symbol): Update "notice" call. + * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when + it is a redef of an IR symbol in a real BFD. + +2011-04-22 H.J. Lu + + * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation + in readonly section in a shared object. + (elf_i386_size_dynamic_sections): Likewise. + * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. + (elf_x86_64_size_dynamic_sections): Likewise. + +2011-04-21 H.J. Lu + + PR ld/12694 + * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC + symbols. + * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. + +2011-04-21 H.J. Lu + + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false + on dynamic symbol error. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. + +2011-04-20 Tristan Gingold + + * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs. + +2011-04-20 Alan Modra + + * hash.c (bfd_default_hash_table_size): Make it an unsigned long. + (bfd_hash_table_init_n): Overflow checking. + (bfd_hash_set_default_size): Return current size. Take unsigned long + arg. Add 65537 to hash_size primes. + * bfd-in.h (bfd_hash_set_default_size): Update prototype. + * bfd-in2.h: Regenerate. + +2011-04-20 Jan Kratochvil + + * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of + memmove elements. + +2011-04-20 Alan Modra + + * libbfd.c (bfd_log2): Do return rounded up value. + * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2 + call with expanded old round down version of the function. + + * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd. + * elflink.c (elf_link_add_object_symbols): Delete redundant code. + +2011-04-20 Alan Modra + + PR ld/12365 + * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols + in their own common section. + * elflink.c (elf_link_add_object_symbols): Likewise. + * linker.c (generic_link_check_archive_element): Don't lose flags + if common section is pre-existing. + (_bfd_generic_link_add_one_symbol): Likewise. + +2011-04-20 Alan Modra + + PR ld/12365 + * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls. + * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call + multiple_definition regardless of allow_multiple_definition. + * simple.c (simple_dummy_multiple_definition): Update. + * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition + calls. + +2011-04-18 Tristan Gingold + + * coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro. + +2011-04-18 Alan Modra + + PR ld/12365 + PR ld/12672 + * bfd.c (BFD_PLUGIN): Define. + (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN. + * bfd-in2.h: Regenerate. + * elflink.c (elf_link_output_extsym): Strip undefined plugin syms. + * opncls.c (bfd_make_readable): Don't lose original bfd flags. + +2011-04-17 Jan Kratochvil + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for + SEC_LOAD. + +2011-04-15 Sergio Durigan Junior + + * elf-bfd.h (struct sdt_note): New struct. + (struct elf_obj_tdata) : New field. + * elf.c (elfobj_grok_stapsdt_note_1): New function. + (elfobj_grok_stapsdt_note): Likewise. + (elf_parse_notes): Added code to treat SystemTap note + sections. + +2011-04-12 Richard Henderson + + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not + exclude empty .got sections. + +2011-04-11 H.J. Lu + + * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound + array access for BFD_RELOC_386_IRELATIVE. + +2011-04-11 Bernd Schmidt + + * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field. + +2011-04-11 Mark Wielaard + + PR 10549 + * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols. + (has_gnu_symbols): Renamed from has_ifunc_symbols. + * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name. + * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols + also if STB_GNU_UNIQUE symbol binding was seen. + * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. + +2011-04-11 Alan Modra + + * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output + sections. + * libbfd.c (_bfd_generic_get_section_contents): Likewise. + (_bfd_generic_get_section_contents_in_window): Likewise. + * section.c (bfd_get_section_contents): Likewise. + * compress.c (bfd_get_full_section_contents): Likewise. + * elf32-rx.c (rx_final_link): Ignore rawsize. + * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct + bfd with bfd_get_section_limit. + * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter. Use + os->size during final link. Update callers. + * bfd-in2.h: Regenerate. + +2011-04-10 Richard Sandiford + + PR ld/12637 + * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count + as the number of global entries when merging with the primary GOT. + +2011-04-09 H.J. Lu + + * elf32-i386.c: Update copyright year. + * elf64-x86-64.c: Likewise. + +2011-04-09 Kai Tietz + + * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary + buffer and use rawsize for sorting. + * coffcode.h (coff_compute_section_file_positions): Set rawsize + before doing alignment. + +2011-04-09 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Return relocation + error on unsupported relocation. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2011-04-09 H.J. Lu + + PR binutils/12657 + * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with + pid_t. + +2011-04-08 H.J. Lu + + PR ld/12654 + * elf32-i386.c (elf_i386_relocate_section): Check !executable + instead of shared for R_386_TLS_LDO_32. + +2011-04-08 Tristan Gingold + + * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h + * coff-pmac: Remove + * xcoff-target.h: Remove + * Makefile.in: Regenerate. + +2011-04-07 Cary Coutant + + * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification. + +2011-04-07 Paul Brook + + * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is + pc-relative. + (elf32_tic6x_howto_table_rel): Ditto. + (elf32_tic6x_relocate_section): Implement R_C6000_PREL31. + (elf32_tic6x_check_relocs): Ditto. + +2011-04-06 Joseph Myers + + * config.bfd (thumb-*-oabi): Don't handle in list of obsolete + targets. + (strongarm*, thumb*, xscale*): Remove architectures. + (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*, + thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf, + xscale-*-coff): Remove targets. + +2011-04-01 Tristan Gingold + + * elfxx-ia64.c: include bfd_stdint.h + +2011-03-31 Jan Kratochvil + + * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable + dynobj and its initialization. + +2011-03-31 Tristan Gingold + + * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec. + * configure.com: Set BFD_HOST_64BIT_LONG_LONG and + BFD_HOST_LONG_LONG to 1. + +2011-03-31 Tristan Gingold + + * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning. + (_bfd_vms_write_etir): Ditto. + (_bfd_vms_slurp_etir): Avoid to use intptr_t + * configure.com: Generate bfd_stdint.h + +2011-03-31 Bernd Schmidt + + * elf32-tic6x.h (struct elf32_tic6x_params): New. + (elf32_tic6x_setup): Declare. + * elf32-tic6x.c: Include . + (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define. + (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry): + New structures. + (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros. + (tic6x_elf_scom_section, tic6x_elf_scom_symbol, + tic6x_elf_scom_symbol_ptr): New static variables. + (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel, + elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE, + R_C6000_PCR_H16 and R_C6000_PCR_L16. + (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create, + elf32_tic6x_link_hash_table_free, elf32_tic6x_setup, + elf32_tic6x_using_dsbt, elf32_tic6x_install_rela, + elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc, + elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook, + elf32_tic6x_adjust_dynamic_symbol): New static functions. + (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches + to weak symbols as required by the ABI. + Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file + as needed when generating DSBT output. + (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook, + elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section, + elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections, + elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers, + elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val, + elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym): + New static functions. + (ELF_MAXPAGESIZE): Define to 0x1000. + (bfd_elf32_bfd_copy_private_bfd_data, + bfd_elf32_bfd_link_hash_table_create, + bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount, + elf_backend_want_got_plt, elf_backend_want_dynbss, + elf_backend_plt_readonly, elf_backend_got_header_size, + elf_backend_gc_sweep_hook, elf_backend_modify_program_headers, + elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol, + elf_backend_check_relocs, elf_backend_add_symbol_hook, + elf_backend_symbol_processing, elf_backend_link_output_symbol_hook, + elf_backend_section_from_bfd_section, + elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections, + elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections, + elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define. + + * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE, + BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add. + * bfd/bfd-in2.h: Regenerate. + * bfd/libbfd.h: Regenerate. + * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf. + +2011-03-31 Tristan Gingold + + * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL + entry on xcoff when value is C_NULL_VALUE. + +2011-03-31 Tristan Gingold + + * libcoff-in.h (exec_hdr): Remove. + * libcoff.h: Regenerate. + +2011-03-30 Nick Clifton + + * po/da.po: Updated Danish translation. + +2011-03-29 Richard Henderson + + * elf64-alpha.c (elf64_alpha_gc_mark_hook): New. + (elf64_alpha_gc_sweep_hook): New. + (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New. + (elf_backend_can_gc_sections): New. + +2011-03-26 John Marino + + * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*. + * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec. + * configure: Regenerate. + +2011-03-25 Michael Snyder + + * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek. + +2011-03-25 Tristan Gingold + + * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use + of find_nearest_line on object files. + +2011-03-25 Tristan Gingold + + * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only. + Minor reordering. + (alpha_vms_create_eisd_for_section): Make code sections read-only. + +2011-03-24 Alan Modra + + * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where + old-style __tls_get_addr calls without marker relocs don't match + their arg setup insn one for one. If such mismatches are found + report the reloc and don't do any tls optimization. + * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. + +2011-03-22 Eric B. Weddington + + * bfd-in2.h: Regenerate. + +2011-03-22 Eric B. Weddington + + * archures.c: Add AVR XMEGA architecture information. + * cpu-avr.c (arch_info_struct): Likewise. + * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. + (elf32_avr_object_p): Likewise. + +2011-03-14 Richard Sandiford + + * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation. + * bfd-in2.h: Regenerate. + * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition + to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE + entry. + (elf32_arm_howto_from_type): Update accordingly. + (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE. + (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3. + (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry + with an extra noncall_refcount field. + (arm_local_iplt_info): New structure. + (elf_arm_obj_tdata): Add local_iplt. + (elf32_arm_local_iplt): New accessor macro. + (elf32_arm_link_hash_entry): Replace plt_thumb_refcount, + plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info. + Change tls_type to a bitfield and add is_iplt. + (elf32_arm_link_hash_newfunc): Update accordingly. + (elf32_arm_allocate_local_sym_info): New function. + (elf32_arm_create_local_iplt): Likewise. + (elf32_arm_get_plt_info): Likewise. + (elf32_arm_plt_needs_thumb_stub_p): Likewise. + (elf32_arm_get_local_dynreloc_list): Likewise. + (create_ifunc_sections): Likewise. + (elf32_arm_copy_indirect_symbol): Update after the changes to + elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set. + (arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info + to get PLT information. Assert that all STT_GNU_IFUNC references + are turned into PLT references. + (arm_build_one_stub): Pass the symbol type to + elf32_arm_final_link_relocate. + (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub. + (elf32_arm_allocate_irelocs): New function. + (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for + all R_ARM_IRELATIVE. + (elf32_arm_allocate_plt_entry): New function. + (elf32_arm_populate_plt_entry): Likewise. + (elf32_arm_final_link_relocate): Add an st_type parameter. + Set srelgot to null for static objects. Use separate variables + to record which st_value and st_type should be used when generating + a dynamic relocation. Use elf32_arm_get_plt_info to find the + symbol's PLT information, setting has_iplt_entry, splt, + plt_offset and gotplt_offset accordingly. Check whether + STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change + the relocation target accordingly. Broaden assert to include + .iplts. Don't set sreloc for static relocations. Assert that + we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32 + and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead + of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC + symbol. Pass the symbol type to arm_type_of_stub. Conditionally + resolve GOT references to the .igot.plt entry. + (elf32_arm_relocate_section): Update the call to + elf32_arm_final_link_relocate. + (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT + information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call + relocations in shared libraries and relocatable executables. + Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list + to get the list of dynamic relocations for a local symbol. + (elf32_arm_check_relocs): Always create ifunc sections. Set isym + at the same time as setting h. Use elf32_arm_allocate_local_sym_info + to allocate local symbol information. Treat R_ARM_REL32 and + R_ARM_REL32_NOI as call relocations in shared libraries and + relocatable executables. Record PLT information for local + STT_GNU_IFUNC functions as well as global functions. Count + non-call PLT references. Use elf32_arm_get_local_dynreloc_list + to get the list of dynamic relocations for a local symbol. + (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols. + Don't remove STT_GNU_IFUNC PLTs unless all references have been + removed. Update after the changes to elf32_arm_link_hash_entry. + (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT + entries should live in .plt or .iplt. Check whether the .igot.plt + and .got entries can be combined. Use elf32_arm_allocate_plt_entry + to allocate .plt and .(i)got.plt entries. Detect which .got + entries will need R_ARM_IRELATIVE relocations and use + elf32_arm_allocate_irelocs to allocate them. Likewise other + non-.got dynamic relocations. + (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt + and dynamic relocations for local STT_GNU_IFUNC symbols. + Check whether the .igot.plt and .got entries can be combined. + Detect which .got entries will need R_ARM_IRELATIVE relocations + and use elf32_arm_allocate_irelocs to allocate them. Use stashed + section pointers intead of strcmp checks. Handle iplt and igotplt. + (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry + to fill in .plt, .got.plt and .rel(a).plt entries. Point + STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations + resolve to it. + (elf32_arm_output_plt_map_1): New function, split out from + elf32_arm_output_plt_map. Handle .iplt entries. Use + elf32_arm_plt_needs_thumb_stub_p. + (elf32_arm_output_plt_map): Call it. + (elf32_arm_output_arch_local_syms): Add mapping symbols for + local .iplt entries. + (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols. + (elf32_arm_swap_symbol_out): Likewise. + (elf32_arm_add_symbol_hook): New function. + (elf_backend_add_symbol_hook): Define for all targets. + +2011-03-14 Richard Sandiford + + * elf-bfd.h (elf_link_hash_entry): Add target_internal. + * elf.c (swap_out_syms): Set st_target_internal for each + Elf_Internal_Sym. + * elfcode.h (elf_swap_symbol_in): Likewise. + * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. + * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise. + * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise. + * elflink.c (elf_link_output_extsym): Likewise. + (bfd_elf_final_link): Likewise. + (elf_link_add_object_symbols): Copy st_target_internal + to the hash table if we see a definition. + (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal. + * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with + a branch_type field. + (a8_erratum_fix, a8_erratum_reloc): Likewise. + (arm_type_of_stub): Replace actual_st_type with an + actual_branch_type parameter. + (arm_build_one_stub): Use branch types rather than st_types to + determine the type of branch. + (cortex_a8_erratum_scan): Likewise. + (elf32_arm_size_stubs): Likewise. + (bfd_elf32_arm_process_before_allocation): Likewise. + (allocate_dynrelocs_for_symbol): Likewise. + (elf32_arm_finish_dynamic_sections): Likewise. + (elf32_arm_final_link_relocate): Replace sym_flags parameter with + a branch_type parameter. + (elf32_arm_relocate_section): Update call accordingly. + (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC. + (elf32_arm_output_map_sym): Initialize st_target_internal. + (elf32_arm_output_stub_sym): Likewise. + (elf32_arm_symbol_processing): Delete. + (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs. + Use st_target_internal to record the branch type. + (elf32_arm_swap_symbol_out): Use st_target_internal to test for + Thumb functions. + (elf32_arm_is_function_type): Delete. + (elf_backend_symbol_processing): Likewise. + (elf_backend_is_function_type): Likewise. + +2011-03-14 Richard Sandiford + + * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj. + (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion + into the PLT block. + +2011-03-14 Richard Sandiford + + * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p, + may_need_local_target_p and may_become_dynamic_p to classify + the relocation type. Don't check info->symbolic or h->def_regular + when deciding whether to record a potential dynamic reloc. + Don't treat potential dynamic relocs as PLT references. + (elf32_arm_gc_sweep_hook): Update to match. Assert that we don't + try to make the PLT reference count go negative. + +2011-03-14 Richard Sandiford + + * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the + GOT entry here, rather than leaving it to finish_dynamic_symbol. + Only create a dynamic relocation for local references if + info->shared. + (allocate_dynrelocs_for_symbol): Update dynamic relocation + allocation accordingly. + (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here. + 2011-03-14 Richard Sandiford * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.