X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=6f211a9c1e93a600669559b351026e87fdd7eabf;hb=6d33f2176c63496fc73634c8971aef1cd4f99d20;hp=be0ad302441b50e5c53a302b657d5b1574d40b45;hpb=9af2a943ee03e8ecd2d87d13321cd83959f76cb6;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index be0ad30244..6f211a9c1e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,380 @@ +2007-08-09 H.J. Lu + + 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 + + * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion. + +2007-08-07 Nick Clifton + + * po/bfd.pot: Updated template. + * po/BLD-POTFILES.in: Regenerate. + +2007-08-07 Alan Modra + + * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle + bss segments. + +2007-08-06 Daniel Jacobowitz + + * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h. + * Makefile.in: Regenerated. + +2007-08-06 Daniel Jacobowitz + + * configure.in: Update version to 2.18.50. + * configure: Regenerated. + +2007-08-06 Paul Brook + + * 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 + + * elf.c (rewrite_elf_program_header): Handle sections not sorted + by address. + (copy_elf_program_header): Likewise. + +2007-08-04 H.J. Lu + + * 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 + + * 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 + + * 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 + + * coffcode.h (coff_sort_func_alent): New function. + (coff_slurp_line_table): Sort line table if not already sorted. + +2007-08-01 Jakub Jelinek + + * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy + GCC 3.4.x warning. + +2007-08-01 Alan Modra + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec. + +2007-07-26 Michael Snyder + + * 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 + + * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap, + bfd_slurp_armap): Improve function comment. + +2007-07-26 Michael Snyder + + * 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 + + * 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 + + * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL. + +2007-07-26 Alan Modra + + * 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 + + 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 + + * 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 + + * linker.c (generic_link_add_symbol_list): Warning fix. + +2007-07-24 Michael Snyder + + * 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 + + * 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 + + * 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 + + * 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) : Report + small-data section overflow. + +2007-07-19 Doug Kwan + + PR binutils/4797 + * dwarf2.c: (find_line) Do not dereference functionname_ptr if + do_line is true. + +2007-07-18 Bob Wilson + + * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore + non-ELF sections. + +2007-07-18 Bob Wilson + + * 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 + + * 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 + + * trad-core.c (NBPG): If not defined, set to getpagesize(). + +2007-07-13 Roland McGrath + + * 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 + + * 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 + + * Makefile.in: Regenerated. + +2007-07-10 H.J. Lu + + 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 + + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate + copy relocs on vxworks. + +2007-07-10 Alan Modra + + * 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 + + * 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 + + * 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 * elflink.c (elf_link_add_object_symbols): Return via @@ -226,7 +603,7 @@ (elf32_arm_final_link_relocate): Turn call to undefined symbol into a jump to the next instruction. -2007-06-29 Michael Snyder +2007-06-29 Michael Snyder * bfd.c (bfd_demangle): Plug memory leak (Coverity).