2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 50226f2e6505a7bd9272589cc890d6bef24049e6..6f211a9c1e93a600669559b351026e87fdd7eabf 100644 (file)
@@ -1,3 +1,404 @@
+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,
+       _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
+       _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
+       _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
+       bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
+       bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
+       bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
+       bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
+       struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
+       elf_sym_name_compare, elf_create_symbuf,
+       bfd_elf_match_symbols_in_sections,
+       _bfd_elf_match_sections_by_type): Move to here..
+       * elf.c: ..from here.
+
+2007-07-23  Richard Sandiford  <richard@codesourcery.com>
+
+       * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
+       of weakdef->root.type if weakdef has no regular definition.
+
+2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
+       small_data_overflow_reported.
+       (_bfd_mips_elf_link_hash_table_create): Initialize it.
+       (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
+       small-data section overflow.
+
+2007-07-19  Doug Kwan  <dougkwan@google.com>
+
+       PR binutils/4797
+       * dwarf2.c: (find_line) Do not dereference functionname_ptr if
+       do_line is true.
+
+2007-07-18  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
+       non-ELF sections.
+
+2007-07-18  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
+       vma and size for dynamic tags from the output sections.
+
+2007-07-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
+       * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
+       symbol.  Instead cache ELF section index.  Remove redundant
+       checks of st_shndx.
+
+2007-07-15  Mike Frysinger  <vapier@gentoo.org>
+
+       * trad-core.c (NBPG): If not defined, set to getpagesize().
+
+2007-07-13  Roland McGrath  <roland@redhat.com>
+
+       * elf-bfd.h (struct elf_obj_tdata): Revert last change.
+       Add after_write_object_contents, after_write_object_contents_info.
+       * elf.c (_bfd_elf_write_object_contents): Revert last change.
+       Instead, call after_write_object_contents if set.
+
+2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
+
+       * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
+       (BFD_HOSTPTR_T): Host pointer type for casting a
+       pointer to an integer type.
+       (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
+       (sprintf_vma, fprintf_vma): Add support for long long prints.
+       * bfd-in2.h: Regenerate.
+       * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
+       (BFD_HOSTPTR_T): Host pointer type for casting a
+       pointer to an integer type. Default is "unsigned long".
+       (AC_CHECK_SIZEOF(void *)): New.
+       (host64): Set it if the pointer size is 8.
+       * configure: Regenerate.
+       * config.in: Add macro SIZEOF_VOID_P.
+       * coffcode.h: Replace host ptr type assuming "long" with
+       bfd_hostptr_t type.
+       * coffgen.c: Likewise.
+       * elf-eh-frame.c: Likewise.
+       * peicode.h: Likewise.
+
+2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.in: Regenerated.
+
+2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/4756
+       * simple.c (bfd_simple_get_relocated_section_content): Don't
+       apply relocation on executable and shared library.
+
+2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
+       copy relocs on vxworks.
+
+2007-07-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
+       * elf64-alpha.c (alpha_elf_size_info): Likewise.
+       * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+       * elf64-mips.c (mips_elf64_size_info): Likewise.
+       * elf64-s390.c (s390_elf64_size_info): Likewise.
+       * elf64-sparc.c (elf64_sparc_size_info): Likewise.
+
+2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (bfd_elf_record_link_assignment): Handle indirect
+       symbol.
+       (_bfd_elf_merge_symbol): Properly update normal symbol when
+       overriding the versioned symbol from a dynamic library.
+
+2007-07-09  Roland McGrath  <roland@redhat.com>
+
+       * elf-bfd.h (struct elf_obj_tdata): Add members
+       emit_note_gnu_build_id and note_gnu_build_id_sec.
+       * elf.c (_bfd_id_note_section_size): New global function.
+       (read_hex, _bfd_elf_write_build_id_section): New static functions.
+       (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
+       if emit_note_gnu_build_id is set.
+       * Makefile.am (elf.lo): Update dependencies.
+
+       * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
+       (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
+       * elfcode.h (elf_checksum_contents): New macro and function.
+       (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
+
+2007-07-06  Michael Snyder  <msnyder@access-company.com>
+
+       * elflink.c (elf_link_add_object_symbols): Return via
+       error_free_vers on "notice" failure.
+
+2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
+       if arch is unknown.
+
+2007-07-04  Nick Clifton  <nickc@redhat.com>
+
+       Import this patch from an internal tree:
+
+       2001-07-17  Richard Henderson  <rth@redhat.com>
+
+       * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
+       compensate for high bit set in R_MEP_LOW16.
+
+2007-07-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
+       input attributes if value has been copied.
+
 2007-07-03  Nick Clifton  <nickc@redhat.com>
 
        * COPYING: Replace with GPLv3 text.
        (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).
 
This page took 0.033948 seconds and 4 git commands to generate.