+2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/4909
+ * elf.c (print_segment_map): New function.
+ (assign_file_positions_for_load_sections): Call print_segment_map
+ when a section can't be allocated in segment.
+
+2007-08-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
+
+2007-08-07 Nick Clifton <nickc@redhat.com>
+
+ * po/bfd.pot: Updated template.
+ * po/BLD-POTFILES.in: Regenerate.
+
+2007-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
+ bss segments.
+
+2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
+ * Makefile.in: Regenerated.
+
+2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * configure.in: Update version to 2.18.50.
+ * configure: Regenerated.
+
+2007-08-06 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_link_hash_entry): Add
+ plt_maybe_thumb_refcount.
+ (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
+ (elf32_arm_copy_indirect_symbol): Ditto.
+ (elf32_arm_adjust_dynamic_symbol): Ditto.
+ (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
+ (arm_add_to_rel): Ditto.
+ (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
+ R_ARM_THM_CALL. Handle R_ARM_THM_JUMP19 against a PLT stub.
+ (elf32_arm_gc_sweep_hook): Call check_use_blx. Update plt counts
+ for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
+ (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
+ and R_ARM_THM_JUMP19.
+ (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
+ (elf32_arm_finish_dynamic_symbol): Ditto.
+ (elf32_arm_output_plt_map): Ditto.
+
+2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf.c (rewrite_elf_program_header): Handle sections not sorted
+ by address.
+ (copy_elf_program_header): Likewise.
+
+2007-08-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (xvec_get_elf_backend_data): Add const.
+
+ * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
+ * elfcore.h (elf_core_file_p): Likewise.
+
+2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * coffcode.h (ALIGN_SET): Removed.
+ (ELIFALIGN_SET): Likewise.
+ (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
+ IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
+ IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
+ IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
+
+2007-08-01 Michael Snyder <msnyder@access-company.com>
+
+ * vms-tir.c (new_section): Fix cut and paste error.
+
+ * aoutx.h (aout_link_add_symbols): Return if count is zero.
+
+ * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
+ pointer must be non-null.
+
+2007-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * coffcode.h (coff_sort_func_alent): New function.
+ (coff_slurp_line_table): Sort line table if not already sorted.
+
+2007-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
+ GCC 3.4.x warning.
+
+2007-08-01 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
+ r_type.
+ (swap_std_reloc_in): Likewise.
+ (aout_link_input_section_std): Likewise. Return with an error
+ on unexpected relocation type.
+ (aout_link_input_section_ext): Likewise.
+
+2007-08-01 Alan Modra <amodra@bigpond.net.au>
+
+ PR4694
+ * aoutx.h (final_link): Write a zero in first word of
+ stringtab if no symbols rather than corrupting last byte
+ of text/data.
+
+2007-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (get_program_header_size): Adjacent loadable .note*
+ sections need just one PT_NOTE segment.
+ (_bfd_elf_map_sections_to_segments): Likewise.
+
+2007-07-30 Michael Snyder <msnyder@access-company.com>
+
+ * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
+ 2007-07-26. Buffer still in use, can't be freed.
+
+2007-07-27 Michael Snyder <msnyder@access-company.com>
+
+ * cofflink.c (coff_link_add_symbols): Return if count is zero.
+
+ * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
+
+ * aoutx.h (slurp_symbol_table): Return if count == 0.
+
+ * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
+
+ * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
+
+2007-07-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
+
+2007-07-26 Michael Snyder <msnyder@access-company.com>
+
+ * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
+
+ * linker.c (bfd_section_already_linked_table_insert): Change
+ return type from void to boolean. Return FALSE on failure.
+ (_bfd_generic_section_already_linked): Test return value of
+ bfd_section_already_linked_table_insert, call fatal on error.
+
+ * elflink.c (_bfd_elf_section_already_linked): Test return value
+ of bfd_section_already_linked_table_insert, call fatal on error.
+
+ * libbfd-in.h (bfd_section_already_linked_table_insert): Update
+ return type to bfd_boolean.
+
+ * libbfd.h: Regenerate.
+
+2007-07-26 Adam Nemet <anemet@caviumnetworks.com>
+
+ * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
+ bfd_slurp_armap): Improve function comment.
+
+2007-07-26 Michael Snyder <msnyder@access-company.com>
+
+ * linker.c (already_linked_newfunc): Check for NULL return from
+ bfd_hash_allocate.
+
+ * coffgen.c (fixup_symbol_value): Guard against null;
+ bfd_is_com_section will dereference the section pointer.
+
+ * syms.c (bfd_decode_symclass): Guard against NULL, since
+ bfd_is_com_section dereferences the pointer.
+
+ * srec.c (srec_scan): Check for EOF (critical because return value
+ will be used as array index).
+
+ * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
+ are not to be cached, free the temporary buffer.
+
+ * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
+ or count == zero.
+
+ * tekhex.c (first_phase): Check return value for null.
+
+ * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
+ pointer increment.
+
+2007-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
+ check on dynobj. Remove bed shadow.
+
+ * srec.c (srec_get_section_contents): Return immediately on
+ count zero. Check that offset and count are within section.
+ * libbfd.c (_bfd_generic_get_section_contents): Check that
+ offset + count does not overflow.
+
+ * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
+ is zero. Correct return value on error.
+ * mmo.c (mmo_canonicalize_symtab): Likewise.
+ * binary.c (binary_canonicalize_symtab) Correct return on error.
+
+2007-07-26 Thiemo Seufer <ths@mips.com>
+
+ * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
+
+2007-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
+ bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
+ says there are no relocs.
+
+2007-07-26 Doug Kwan <dougkwan@google.com>
+
+ Speed up bfd_dwarf2_find_line.
+ * dwarf2.c (struct dwarf2_debug): Add new fields to support function
+ and variable info hash tables. Add last_comp_unit, info_hash_count,
+ funcinfo_hash_table, varinfo_hash_table, hash_units_head.
+ (struct comp_unit): Add prev_unit, cached.
+ (struct info_list_node, struct info_hash_entry,
+ struct info_hash_table): New.
+ (info_hash_table_newfunc, create_info_hash_table,
+ insert_info_hash_table, lookup_info_hash_table): New functions
+ implementing function and variable info hash tables.
+ (scan_unit_for_symbols): Add checks to make sure hash tables are
+ consistent with compilation units.
+ (comp_unit_maybe_decode_line_info): New function.
+ (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
+ (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
+ info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
+ stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
+ stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
+ functions. Make use of info hash tables to speed up
+ bfd_dwarf2_find_line.
+ (find_line): Use hash table for faster lookup if it is turned on.
+ Also add code to maintain bi-directional link in comp units.
+
+2007-07-25 Michael Snyder <msnyder@access-company.com>
+
+ * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
+ if size == 0; return and avoid possible null pointer issues.
+
+2007-07-25 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (generic_link_add_symbol_list): Warning fix.
+
+2007-07-24 Michael Snyder <msnyder@access-company.com>
+
+ * opncls.c (bfd_make_writable): Check return from bfd_malloc.
+
+ * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
+ on bfd_malloc error rather than goto error_return.
+
2007-07-24 Alan Modra <amodra@bigpond.net.au>
* elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
(elf32_arm_final_link_relocate): Turn call to undefined symbol
into a jump to the next instruction.
-2007-06-29 Michael Snyder <msnyder@svkmacdonelllnx>
+2007-06-29 Michael Snyder <msnyder@access-company.com>
* bfd.c (bfd_demangle): Plug memory leak (Coverity).