+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd.c (bfd): Remove section_tail and add section_last.
+ (bfd_preserve): Likewise.
+ (bfd_preserve_save): Likewise.
+ (bfd_preserve_restore): Likewise.
+ * opncls.c (_bfd_new_bfd): Likewise.
+
+ * coffcode.h (coff_compute_section_file_positions): Updated.
+ (coff_compute_section_file_positions): Likewise.
+ * elf.c (assign_section_numbers): Likewise.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elf64-mmix.c (mmix_elf_final_link): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_object_p): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
+ * sunos.c (sunos_add_dynamic_symbols): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+
+ * ecoff.c (bfd_debug_section): Initialize prev.
+
+ * section.c (bfd_section): Add prev.
+ (bfd_section_list_remove): Updated.
+ (bfd_section_list_append): New.
+ (bfd_section_list_insert_after): New.
+ (bfd_section_list_insert_before): New.
+ (bfd_section_list_insert): Removed.
+ (bfd_section_removed_from_list): Updated.
+ (STD_SECTION): Initialize prev.
+ (bfd_section_init): Updated.
+ (bfd_section_list_clear): Updated.
+
+ * bfd-in2.h: Regenerated.
+
+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_new_section_hook): Don't call
+ _bfd_elf_get_sec_type_attr on sections from input files.
+
+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * merge.c (sec_merge_init): Call bfd_hash_table_init_n with
+ hash table size 16699 instead of bfd_hash_table_init.
+
+2005-05-01 Paul Brook <paul@codesourcery.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
+ definition has already been seen.
+
+2005-05-01 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
+ R_ARM_PLT32 the same as R_ARM_PC24.
+ (arm_add_to_rel): Ditto.
+
+2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.bfd: Add h8300*-*-rtemscoff.
+ Switch h8300*-*-rtems* to elf.
+
+2005-04-28 Paul Brook <paul@codesourcery.com>
+
+ Merge changes only applied to Makefile.in.
+ * Makefile.am (BFD32_BACKENDS): Add elfxx-sparc.lo
+ (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
+ (elfxx-sparc.lo): New rule.
+ (elf32-sparc.lo): Add elfxx-sparc.h dependency.
+ (elf64-sparc.lo): Likewise.
+
+2005-04-28 Julian Brown <julian@codesourcery.com>
+
+ * elflink.c (_bfd_elf_provide_symbol): Provide symbol for weak
+ import.
+
+2005-04-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (bfd_elf_sym_name): Also take "asection *".
+
+ * elf.c (bfd_elf_sym_name): Updated.
+ (group_signature): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
+ (ppc64_elf_edit_toc): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elflink.c (elf_link_input_bfd): Likewise.
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Call
+ bfd_elf_sym_name to get local symbol name when reporting errors.
+
+2005-04-27 Nick Clifton <nickc@redhat.com>
+
+ * elflink.c (elf_link_input_bfd): Handle the case where a badly
+ formatted input file results in a reloc which has no associated
+ global symbol.
+
+2005-04-26 Jerome Guitton <guitton@gnat.com>
+
+ * bfd.m4 (BFD_NEED_DECLARATION): Restore.
+
+2005-04-25 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
+ (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol,
+ sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections):
+ Likewise.
+
+2005-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 858
+ * elflink.c (elf_link_input_bfd): Make non-debugging reference
+ to discarded section an error.
+
+2005-04-21 Jerome Guitton <guitton@gnat.com>
+
+ * configure.in: Replace BFD_NEED_DECLARATION checks by the
+ corresponding AC_CHECK_DECLS.
+ * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding
+ HAVE_DECL_*.
+ * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete.
+ * configure: Regenerate.
+ * config.in: Ditto.
+
+2005-04-21 Andreas Schwab <schwab@suse.de>
+
+ * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove
+ unsigned from type of dynamic_interpreter.
+ * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove
+ casts again.
+
+ * elf.c (assign_section_numbers): Fix comment.
+
+2005-04-21 Jerome Guitton <guitton@gnat.com>
+
+ * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long
+ for struct som_exec_auxhdr fields.
+
+2005-04-21 Nick Clifton <nickc@redhat.com>
+
+ * aout-adobe.c: Convert to ISO C and fix formatting.
+ * aout-arm.c: Convert to ISO C and fix formatting.
+ * aout-cris.c: Convert to ISO C and fix formatting.
+ * aout-ns32k.c: Convert to ISO C and fix formatting.
+ * aout-tic30.c: Convert to ISO C and fix formatting.
+ * coffcode.h: Convert to ISO C and fix formatting.
+ * coffswap.h: Convert to ISO C and fix formatting.
+ * i386aout.c: Convert to ISO C and fix formatting.
+ * libaout.h: Convert to ISO C and fix formatting.
+ * libcoff-in.h: Convert to ISO C and fix formatting.
+ * libcoff.h: Convert to ISO C and fix formatting.
+ * libecoff.h: Convert to ISO C and fix formatting.
+ * libnlm.h: Convert to ISO C and fix formatting.
+ * libpei.h: Convert to ISO C and fix formatting.
+ * libxcoff.h: Convert to ISO C and fix formatting.
+ * nlm-target.h: Convert to ISO C and fix formatting.
+ * nlm.c: Convert to ISO C and fix formatting.
+ * nlm32-alpha.c: Convert to ISO C and fix formatting.
+ * nlm32-i386.c: Convert to ISO C and fix formatting.
+ * nlm32-ppc.c: Convert to ISO C and fix formatting.
+ * nlm32-sparc.c: Convert to ISO C and fix formatting.
+ * nlmcode.h: Convert to ISO C and fix formatting.
+ * nlmswap.h: Convert to ISO C and fix formatting.
+ * pe-mips.c: Convert to ISO C and fix formatting.
+ * peXXigen.c: Convert to ISO C and fix formatting.
+ * peicode.h: Convert to ISO C and fix formatting.
+ * vms-gsd.c: Convert to ISO C and fix formatting.
+ * vms-hdr.c: Convert to ISO C and fix formatting.
+ * vms-misc.c: Convert to ISO C and fix formatting.
+ * vms-tir.c: Convert to ISO C and fix formatting.
+ * vms.c: Convert to ISO C and fix formatting.
+ * vms.h: Convert to ISO C and fix formatting.
+
+ * coffgen.c (coff_print_symbol): Restore correct formatting of
+ output.
+
+2005-04-20 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning.
+ (_bfd_sparc_elf_link_hash_table_create): Likewise.
+ (allocate_dynrelocs): Likewise.
+
+2005-04-20 Jerome Guitton <guitton@gnat.com>
+
+ * configure.in: Fix the check for basename declaration. Add check
+ for declarations of ftello, ftello64, fseeko, fseeko64.
+ * configure: Regenerate.
+ * config.in: Ditto.
+ * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64.
+
+2005-04-19 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c: New file.
+ * elfxx-sparc.h: New file.
+ * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo
+ (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
+ (elfxx-sparc.lo): New rule.
+ (elf32-sparc.lo): Add elfxx-sparc.h dependency.
+ (elf64-sparc.lo): Likewise.
+ * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo
+ (bfd_elf64_sparc_vec): Likewise.
+ * configure: Regenerate.
+ * elf32-sparc.c: Remove common code now in elfxx-sparc.c
+ * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming
+ which is more consistent with elf32-sparc.c
+
+2005-04-19 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment.
+ (mips_elf_create_local_got_entry): Check h->root.forced_local.
+
+2005-04-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with
+ dynamic relocs in non-SEC_ALLOC sections.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (ppc_elf_relax_section): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+
+2005-04-18 Nick Clifton <nickc@redhat.com>
+
+ * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning
+ assigning a value to return_value.
+
+2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 855
+ * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
+ created group data.
+
+2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 855
+ * elf.c (setup_group): Properly handle zero group count.
+
+2005-04-17 Mark Kettenis <kettenis@gnu.org>
+
+ * som.c (hppa_som_reloc, som_mkobject, som_is_space)
+ (som_is_subspace, compare_subspaces, som_compute_checksum)
+ (som_build_and_write_symbol_table, som_slurp_symbol_table): New
+ protoypes.
+ (hppa_som_reloc, compare_syms, compare_subspaces)
+ (som_print_symbol, som_get_section_contents)
+ (som_set_section_contents): Remove space after 'void *'.
+ (som_bfd_print_private_bfd_data): Use %lx to print longs.
+ (som_bfd_merge_private_bfd_data)
+ (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New
+ defines.
+
+2004-04-15 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
+ (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
+ (bfd_elf32_arm_set_target_relocs): Handle use_blx.
+ (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
+ relocations if requested to.
+ (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
+ use_blx rather than symbian_p.
+ (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
+ use_blx is in effect.
+ (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
+ for SymbianOS.
+
+2005-04-15 Nick Clifton <nickc@redhat.com>
+
+ * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma
+ values.
+
+2005-04-15 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/815
+ * elflink.c (elf_smash_syms): Clear undef.next if it's not being
+ used as a list pointer.
+
+2005-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (NO_WERROR): Define.
+ * warning.m4: New file
+ * acinclude.m4: Include warning.m4.
+ * configure.in: Invoke AM_BINUTILS_WARNINGS.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2005-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.
+ Write trailing padding.
+
+ * merge.c (merge_strings): Round up section size for alignment.
+
+2005-04-14 David S. Miller <davem@davemloft.net>
+
+ Add TLS support for 64-bit Sparc ELF.
+ * elf64-sparc.c (sparc64_elf_dyn_relocs,
+ sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
+ (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
+ sparc64_elf_hash_entry, sparc64_elf_tdata,
+ sparc64_elf_local_got_tls_type): New defines.
+ (sparc64_elf_mkobject): New function.
+ (sparc64_elf_link_hash_table): Add members for dynamic linker
+ sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
+ uion to track TLS GOT references. Add sym_sec to cache
+ mappings from local sym to section.
+ (link_hash_newfunc): New function.
+ (sparc64_elf_bfd_link_hash_table_create): Rename to
+ sparc64_elf_link_hash_table_create for consistency.
+ Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
+ (sparc64_elf_create_dynamic_sections): Initialize new section
+ members of sparc64_elf_link_hash_table. Only init srelbss
+ if not-shared.
+ (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
+ New functions.
+ (SPARC_NOP): Define.
+ (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
+ sparc64_elf_plt_ptr_offset): Delete.
+ (sparc64_plt_entry_build): New function to build PLT entries
+ gradually instread of all at once at the end of linking.
+ (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
+ local vars. Get them from sparc64_elf_hash_table instead.
+ Check early on if r_symndx is in bounds. Handle TLS transitions.
+ Account for TLS GOT references and DF_STATIC_TLS, as needed.
+ For TLS relocs, record the tls_type in either
+ sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
+ appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
+ to the __tls_get_addr symbol. For PLT relocs, track references
+ via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
+ PC_LM22} and h not-NULL, set h->non_got_ref. For global data
+ symbol references, count the number of relocations needed for
+ that symbol. For default switch case, don't error, this lets
+ the TLS relocs not explicitly handled by this function get
+ accepted.
+ (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
+ (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
+ it from sparc64_elf_hash_table. Store the real PLT offset
+ in h->plt.offset, and build PLT entries one at a time. Also
+ get .dynbss section pointer from htab.
+ (allocate_dynrelocs, readonly_dynrelocs,
+ sparc64_omit_section_dynsym): New functions.
+ (sparc64_elf_omit_section_dynsym): Use these new functions as
+ helpers.
+ (dtpoff_base, tpoff): New functions.
+ (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
+ locals, get them from sparc64_elf_hash_table. Handle TLS
+ relocations and refcounting in main relocation loop.
+ (sparc64_elf_finish_dynamic_symbol): Use
+ sparc64_elf_link_hash_table. Build PLT entries as we see
+ them. Handle TLS GOT relocations.
+ (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
+ from sparc64_elf_hash_table. Initialize only PLT header
+ not all entries since we not build PLT entries one by one.
+ (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
+ elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
+ elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
+
+2005-04-13 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elflink.c (elf_link_input_bfd): Update check for removed
+ sections.
+
+2005-04-12 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * libcoff.h: Regenerate.
+
+2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * linker.c (_bfd_generic_link_output_symbols): Also check if
+ the output section of an input section has been removed from
+ the output file.
+
+ * section.c (bfd_section_list_remove): Clear the next field
+ of the removed section.
+ (bfd_section_removed_from_list): New.
+ * bfd-in2.h: Regenerated.
+
+2005-04-11 David S. Miller <davem@davemloft.net>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section,
+ R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
+ R_SPARC_TLS_LE_{HIX22,LOX10}.
+ (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
+ xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
+ (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
+ or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
+
+2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
+
+2005-04-11 Nick Clifton <nickc@redhat.com>
+
+ * aout-target.h: Convert to ISO C.
+ * aoutf1.h: Convert to ISO C.
+ * aoutx.h: Convert to ISO C.
+ * bout.c: Convert to ISO C.
+ * dwarf1.c: Convert to ISO C.
+ * ecoffswap.h: Convert to ISO C.
+ * freebsd.h: Convert to ISO C.
+ * genlink.h: Convert to ISO C.
+ * ieee.c: Convert to ISO C.
+ * ihex.c: Convert to ISO C.
+ * libcoff-in.h: Convert to ISO C.
+ * mach-o.c: Convert to ISO C.
+ * mach-o.h: Convert to ISO C.
+ * netbsd.h: Convert to ISO C.
+ * ns32k.h: Convert to ISO C.
+ * ns32knetbsd.c: Convert to ISO C.
+ * oasys.c: Convert to ISO C.
+ * pdp11.c: Convert to ISO C.
+ * pef-traceback.h: Convert to ISO C.
+ * pef.c: Convert to ISO C.
+ * pef.h: Convert to ISO C.
+ * riscix.c: Convert to ISO C.
+ * som.c: Convert to ISO C.
+ * som.h: Convert to ISO C.
+ * srec.c: Convert to ISO C.
+ * stabs.c: Convert to ISO C.
+ * sunos.c: Convert to ISO C.
+ * tekhex.c: Convert to ISO C.
+ * versados.c: Convert to ISO C.
+ * version.h: Convert to ISO C.
+ * xcoff-target.h: Convert to ISO C.
+ * xcofflink.c: Convert to ISO C.
+ * xsym.c: Convert to ISO C.
+ * xsym.h: Convert to ISO C.
+
+2005-04-08 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
+ (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
+ (ARM2THUMB_PIC_GLUE_SIZE): Define.
+ (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
+ (elf32_arm_to_thumb_stub): Create PIC stubs.
+ (record_arm_to_thumb_glue): Use different stub size for relocatable
+ images.
+
+2005-04-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (dec_dynrel_count): New function split out from
+ ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
+ (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
+ (ppc64_elf_tls_optimize): Likewise.
+
+2005-04-05 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from
+ CORE_WCOOKIE_OFFSET.
+ (SPARC64_WCOOKIE_OFFSET): New.
+ (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64.
+
+2005-04-05 Nick Clifton <nickc@redhat.com>
+
+ * po/rw.po: New translation: Kinyarwanda
+ * configure.in (ALL_LINGUAS): Add rw
+ * configure: Regenerate.
+
+2005-04-05 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
+ (_bfd_mips_elf_section_from_shdr): Use it to check for recognized
+ SHT_MIPS_OPTIONS names. Allow all sections with unrecognised
+ section flags.
+ (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
+ to check for SHT_MIPS_OPTIONS sections.
+ (_bfd_mips_elf_set_section_contents): Likewise.
+
+2005-04-04 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
+ Clean up gp handling code.
+
+2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (bfd_elf_set_group_contents): Ignore linker created
+ group section.
+ (assign_section_numbers): Accept link_info. Check SHT_GROUP
+ sections for relocatable files only. Remove the linker created
+ group sections.
+ (_bfd_elf_compute_section_file_positions): Pass link_info to
+ assign_section_numbers.
+
+ * elfxx-ia64.c (elfNN_ia64_object_p): New.
+ (elf_backend_object_p): Defined.
+
+2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_section_data): Use (sec) instead of sec.
+
+2005-04-03 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
+ dwarf_ranges_size members.
+ (struct comp_unit): Add base_address member.
+ (struct funcinfo): Replace low/high members with an arange.
+ (arange_add): Replace incoming "unit" parameter with "abfd" and
+ "first_arange" pointers. Reorganize/rewrite function body.
+ (decode_line_info): Change arange_add call to pass bfd and arange
+ pointers.
+ (lookup_address_in_line_info_table): Use arange list instead of
+ individual low/high members. Walk function's arange list to find
+ lowest PC in list, to test for overlapping functions.
+ (read_debug_ranges): New function, reads the debug_ranges section.
+ (lookup_address_in_function_table): Use arange list instead of
+ individual low/high members. Rewrite to find smallest range that
+ matches.
+ (read_rangelist): Read a given rangelist from debug_ranges.
+ (scan_unit_for_functions): Use arange list instead of individual
+ low/high members. Handle a DW_AT_ranges attribute.
+ (parse_comp_unit): Use arange list instead of individual low/high
+ members. Save comp unit base address. Handle a DW_AT_ranges
+ attribute.
+
+2005-04-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (assign_section_numbers): Really use the kept section.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_check_kept_section): New.
+
+ * elf.c (assign_section_numbers): When sh_link points to a
+ discarded section, call _bfd_elf_check_kept_section to see if
+ the kept section can be used. Otherwise reject sh_link
+ pointing to discarded section.
+
+ * elflink.c (_bfd_elf_check_kept_section): New.
+ (elf_link_input_bfd): Use it.
+
+2005-04-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
+ that we no longer need.
+
+2005-04-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
+ rather than 0.
+ (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (assign_section_numbers): Fix a typo.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_input_bfd): Remove the extra `\n' in
+ error message.
+ (_bfd_elf_section_already_linked): Likewise.
+
+2005-03-31 Jerome Guitton <guitton@gnat.com>
+
+ * config.in: Regenerate.
+
+2005-03-31 Jerome Guitton <guitton@gnat.com>
+
+ * config.in (HAVE_DECL_BASENAME): New configure macro.
+ * configure.in: Check for basename.
+ * configure: Regenerate.
+
+2005-03-30 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * bfd-in2.h: Regenerate.
+ * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
+ bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
+ (arm_elf_find_function): Likewise.
+ (elf32_arm_output_symbol_hook): Likewise.
+
+2005-03-30 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
+ bfd_elf32_is_arm_mapping_symbol_name.
+ (elf32_arm_output_symbol_hook): Likewise.
+ (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
+ mapping symbols.
+ (is_arm_mapping_symbol_name): Function moved from here...
+ * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
+ and made global.
+
+2005-03-29 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * configure.in: Check for ffs decl and alphabetize.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and
+ alphabetize.
+
+2005-03-29 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct comp_unit): Fix typo.
+ (scan_unit_for_functions): Remove unused local variable "name"
+ and dead code that set it.
+
+2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
+ Phil Blundell <philb@gnu.org>
+
+ * bfd-in2.h, libbfd.h: Regenerated.
+ * reloc.c: Add ARM TLS relocations.
+ * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
+ relocations.
+ (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
+ (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
+ (elf32_arm_tls_ie32_howto): New.
+ (elf32_arm_howto_from_type): Support TLS relocations.
+ (elf32_arm_reloc_map): Likewise.
+ (elf32_arm_reloc_type_lookup): Likewise.
+ (TCB_SIZE): Define.
+ (struct elf32_arm_obj_tdata): New.
+ (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
+ (elf32_arm_mkobject): New function.
+ (struct elf32_arm_relocs_copied): Add pc_count.
+ (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
+ (GOT_TLS_IE): Define.
+ (struct elf32_arm_link_hash_table): Add tls_ldm_got.
+ (elf32_arm_link_hash_newfunc): Initialize tls_type.
+ (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
+ (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
+ (dtpoff_base, tpoff): New functions.
+ (elf32_arm_final_link_relocate): Handle TLS relocations.
+ (IS_ARM_TLS_RELOC): Define.
+ (elf32_arm_relocate_section): Warn about TLS mismatches.
+ (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
+ (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
+ TLS relocations and pc_count.
+ (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
+ (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
+ calls.
+ (elf32_arm_size_dynamic_sections): Handle TLS.
+ (elf32_arm_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject): Define.
+
+2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
+ relocation types. Don't count relocations which will use a PLT.
+
+2005-03-29 Joel Brobecker <brobecker@gnat.com>
+
+ * elf.c (elfcore_grok_nto_status): Print tid as long.
+ (elfcore_grok_nto_regs): Likewise.
+
+2005-03-29 Joel Brobecker <brobecker@gnat.com>
+
+ * irix-core.c: Remove some unnecessary prototypes.
+
+2005-03-28 Joel Brobecker <brobecker@adacore.com>
+
+ * irix-core.c: Convert to ISO C.
+
+2005-03-28 Joel Brobecker <brobecker@adacore.com>
+
+ * irix-core.c (do_sections): Replace + by | in expression.
+ (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
+ to unused parameters to avoid a compiler warning.
+
+2005-03-28 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c: Convert to ISO C. Fix formatting.
+
+2005-03-24 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c: Revert previous patch.
+
+2005-03-24 Nick Clifton <nickc@redhat.com>
+
+ * targets.c (_bfd_target_vector): Only include the
+ bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
+ all targets enabled.
+
+2005-03-24 James E Wilson <wilson@specifixinc.com>
+
+ * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
+ (BFD64_BACKENDS): Add elf32-ia64.lo.
+ * Makefile.in: Regenerate.
+
+2005-03-23 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
+ (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
+ after emitting relocation.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
+ (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
+ and readonly_reloc.
+
+2005-03-23 Mike Frysinger <vapier@gentoo.org>
+ Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Accept any C library to accompany a GNU Linux
+ implementation, not just the GNU C library.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (_bfd_elf_provide_symbol): New.
+ * bfd-in2.h: Regenerated.
+
+ * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
+ (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
+ of set_linker_sym.
+
+ * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
+ from elf32-ppc.c.
+
+2005-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
+
+2005-03-22 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
+ xtensa_sysreg_lookup_name, xtensa_interface_lookup,
+ xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
+ (xtensa_opcode_decode): Rearrange code.
+
+2005-03-22 Nick Clifton <nickc@redhat.com>
+
+ * binary.c: Convert to ISO C90 formatting.
+ * coff-arm.c: Convert to ISO C90 formatting.
+ * coffgen.c: Convert to ISO C90 formatting.
+ * elf32-gen.c: Convert to ISO C90 formatting.
+ * elf64-gen.c: Convert to ISO C90 formatting.
+ * hash.c: Convert to ISO C90 formatting.
+ * ieee.c: Convert to ISO C90 formatting.
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
+ unresolved symbols in R_ARM_NONE relocations.
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Add
+ UNRESOLVED_RELOC_P argument. Set it appropriately.
+ (elf32_arm_relocate_section): Update call to
+ elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
+ unresolved_reloc instead.
+
+2005-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
+ .gnu.warning.* sections.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (elf_linker_section_pointers_t): Remove
+ written_address_p.
+ (ppc_elf_create_linker_section): Don't try to reuse existing section.
+ (elf_create_pointer_linker_section): Delete info parm. Don't make
+ h dynamic. Don't set written_address_p.
+ (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
+ (bfd_put_ptr): Delete.
+ (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
+ Always write section contents. Assert global sym is def_regular.
+ Use offset bottom bit as a written flag.
+ (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
+ calls.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
+ (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
+ and end syms.
+
+2005-03-21 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
+ targets.
+ (t2a1_bx_pc_insn): Likewise.
+ (t2a2_noop_insn): Likewise.
+ (t2a3_b_insn): Likewise.
+ (t2a1_push_insn): Likewise.
+ (t2a2_ldr_insn): Likewise.
+ (t2a3_mov_insn): Likewise.
+ (t2a4_bx_insn): Likewise.
+ (t2a5_pop_insn): Likewise.
+ (t2a6_bx_insn): Likewise.
+ (coff_arm_relocate_section): Only declare the high_address
+ variable for non WINCE targets.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
+ SEC_LINKER_CREATED. Attach to dynobj.
+ (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
+ sym_offset. Add name, bss_name, sym_name, sym_val.
+ (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
+ Add sdata array of elf_linker_section_t.
+ (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
+ (enum elf_linker_section_enum): Delete.
+ (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
+ (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
+ the special sections are needed. Adjust htab->sdata refs.
+ Ensure dynobj is set in sreloc code.
+ (ppc_elf_size_dynamic_sections): Strip sdata sections.
+ (ppc_elf_set_sdata_syms): New function.
+ (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
+ (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
+ sym_val instead of sym_hash.
+ * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
+ (ppc_elf_merge_private_bfd_data): Likewise.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
+ (ppc_elf_create_linker_section): Don't create rel_section.
+ (elf_create_pointer_linker_section): Don't size relocs.
+ (elf_finish_pointer_linker_section): Remove relative_reloc parm.
+ Don't generate relocs.
+ (ppc_elf_relocate_section): Adjust calls to
+ elf_finish_pointer_linker_section.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (is_ppc_elf_target): New function.
+ (ppc_elf_merge_private_bfd_data): Use it rather than just testing
+ for bfd_target_elf_flavour. Do this test before endian check.
+ (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
+ (ppc_elf_size_dynamic_sections): Likewise.
+
+2005-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_backend_data): Add int to
+ elf_backend_section_from_shdr.
+ (bfd_elf_section_data): Update comment for this_idx.
+ (_bfd_elf_make_section_from_shdr): Add int.
+ * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Take section index
+ and use it to set this_idx in bfd_elf_section_data.
+ (bfd_section_from_shdr): Pass shindex to
+ _bfd_elf_make_section_from_shdr.
+ (_bfd_elf_section_from_bfd_section): Use this_idx in
+ bfd_elf_section_data to find section index.
+
+ * elf32-arm.c (elf32_arm_section_from_shdr): Take section
+ index and pass it to _bfd_elf_make_section_from_shdr.
+ * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
+ * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+ * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+ * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+
+2005-03-19 Danny Smith <dannysmith@users.sourceforge.net>
+ Ross Ridge <rridge@csclub.uwaterloo.ca>
+
+ * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
+ character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
+ cases. Add comment.
+
+2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_mark_used_section): Remove check for special
+ sections.
+
2005-03-18 Andreas Schwab <schwab@suse.de>
* elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
2005-03-18 C Jaiprakash <cjaiprakash@noida.hcltech.com>
- * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
+ * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
(elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
elf_m68k_finish_dynamic_sections): Use it.
between include sections when have the same sum but which
nevertheless are still unique.
-2004-03-31 Mattias Engdegård <mattias@virtutech.se>
+2004-03-31 Mattias Engdegård <mattias@virtutech.se>
* stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.