+
+ * dwarf2.c (scan_unit_for_symbols, case DT_AT_location): Verify that
+ DW_OP_addr is only opcode in location before using it.
+
+
+ * elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
+
+
+ * aix5ppc-core.c (xcoff64_core_p): Constify return_value
+ variable. Also, do not use core_hdr macro as it evaluates to a
+ cast of an lvalue which is no longer supported by GCC 4.0.
+
+
+ * archures.c (bfd_mach_msp21): New MSP430 machine number.
+ * bfd-in2.h: Regenerate.
+ * cpu-msp430.c (arch_info_struct): Add support for msp430x21xx
+ variants.
+
+
+ PR 1147
+ * elf32-arm.c (bfd_elf32_close_and_cleanup): Define.
+ (elf32_arm_close_and_cleanup): New function - walk over the
+ sections in the bfd that is being closed removing them from the
+ list of recorded sections.
+ (unrecord_section_via_map_over_sections): New helper function.
+ (record_section_with_arm_elf_section_data): Call bfd_malloc
+ instead of bfd_alloc. Remove unneeded abfd parameter.
+ (elf32_arm_new_section_hook): Do not pass bfd to
+ record_section_with_arm_elf_section_data.
+
+ * elfxx-target.h (bfd_elfNN_close_and_cleanup): Only define if not
+ already defined by the target.
+
+
+ * dwarf2.c (read_rangelist): Use addr_size instead of offset_size
+ to determine how many bytes to read from each rangelist entry.
+
+
+ * bfd.c (bfd_hide_symbol): New.
+ * bfd-in2.h: Regenerated.
+
+
+ * elf64-x86-64.c (elf64_x86_64_merge_symbol): When mixing a
+ large common symbol and a normal common symbol, always turn
+ the large common symbol into a normal one.
+
+
+ * elf32-ppc.c (struct elf_linker_section): Replace sym_val field
+ with sym.
+ (ppc_elf_relocate_section): Adjust for above.
+ (create_sdata_sym): New function.
+ (ppc_elf_create_linker_section): Call it.
+ (ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs.
+ Create sdata syms for all SDA relocs.
+ (ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_
+ and _SDA2_BASE_.
+ (ppc_elf_set_sdata_syms): Delete.
+ * elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT
+ and DT_FINI tags unless associated section has input.
+ (bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete.
+ (_bfd_elf_provide_section_bound_symbols): Delete.
+ * bfd-in.h (_bfd_elf_provide_symbol): Delete.
+ (_bfd_elf_provide_section_bound_symbols): Delete.
+ * bfd-in2.h: Regenerate.
+
+
+ * elflink.c (fix_syms, _bfd_elf_fix_excluded_sec_syms): Move to..
+ * linker.c (fix_syms, _bfd_fix_excluded_sec_syms): ..here.
+ * bfd-in.h (_bfd_fix_excluded_sec_syms): Rename.
+ * bfd-in2.h: Regenerate.
+
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Resize .rela.got
+ only if it isn't NULL.
+
+
+ * elf32-i386.c (elf_howto_table): Undo the overflow change for
+ R_386_PC16 made on 2005-07-18.
+
+ * elf64-x86-64.c (x86_64_elf_howto_table): Undo the overflow
+ change for R_X86_64_PC16 made on 2005-07-18.
+
+
+ * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove hgot. Use
+ elf.hgot throughout file.
+
+
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Correct value of
+ _GLOBAL_OFFSET_TABLE_ for > 32k GOT.
+
+
+ * elfxx-ia64.c (struct elfNN_ia64_allocate_data): Add only_got.
+ (elfNN_ia64_relax_section): Reallocate .rela.got when .got has
+ changed.
+ (allocate_dynrel_entries): Look only at GOT relocations when
+ only_got is true.
+ (elfNN_ia64_size_dynamic_sections): Set only_got to false before
+ calling allocate_dynrel_entries.
+
+
+ PR 1147
+ * elf32-arm.c (struct _arm_elf_section_data): Turn into a typedef
+ and make the mapcount field unsigned.
+ (struct section_list): New: Used to keep track of which sections
+ have an _arm_elf_section_data structure.
+ (record_section_with_arm_elf_section_data): New function.
+ (get_arm_elf_section_data): New function.
+ (unrecord_section_with_arm_elf_section_data): New function.
+ (elf32_arm_output_symbol_hook): Use get_arm_elf_section_data.
+ (elf32_arm_new_section_hook): Call
+ record_section_with_arm_elf_section_data.
+ (elf32_arm_write_section): Use get_arm_elf_section_data and
+ unrecord_section_with_arm_elf_section_data.
+
+
+ * elfxx-mips.c (mips_mach_extends_p): Treat MIPS64 as an extension
+ of MIPS32 and MIPS64r2 as an extension of MIPS32r2.
+
+
+ * elflink.c (elf_gc_sweep): Set dynsymcount to correct value.
+
+
+ * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Ignore _gp_disp
+ if it is in the *ABS* section.
+
+
+ * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+
+ * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add.
+ * bfd-in2.h: Regeenrate.
+ * libbfd.h: Regenerate.
+
+
+ * peXXigen.c (pe_print_edata): Compute the size of the export
+ table from the size field in the DataDictionary and not the size
+ of the section. Some linkers embed the export table inside a
+ larger section.
+
+
+ * elf-bfd.h (struct elf_backend_data): Add action_discarded.
+ (enum action_discarded): Move from..
+ * elflink.c (enum action_discarded): ..here.
+ (_bfd_elf_default_action_discarded): Rename from elf_action_discarded.
+ Remove target specific section checks.
+ (elf_link_input_bfd): Adjust.
+ * elfxx-target.h (elf_backend_action_discarded): Define.
+ (elfNN_bed): Init new field.
+ * bfd-in.h (_bfd_elf_default_action_discarded): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf-hppa.h (elf_hppa_action_discarded): New function.
+ * elf32-hppa.c (elf_backend_action_discarded): Define.
+ * elf64-hppa.c (elf_backend_action_discarded): Define.
+ * elf32-ppc.c (ppc_elf_action_discarded): New function.
+ (elf_backend_action_discarded): Define.
+
+
+ * elflink.c (fix_syms): Handle symbols defined in input sections.
+
+
+ * elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New.
+ (elf64_x86_64_info_to_howto): Use them.
+
+
+ * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition
+ regardless of strength of previous definition.
+
+
+ * elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared.
+ (bfd_elf_gc_sections): Allow -gc-sections when -shared.
+ * elf32-ppc.c (ppc_elf_gc_sweep_hook): Correct for -shared.
+
+
+ * elflink.c (elf_gc_sweep): Move gcc_except_table code..
+ (bfd_elf_gc_sections): ..to here.
+
+
+ * reloc.c: Remove unused M32C relocs, add BFD_RELOC_M32C_HI8.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+ * elf32-m32c.c (m32c_elf_howto_table): Add R_M32C_8, R_M32C_LO16,
+ R_M32C_HI8, R_M32C_HI16.
+ (m32c_reloc_map): Likewise.
+ (m32c_elf_relocate_section): Add R_M32C_HI8 and R_M32C_HI16.
+
+
+ * elf-bfd.h (_bfd_elf_large_com_section): New.
+ * elf.c (_bfd_elf_large_com_section): New. Defined.
+
+ * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New.
+ (elf64_x86_64_elf_section_from_bfd_section): New.
+ (elf64_x86_64_symbol_processing): New.
+ (elf64_x86_64_common_definition): New.
+ (elf64_x86_64_common_section_index): New.
+ (elf64_x86_64_common_section): New.
+ (elf64_x86_64_merge_symbol): New.
+ (elf64_x86_64_additional_program_headers): New.
+ (elf64_x86_64_special_sections): New.
+ (elf_backend_section_from_bfd_section): New. Defined.
+ (elf_backend_add_symbol_hook): Likewise.
+ (elf_backend_common_section_index): Likewise.
+ (elf_backend_common_section): Likewise.
+ (elf_backend_common_definition): Likewise.
+ (elf_backend_merge_symbol): Likewise.
+ (elf_backend_special_sections): Likewise.
+ (elf_backend_additional_program_headers): Likewise.
+
+
+ * elf-bfd.h (elf_backend_data): Add common_definition,
+ common_section_index, common_section, and merge_symbol.
+ (_bfd_elf_common_definition): New.
+ (_bfd_elf_common_section_index): New.
+ (_bfd_elf_common_section): New.
+
+ * elf.c (elf_fake_sections): Don't clear sh_flags.
+
+ * elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol
+ if it is available.
+ (is_global_data_symbol_definition): Call backend
+ common_definition instead of checking SHN_COMMON.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_output_extsym): Call backend common_section_index
+ for common section index.
+ (_bfd_elf_common_definition): New.
+ (_bfd_elf_common_section_index): New.
+ (_bfd_elf_common_section): New.
+
+ * elfxx-target.h (elf_backend_common_definition): New.
+ (elf_backend_common_section_index): New.
+ (elf_backend_common_section): New.
+ (elf_backend_merge_symbol): New.
+ (elfNN_bed): Initialize common_definition, common_section_index,
+ common_section, and merge_symbol.
+
+ * section.c (BFD_FAKE_SECTION): New.
+ (STD_SECTION): Use it.
+ * bfd-in2.h: Regenerated.
+
+
+ * elflink.c (elf_link_input_bfd): Add '\n' for linker einfo
+ callback.
+
+
+ * config.bfd: Remove i[3-7]86-*-rtemself*.
+ Remove sparc-*-rtemself*.
+
+
+ * elf32-m32r.c (m32r_elf_check_relocs): Fix pc count for
+ R_M32R_REL32.
+
+
+ * Makefile.am (BFD32_BACKENDS): Remove cf-m68klynx.lo.
+ (BFD32_BACKENDS): Likewise, remove m68klynx.lo.
+ (BFD32_BACKENDS_CFILES): Remove cf-m68klynx.c, m68klynx.c.
+ (cf-m68klynx.lo, m68klynx.lo): Remove targets.
+ * Makefile.in: Regenerate.
+ * cf-m68klynx.c: Remove.
+ * m68klynx.c: Likewise.
+ * configure.in (m68klynx_aout_vec): Remove vector.
+ (m68klynx_coff_vec): Likewise.
+ * configure: Regenerate.
+ * targets.c (m68klynx_aout_vec): Remove extern.
+ (m68klynx_coff_vec): Likewise.
+ (_bfd_target_vector): Remove m68klynx_{aout,coff}_vec.
+ * po/SRC-POTFILES.in: Remove cf-m68klynx.c, m68klynx.c.
+
+
+ * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_REL32.
+ (m32r_reloc_map): Likewise.
+ (m32r_elf_relocate_section): Likewise.
+ (m32r_elf_gc_sweep_hook): Likewise.
+ (m32r_elf_check_relocs): Likewise.
+
+
+ * reloc.c: Add M32C and MS1 relocs.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+
+ * config.bfd: Move m32c entry to correct location.
+ * archures.c: Likewise.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+ * targets.c: Move ms1 vector to correct location.
+
+
+ * elf32-i386.c (elf_howto_table): Adjust overflow complaint handler
+ for R_386_PC16.
+ * elf64-x86-64.c (x86_64_elf_howto_table): Adjust overflow complaint
+ handler for R_X86_64_PC16, R_X86_64_8, and R_X86_64_DTPOFF.
+
+
+ PR ld/1021
+ PR ld/1031
+ * elflink.c (elf_link_add_object_symbols): Also append the version
+ name to non-hidden absolute symbols that are functions.
+
+
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack
+ for zero size sections. Don't set .sbss syms here.
+ * elf32-ppc.h (ppc_elf_set_sdata_syms): Adjust prototype.
+
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+
+ * elf32-xtensa.c (vsprint_msg): Add prototype.
+ (build_encoding_error_message): Delete. Code moved into....
+ (elf_xtensa_do_reloc): ....here, and changed to give better
+ error messages for out of range literals.
+
+
+ * elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
+ (_bfd_elf_provide_symbol): Allow redefinition of weak syms and those
+ defined in output sections. Call bfd_elf_record_link_assignment.
+ * bfd-in.h (bfd_elf_record_link_assignment): Update prototype.
+ * bfd-in2.h: Regenerate.
+
+
+ Add support for m32c-*-elf (Renesas m32c and m16c).
+ * Makefile.am (ALL_MACHINES): Add cpu-m32c.lo.
+ (ALL_MACHINES_CFILES): Add cpu-m32c.c.
+ (BFD32_BACKENDS): Add elf32-m32c.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-m32c.c.
+ (cpu-m32c.lo, elf32-m32c.lo): New rules, generated by 'make dep-am'.
+ * Makefile.in: Regenerated.
+ * archures.c (bfd_arch_m32c, bfd_mach_m16c, bfd_mach_m32c): New
+ arch and mach codes.
+ (bfd_m32c_arch): New arch info object.
+ (bfd_archures_list): List bfd_m32c_arch.
+ * bfd-in2.h: Regenerated.
+ * config.bfd: Add case for the m32c.
+ * configure.in: Add case for the m32c.
+ * configure: Regenerated.
+ * cpu-m32c.c, elf32-m32c.c: New files.
+ * libbfd.h: Regenerated.
+ * targets.c (bfd_elf32_m32c_vec): Declare.
+ (_bfd_target_vector): List bfd_elf32_m32c_vec.
+
+
+ * bfd-in.h (_bfd_elf_fix_excluded_sec_syms): Declare.
+ (_bfd_elf_provide_section_bound_symbols): Remove param name.
+ Formatting.
+ * bfd-in2.h: Regenerate.
+ * elflink.c (bfd_elf_gc_sections): Don't call generic function.
+ (_bfd_elf_provide_symbol): Formatting.
+ (_bfd_elf_provide_section_bound_symbols): Remove all hacks, just
+ create section relative syms.
+ (fix_syms, _bfd_elf_fix_excluded_sec_syms): New functions.
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): Use
+ _bfd_elf_provide_section_bound_symbols.
+ * reloc.c (bfd_mark_used_section): Delete.
+ (bfd_generic_gc_sections): Don't call the above.
+
+
+ PR 1063
+ * cache.c (bfd_last_cache): Initialise to NULL.
+
+
+ * coff-alpha.c (alpha_ecoff_bad_format_hook): Detect compressed
+ Alpha binaries and issue a helpful error message.
+ (alpha_ecoff_swap_reloc_out): Increase maximum allowed internal
+ symbol index to 15 to allow for binaries produced by DEC
+ compilers.
+
+
+ * bfd.m4 (BFD_NEED_DECLARATION): Remove.
+
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub
+ when !can_plt_call.
+
+
+ * elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix.
+
+
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): Correct __sbss_start value.
+
+
+ * elflink.c (_bfd_elf_symbol_refs_local_p): Revert the last
+ change.
+
+
+ * dwarf2.c (read_address): Check sign_extend_vma to handle targets
+ where addresses are sign extended.
+
+
+ * config.bfd: Mark i960-*-rtems*, or32-*-rtems* as obsolete.
+ Mark a29k-*rtems*, hppa*-*-rtems*, *-go32-rtems*,
+ i[3-7]86*-*-rtemscoff*, mips*el-*-rtems*, powerpcle-*-rtems*,
+ sparc*-*-rtemsaout* as removed
+
+
+ * elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none
+ of the usual sections are found.
+ * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy.
+ Strip .dynbss if it is zero size.
+ * elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise.
+ * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and
+ .dynsbss.
+ (i370_elf_finish_dynamic_sections): Don't attempt to write .got
+ when it is zero size.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling
+ of .dynbss and zero size sections.
+ * elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if
+ it is zero size.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy. Strip
+ .dynbss if zero size.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss
+ too.
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+ * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy. Strip
+ .plt.* and .got.plt.* if zero size.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy. Strip
+ .got* and .dynbss if zero size.
+ * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy. Strip
+ * elf64-ppc.c (create_linkage_sections): Create branch lookup table
+ in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated
+ reloc section.
+ (create_got_section): Always create new .got and .rela.got sections.
+ (ppc64_elf_size_dynamic_sections): Tidy. Strip .dynbss if zero size.
+ * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle
+ dynamic bss sections correctly.
+ * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy.
+ * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy. Strip
+ .dynbss if zero size.
+
+
+ * elf32-xtensa.c: Include <stdarg.h> unconditionally, not only
+ when ANSI_PROTOTYPES is defined. Remove #ifdef logic.
+
+
+ * elf-bfd.h (elf_backend_data): Add special_sections.
+
+ * elf.c (_bfd_elf_get_sec_type_attr): Check special_sections
+ first.
+
+ * elf32-arm.c (elf_backend_get_sec_type_attr): Removed.
+ (elf_backend_special_sections): New. Defined.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * elfxx-mips.h: Likewise.
+
+ * elfxx-target.h (elf_backend_special_sections): New.
+ (elfNN_bed): Initialize special_sections.
+
+
+ * xtensa-modules.c: Update tables with Xtensa MMU features.
+
+
+ * elf32-xtensa.c (vsprint_msg): Add format attribute. Fix
+ format bugs.
+ * vms.h (_bfd_vms_debug): Add format attribute.
+ (_bfd_vms_debug, _bfd_hexdump): Fix typos.
+
+
+ PR 975
+ * elflink.c (_bfd_elf_symbol_refs_local_p): Only undefined
+ symbol with default visibility is local.
+
+
+ * config.bfd: Mark m68*-*-rtemscoff as obsolete.
+
+
+ * dwarf2.c (varinfo): Add addr.
+ (lookup_symbol_in_variable_table): Also check addr.
+ (scan_unit_for_symbols): Set addr for variable.
+ (comp_unit_find_line): Updated.
+
+
+ * coff-alpha.c (alpha_adjust_reloc_in): Issue an informative error
+ message if an unknown reloc is encountered.
+ (alpha_relocate_section): Likewise.
+
+ * ecoff.c (_bfd_ecoff_write_object_contents): Cope with a reloc
+ with a missing howto field.
+
+
+ * po/SRC-POTFILES.in: Add cpu-ms1.c, elf32-ms1.c, elf-vxworks.c,
+ elfxx-sparc.c.
+
+
+ * elf32-ppc.c (ppc_elf_vxworks_special_sections): Remove.
+ (ppc_elf_vxworks_get_sec_type_attr): New function.
+ (elf_backend_special_sections): Remove vxwords definition.
+ (elf_backend_get_sec_type_attr): Define for vxworks.
+
+
+ * elf64-ppc.c (ppc64_elf_info_to_howto): Fix typo.
+
+
+ * config.bfd: Add separate case for ppc-vxworks.
+ * configure: Regenerate.
+ * configure.in: Include elf-vxworks.lo on ppc targets.
+ * elf-vxworks.c (elf_vxworks_final_write_processing): Handle
+ .rela.plt.unloaded.
+ * elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h.
+ (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove.
+ (VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry,
+ ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE,
+ ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry,
+ VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS,
+ VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New.
+ (ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt,
+ is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size.
+ (ppc_elf_link_hash_table_create): Initialize hadtab plt fields.
+ (ppc_elf_create_got): Create .got.plt for VxWorks.
+ (ppc_elf_create_dynamic_sections): Create unloaded plt relocation
+ section for VxWorks.
+ (ppc_elf_select_plt_layout): Handle VxWorks plt format.
+ (allocate_got): VxWorks does not need a got header.
+ (allocate_dynrelocs): Handle VxWorks plt format.
+ (ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for
+ VxWorks. Handle VxWorks plt/got.
+ (ppc_elf_finish_dynamic_sections): Fill in VxWorks plt.
+ (ppc_elf_vxworks_special_sections): New.
+ (ppc_elf_vxworks_link_hash_table_create,
+ ppc_elf_vxworks_add_symbol_hook,
+ elf_i386_vxworks_link_output_symbol_hook,
+ ppc_elf_vxworks_final_write_processing): New functions.
+ * targets.c (bfd_elf32_powerpc_vxworks_vec): Declare.
+ (_bfd_target_vector): Use it.
+
+
+ * libbfd-in.h (struct artdata): Add extended_names_size field.
+ * libbfd.h: Rebuilt.
+ * coff-rs600.c (_bfd_xcoff_archive_p): Don't clear fields in freshly
+ allocated object by bfd_zalloc.
+ * coff64-rs6000.c (xcoff64_archive_p): Likewise.
+ * ecoff.c (_bfd_ecoff_archive_p): Likewise.
+ * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p): Likewise.
+ (get_extended_arelt_filename): Fail if index is bigger or equal to
+ extended_names_size.
+ (_bfd_generic_read_ar_hdr_mag): Don't set bfd_error_malformed_archive,
+ get_extended_arelt_filename already did that.
+ (_bfd_slurp_extended_name_table): Initialize extended_names_size field.
+ Allocate one extra byte and clear it, in case extended names table
+ is not terminated.
+
+ * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2, bfd_alloc2,
+ bfd_zalloc2): New prototypes.
+ * bfd-in.h (HALF_BFD_SIZE_TYPE): Define.
+ * libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): New functions.
+ * opncls.c (bfd_alloc2, bfd_zalloc2): New functions.
+ * elf.c (bfd_elf_get_elf_syms, setup_group, assign_section_numbers,
+ elf_map_symbols, map_sections_to_segments,
+ assign_file_positions_for_segments, copy_private_bfd_data,
+ swap_out_syms, _bfd_elf_slurp_version_tables): Use bfd_*alloc2
+ where appropriate.
+ * bfd-in2.h: Rebuilt.
+ * libbfd.h: Rebuilt.
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Don't crash on bogus
+ verdef or verneed section.
+ (_bfd_elf_slurp_version_tables): Handle corrupt verdef and/or
+ verneed sections gracefully.
+ * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto_ptr): Don't crash on
+ bogus relocation values.
+ * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
+ * elf64-s390.c (elf_s390_info_to_howto): Likewise.
+ * elf32-s390.c (elf_s390_info_to_howto): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_info_to_howto): Likewise.
+ * elfxx-ia64.c (lookup_howto): Likewise.
+
+ * elf.c (bfd_elf_get_str_section): Allocate an extra byte after
+ the end of strtab and clear it.
+ (elf_read): Remove.
+
* po/vi.po: New Vietnamese translation.
- * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
+ * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
Use bh_root, and hh.
(struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache.
(struct elf32_hppa_dyn_reloc_entry): Use hdh_next.