X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=d435e77d22dec3e80571c198a59092ceb79305e7;hb=814b5378b4c88c3d9af3f0a38c4d15a03cae4bbf;hp=81848c0631b4c3e62bc32b46845bc913a6f4232d;hpb=f137a54e7af023b5a81c138f1ff7b0619883e807;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 81848c0631..d435e77d22 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,699 @@ +2007-07-26 Michael Snyder + + * 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 + error_free_vers on "notice" failure. + +2007-07-04 H.J. Lu + + * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target + if arch is unknown. + +2007-07-04 Nick Clifton + + Import this patch from an internal tree: + + 2001-07-17 Richard Henderson + + * 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 + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from + input attributes if value has been copied. + +2007-07-03 Nick Clifton + + * COPYING: Replace with GPLv3 text. + * aix386-core.c: Update copyright notice to refer to GPLv3. + * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c, + aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c, + aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c, + archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c, + binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c, + cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c, + coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c, + coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c, + coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c, + coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c, + coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, + coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c, + coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c, + coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c, + cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c, + cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c, + cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c, + cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c, + cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c, + cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c, + cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c, + cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c, + cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, + cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c, + cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c, + cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c, + cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c, + demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, + ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c, + elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c, + elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c, + elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c, + elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c, + elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c, + elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c, + elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c, + elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, + elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c, + elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c, + elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c, + elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c, + elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h, + elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c, + elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c, + elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c, + elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c, + elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h, + elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c, + elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c, + elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h, + elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c, + epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h, + hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c, + hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c, + i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c, + i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c, + libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h, + libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h, + linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c, + m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c, + mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h, + newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c, + nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h, + ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c, + pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h, + pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h, + pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c, + pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, + pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c, + reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, + simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c, + srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c, + sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h, + trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, + vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c, + xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c, + xtensa-modules.c: Likewise. + * elf32-sh-relocs.h: Add copyright notice. + * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h, + hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h, + hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h, + hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h, + hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h, + hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h, + hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h, + hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise. + * bfd-in2.h, libbfd.h, libcoff.h: Regenerate. + +2007-07-02 Joseph Myers + + * elfxx-mips.c (mips_elf_calculate_relocation): Handle + R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64. + * elf64-mips.c (mips_elf64_howto_table_rela): Support + R_MIPS_TLS_DTPREL64. + +2007-07-02 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2007-07-02 Alan Modra + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy + symsec != NULL tests. + +2007-07-02 Alan Modra + + PR 4712 + * elf.c (assign_file_positions_for_load_sections): Adjust lma + by p_vaddr_offset. + +2007-06-30 H.J. Lu + + * aclocal.m4: Regenerated. + * Makefile.in: Likewise. + +2007-06-29 Joseph Myers + + * elf32-ppc.c (ppc_elf_merge_obj_attributes): New. + (ppc_elf_merge_private_bfd_data): Call it. + +2007-06-29 Joseph Myers + + * elfxx-mips.c (mips_elf_merge_obj_attributes): New. + (_bfd_mips_elf_merge_private_bfd_data): Call it. + +2007-06-29 Joseph Myers + + * elf-attrs.c: New. + * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo. + (BFD32_BACKENDS_CFILES): Add elf-attrs.c. + (elf-attrs.lo): Generate dependencies. + * Makefile.in: Regenerate. + * configure.in (elf): Add elf-attrs.lo. + * configure: Regenerate. + * elf-bfd.h (struct elf_backend_data): Add entries for object + attributes. + (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list, + OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST, + Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): + New. + (struct elf_obj_tdata): Add entries for object attributes. + (elf_known_obj_attributes, elf_other_obj_attributes, + elf_known_obj_attributes_proc, elf_other_obj_attributes_proc): + New. + (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents, + bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int, + bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string, + bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat, + bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup, + _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type, + _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New. + * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes. + (bfd_section_from_shdr): Handle attributes sections. + * elflink.c (bfd_elf_final_link): Handle attributes sections. + * elfxx-target.h (elf_backend_obj_attrs_vendor, + elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, + elf_backend_obj_attrs_section_type): New. + (elfNN_bed): Update. + * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute, + aeabi_attribute_list): Remove. + (struct elf32_arm_obj_tdata): Remove object attributes fields. + (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2, + elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes): + Update for new object attributes interfaces. + (uleb128_size, is_default_attr, eabi_attr_size, + elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, + elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, + elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int, + elf32_arm_add_eabi_attr_int, attr_strdup, + elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, + copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved + to generic code in elf-attrs.c. + (elf32_arm_obj_attrs_arg_type): New. + (elf32_arm_fake_sections): Do not handle .ARM.attributes. + (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES. + (bfd_elf32_bfd_final_link): Remove. + (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, + elf_backend_obj_attrs_arg_type, + elf_backend_obj_attrs_section_type): New. + * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object + attributes. + * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise. + * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise. + * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise. + * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise. + * elf32-sh.c (sh_elf_copy_private_data): Likewise. + * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. + +2007-06-29 Paul Brook + + * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress + call veneers for call relocations against undefined symbols. + (elf32_arm_final_link_relocate): Turn call to undefined symbol + into a jump to the next instruction. + +2007-06-29 Michael Snyder + + * bfd.c (bfd_demangle): Plug memory leak (Coverity). + +2007-06-29 M R Swami Reddy + + * Makefile.am: Add cr16 related entry + * Makefile.in: Regenerate + * archures.c: Add bfd_cr16_arch + * bfd-in2.h: Regenerate + * config.bfd: Add cr16-elf + * configure.in: Add bfd_elf32_cr16_vec + * configure: Regenerate. + * targets.c: Added cr16 related information + * cpu-cr16.c: New file. + * elf32-cr16.c: New file. + * reloc.c: Added cr16 relocs. + +2007-06-29 Alan Modra + + * elflink.c (_bfd_elf_link_assign_sym_version): Improve error + message for undefined version nodes. + (elf_gc_sweep): Don't warn when zero size sections are + removed. + +2007-06-29 Nathan Froyd + + * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation + types. + +2007-06-29 Alan Modra + + * elf32-spu.c (spu_elf_fake_sections): New function. + (elf_backend_fake_sections): Define. + +2007-06-29 Alan Modra + + * elf.c (assign_file_positions_for_load_sections): Use elf + section header sh_size rather than bfd section size, simplifying + .tbss handling. + +2007-06-29 Alan Modra + + PR ld/4701 + * elf.c (assign_file_positions_for_load_sections): Ensure bss + segments meet gABI alignment requirements. Don't allocate + file space for bss sections in a segment also containing file + or program headers. + +2007-06-27 Alan Modra + + * bfd.c (struct bfd): Rename "next" to "archive_next". + * archive.c: Rename uses throughout file. + * archive64.c: Likewise. + * coff-rs6000.c: Likewise. + * ecoff.c: Likewise. + * som.c: Likewise. + * bfd-in2.h: Regenerate. + + * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over + input bfds. + * elf32-spu.c (spu_elf_create_sections): Likewise. + +2007-06-26 H.J. Lu + + * dwarf2.c (find_line): New. Contains the duplicated code from: + (_bfd_dwarf2_find_nearest_line): Use it. + (_bfd_dwarf2_find_line): Use it. + +2007-06-26 Joseph Myers + + * elf32-arm.c (copy_eabi_attributes): Copy type of attributes. + +2007-06-25 Richard Sandiford + + * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs + to be used for calls from MIPS16 code. + +2007-06-23 Andreas Schwab + + * configure.in (--with-separate-debug-dir): New option. + * configure: Regenerate. + * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR. + * Makefile.in: Regenerate. + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to + bfd_follow_gnu_debuglink. + (_bfd_dwarf2_find_line): Likewise. + +2007-06-22 Nick Clifton + + * dwarf2.c: Add support for reading in debug information via a + .gnu_debuglink section: + (struct dwarf2_debug): Add bfd field to record the bfd containing + the debug info. + (parse_comp_unit): Remove ABFD parameter. Instead use the bfd + field in the dwarf2_debug structure. + (_bfd_dwarf2_find_nearest_line): If a debug info section could not + be found in the current bfd call bfd_follow_gnu_debuglink to see + if another file contains the debug information. If it does, open + it and continue. + (_bfd_dwarf2_find_line): Likewise. + +2007-06-19 H.J. Lu + + PR ld/4590 + * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset + when removing duplicated entries. + (get_dyn_sym_info): Initialize the got_offset field to -1. + Update call to sort_dyn_sym_info. + (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort + array of addend and remove duplicates. + +2007-06-18 H.J. Lu + + * libpei.h (_bfd_XXi_final_link_postscript): Remove + duplication. + (bfd_target_pei_p): New. + (bfd_target_pei_arch): New + (bfd_target_efi_p): Likewise. + (bfd_target_efi_arch): New + (bfd_pe_executable_p): Use bfd_target_pei_p and + bfd_target_efi_p. + + * peicode.h (arch_type): New enum. + (pe_arch): New function. + (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file + if there is an EFI/PE target. + +2007-06-14 H.J. Lu + + * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config. + + * acinclude.m4: Don't include m4 files. Remove libtool + kludge. + + * Makefile.in: Regenerated. + * aclocal.m4: Likewise. + * configure: Likewise. + +2007-06-11 Sterling Augustine + Bob Wilson + + * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed + XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM. + (extend_ebb_bounds_backward, compute_text_actions): Likewise. + (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise. + (xtensa_get_property_predef_flags): Likewise. + (compute_removed_literals): Pass new arguments to is_removable_literal. + (is_removable_literal): Add sec, prop_table and ptblsize arguments. + Do not remove literal if the NO_TRANSFORM property flag is set. + +2007-05-31 Richard Sandiford + + * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a + type (3) single-GOT entry, read tls_type from the hash table entry + rather than the GOT entry. + +2007-06-01 Alan Modra + + * simple.c (bfd_simple_get_relocated_section_contents): Init + input_bfds_tail. + +2007-05-30 Alan Modra + + * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections + created by objcopy --only-keep-debug. + (_bfd_elf_init_private_section_data): Only change elf_section_type + if it is SHT_NULL. + + * elf.c (assign_file_positions_for_load_sections): Correct sh_type + to SHT_NOBITS earlier. Base actions in rest of function on sh_type + and sh_flags instead of bfd section flags. Delete voff and code + keeping nobits segments aligned. + +2007-05-25 Eric Christopher + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): + Check that sym_sec isn't NULL before accessing. + +2007-05-24 Steve Ellcey + + * Makefile.in: Regnerate. + * configure: Regenerate. + * aclocal.m4: Regenerate. + * doc/Makefile.in: Regenerate. + +2007-05-22 Paul Brook + + * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset + with sec and sec_shndx. + (elf32_arm_ouput_plt_map_sym): Use them. + (elf32_arm_output_arch_local_syms): Output mapping symbols for + interworking glue. + +2007-05-18 Paul Brook + + * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define. + (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New. + (record_arm_to_thumb_glue): Add v5t non-pic glue. + (elf32_arm_create_thumb_stub): Ditto. + +2007-05-16 H.J. Lu + Alan Modra + + * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss + section to the minimum alignment. + +2007-05-15 H.J. Lu + Alan Modra + + PR ld/4504 + * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New. + * elflink.c (_bfd_elf_adjust_dynamic_copy): New. + + * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call + _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic + bss section. + * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. + * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. + * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. + * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. + * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. + * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. + * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. + * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise. + * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. + +2007-05-15 Richard Sandiford + + * elfxx-mips.c (mips_elf_create_local_got_entry): Remove + input_section argument. Create .rela.dyn relocations against + symbol 0 rather than the section symbol. + (mips_elf_local_got_index): Remove input_section argument. + Update call to mips_elf_create_local_got_entry. + (mips_elf_got_page, mips_elf_got16_entry): Likewise. + (mips_elf_calculate_relocation): Update calls to + mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page. + +2007-05-15 Mark Shinwell + + * elf32-arm.c (elf32_arm_final_link_relocate): Correctly + handle the Thumb-2 JUMP19 relocation. + +2007-05-15 Alan Modra + + PR 4479 + * elf.c (elf_fake_sections): Don't allow backend to change + SHT_NOBITS if called for strip/objcopy --only-keep-debug. + * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar + fix from here. + +2007-05-14 Alan Modra + + * elf.c (bfd_elf_string_from_elf_section): Return NULL on + invalid shstrndx. + (bfd_elf_get_str_section): Likewise. + 2007-05-12 Alan Modra PR 4497 @@ -184,7 +880,7 @@ * elf32-xtensa.c (xtensa_read_table_entries): Step through table contents and relocs in parallel. - + 2007-04-27 Bob Wilson * elf32-xtensa.c (relax_property_section): Remove extra irel increment. @@ -330,12 +1026,12 @@ duplicating section name comparisons. (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.". (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section. - + 2007-04-12 Bob Wilson - + * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references from Xtensa property sections. - + 2007-04-12 Alan Modra * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data @@ -352,7 +1048,7 @@ (elf64_alpha_size_got_sections): Remove unused something_changed local. (elf64_alpha_size_plt_section): Return void. (elf64_alpha_size_rela_got_section): Likewise. - (elf64_alpha_relax_section): Only regenerate got+plt if the + (elf64_alpha_relax_section): Only regenerate got+plt if the relax_trip counter has changed. 2007-04-09 Daniel Jacobowitz @@ -364,7 +1060,7 @@ 2007-04-03 Matt Thomas - * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc + * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc in a shared object if it is not in a CODE section or if it is against a section symbol. This allows DWARF2 to use pcrel format.