2007-12-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/5530
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Call
	_bfd_elf_find_segment_containing_section with output_bfd,
	instead of input_bfd.

2007-12-31  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_relax_section): Use
	_bfd_merged_section_offset to compute the offset of a symbol in a
	merged section.

2007-12-31  Nick Clifton  <nickc@redhat.com>

	* elf.c (_bfd_elf_find_segment_containing_section): New function:
	Scan the segment map looking for the segment containing a
	specified function.
	* elf-bfd.h: Prototype the new function.
	* elf-hppa.h (elf_hppa_osec_to_segment): Delete.
	(elf_hppa_record_segment_addrs): Use new function.
	* elf32-bfin.c (_bfdfdpic_osec_to_segment): Use new function.
	* elf32-frv.c (_frvfdpic_osec_to_segment): Use new function.
	* elf32-hppa.c (hppa_record_segment_addr): Use new function.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Use new function.
	
2007-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR binutils/5146
	* elf64-hppa.c: Declare alloca when __GNUC__ is defined.
	* som.c: Likewise.

	* elf-hppa.h (elf_hppa_osec_to_segment): New function.
	(elf_hppa_record_segment_addrs): Use elf_hppa_osec_to_segment.
	Remove ATTRIBUTE_UNUSED from abfd argument.
	* elf32-hppa.c (hppa_record_segment_addr): Likewise.

2007-12-28  Nick Hudson  <nick.hudson@dsl.pipex.com>

	* elf32-hppa.c (hppa_record_segment_addr): Locate the segment
	containing the section using the segment map, rather than guessing
	based upon the section's vma and file position.

2007-12-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/5488
	* elf.c (IS_NOTE): New.
	(IS_COREFILE_NOTE): Use IS_NOTE.
	(IS_SECTION_IN_INPUT_SEGMENT): Use IS_NOTE instead of
	IS_COREFILE_NOTE.

2007-12-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/5449
	* elf.c (rewrite_elf_program_header): Don't adjust p_paddr if
	p_paddr is set to 0.
	(copy_private_bfd_data): Call rewrite_elf_program_header if
	p_paddr is set to 0.

	* elfcode.h (elf_swap_phdr_out): Set p_paddr to 0 if needed.

	* elfxx-ia64.c (ELF_MAXPAGESIZE): Don't redefine it for HPUX.

2007-12-21  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (relax_section): Update DIFF relocations in the
	same way as other relocations.
	
2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* section.c (BFD_FAKE_SECTION): Update.
	* bfd-in2.h: Regenerate.

2007-12-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* bfd-in2.h: Regenerate.

2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>

	* config.bfd: Add arm-*-mingw32ce* target.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of
	a merged field and a sec field.
	(eh_frame_hdr_info): Remove offsets_adjusted.
	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to
	the CIE merged field.
	(_bfd_elf_gc_mark_fdes): Likewise.
	(_bfd_elf_discard_section_eh_frame): Likewise.  Set u.cie.u.sec
	when clearing the removed flag.
	(_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling.
	(_bfd_elf_write_section_eh_frame): Likewise.  Apply output_offsets
	where appropriate.  

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Move add_fde_encoding and
	per_encoding_relative to u.cie.  Add commentary.
	* elf-eh-frame.c (cie): Remove make_relative.
	(extra_augmentation_string_bytes): Update use of add_fde_encoding.
	(extra_augmentation_data_bytes): Likewise.  Use an FDE's own
	add_augmentation_size field, rather than referring to the CIE.
	(_bfd_elf_parse_eh_frame): Don't set the struct cie
	make_relative field; set the eh_cie_fde field directly.
	Update setting of add_fde_encoding and per_encoding_relative.
	Copy make_relative and add_augmentation_size from the CIE
	to the FDE.
	(_bfd_elf_discard_section_eh_frame): Use the FDE's own
	make_relative field.
	(_bfd_elf_eh_frame_section_offset): Likewise.
	(_bfd_elf_write_section_eh_frame): Update accesses to
	add_fde_encoding and per_encoding_relative.  Use the FDE's
	own make_relative and add_augmentation_size fields.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative.
	Move make_lsda_relative to u.cie.
	* elf-eh-frame.c (cie): Rename make_lsda_relative to
	can_make_lsda_relative.
	(_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde
	make_lsda_relative field.  Update after cie renaming.
	Set u.cie.make_lsda_relative if can_make_lsda_relative
	and if we find a relocation against the LSDA.
	(_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when
	changing a CIE's group representative.
	(_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here.
	(_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative
	rather than need_lsda_relative.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and
	u.cie.gc_mark.
	(bfd_elf_section_data): Add fde_list.
	(elf_fde_list): New macro.
	(elf_obj_tdata): Add eh_frame_section.
	(elf_eh_frame_section): New macro.
	(_bfd_elf_gc_mark_reloc): Remove last parameter.
	(_bfd_elf_gc_mark_fdes): Declare.
	* elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs
	for each input section.
	(mark_entry, _bfd_elf_gc_mark_fdes): New functions.
	* elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter.
	(_bfd_elf_gc_mark): Update call accordingly.  Mark the relocations
	againts the section's FDEs.  Don't mark the bfd's elf_eh_frame_section.
	(bfd_elf_gc_sections): Parse each input bfd's .eh_frame before
	marking any input sections.  Remove the current EH handling.
	* section.c (bfd_section): Remove gc_mark_from_eh.
	* ecoff.c (bfd_debug_section): Update initializer accordingly.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Add u.cie.  Document how u.fde.cie_inf
	changes when removed == 0.
	(eh_frame_hdr_info): Add parsed_eh_frames.
	(_bfd_elf_begin_eh_frame_parsing): Declare.
	(_bfd_elf_parse_eh_frame): Declare.
	(_bfd_elf_end_eh_frame_parsing): Declare.
	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function.
	(_bfd_elf_parse_eh_frame): New function, split out from
	_bfd_elf_discard_section_eh_frame.  Make a first pass through the
	buffer to calculate the number of entries and CIEs.  Allocate memory
	for them before the main loop.  Replace current extended cie
	representation with a pair of pointers, one to the local eh_cie_fde
	and one to the full struct cie.  Allocate a separate array of struct
	cies if not merging.  Merge CIEs during the main loop and set up each
	u.cie.merged field.  Point an FDE's cie_inf field directly at the
	local CIE.  Initially assume that all entries should be removed.
	(_bfd_elf_end_eh_frame_parsing): New function.
	(_bfd_elf_discard_section_eh_frame): Assume that the section has
	already been parsed.  Use a separate pass to mark entries that
	need to be kept.  Use the u.cie.merged field to track a CIE's
	group representative.
	* elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame
	before _bfd_elf_discard_section_eh_frame.  Wrap loop with calls to
	_bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (eh_cie_fde): Put cie_inf in a union.  Add a reloc_index
	field.  Use bitfields for fde_encoding, lsda_encoding and lsda_offset.
	* elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf
	accesses after the above change.
	(_bfd_elf_eh_frame_section_offset): Likewise.
	(_bfd_elf_write_section_eh_frame): Likewise.
	(_bfd_elf_discard_section_eh_frame): Likewise.  Set up reloc_index.

2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare.
	(_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn.
	* elflink.c (init_reloc_cookie, fini_reloc_cookie)
	(init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions,
	split out from...
	(bfd_elf_discard_info): ...here.
	(init_reloc_cookie_for_section): New function.
	(fini_reloc_cookie_for_section): Likewise.
	(_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions,
	split out from...
	(_bfd_elf_gc_mark): ...here.  Use init_reloc_cookie_for_section
	and fini_reloc_cookie_for_section.

2007-12-12  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
	address.
	(print_action_list): Fix name for ta_convert_longcall.

2007-12-11  Catherine Moore  <clm@codesourcery.com>

        * elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx if
        the symbol's section is the undefined section.

2007-12-11  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (elf_fake_sections): Add "warning:" to "..changed to PROGBITS"
	message.

2007-12-07  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
	(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
	(elf_xtensa_check_relocs): Use default case for all relocations that
	need nothing done here.
	(elf_xtensa_do_reloc): Compute self_address for all relocation types.
	Handle R_XTENSA_32_PCREL.
	(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
	symbols.
	(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.
	
2007-12-05  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_size_stubs): Do consider branches to
	non-function symbols for overlay stubs.

2007-12-04  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOT
	entry for all dynamic objects.

2007-12-04  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_size_stubs): Correct section alignment.

2007-11-30  Richard Sandiford  <rsandifo@nildram.co.uk>

	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
	ELF header to choose between 32-bit and 64-bit relocation structures.

2007-11-29  Mark Shinwell  <shinwell@codesourcery.com>

	* archures.c (bfd_mach_mips_loongson_2e): New.
	(bfd_mach_mips_loongson_2f): New.
	* bfd-in2.h (bfd_mach_mips_loongson_2e): New.
	(bfd_mach_mips_loongson_2f): New.
	* cpu-mips.c: Add I_loongson_2e and I_loongson_2f to
	anonymous enum.
	(arch_info_struct): Add Loongson-2E and Loongson-2F entries.
	* elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E
	and Loongson-2F flags.
	(mips_set_isa_flags): Likewise.
	(mips_mach_extensions): Add Loongson-2E and Loongson-2F
	entries. 

2007-11-29  Nick Clifton  <nickc@redhat.com>

	PR ld/5398
	* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not
	complain if there is no glue bfd, just return.

2007-11-28  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to
	cover forward jumps.

2007-11-21  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_relax_section): Allow for alignment
	relocs when computing whether instructions can be relaxed.

2007-11-16  Tristan Gingold  <gingold@adacore.com>

	* elflink.c (elf_link_output_extsym): Weaken assertion: if
	--gc-section is set, there may be no TLS segment.

2007-11-19  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
	* elflink.c (bfd_elf_perform_complex_relocation): Return status.
	Don't print reloc overflow message.
	* elf32-mep.c (mep_elf_relocate_section): Handle status from
	bfd_elf_perform_complex_relocation.

2007-11-17  Thiemo Seufer  <ths@mips.com>

	* elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
	-mfp64 attribute.

2007-11-16  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and
	check that bfd_elf_get_elf_syms is only called once.

2007-11-16  Ulrich Weigand  <uweigand@de.ibm.com>

	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of
	synthetic symbol to point to the ELF symbol it was derived from.

2007-11-15  Alan Modra  <amodra@bigpond.net.au>

	PR 5328
	* opncls.c (separate_debug_file_exists): Use fopen/fread
	rather than open/read and open in binary mode.

2007-11-14  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_got_page_range): New structure.
	(mips_got_page_entry): Likewise.
	(mips_got_info): Add page_gotno and got_page_entries fields.
	(mips_elf_got_per_bfd_arg): Add max_pages field.  Delete
	primary_count and current_count fields.
	(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
	(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
	(mips_elf_get_got_for_bfd): New function, split out from
	mips_elf_make_got_per_bfd.  Initialize the page_gotno and
	got_page_entries fields when creating a new GOT structure.
	(mips_elf_make_got_pages_per_bfd): New function.
	(mips_elf_merge_got_with): New function, split out from
	mips_elf_make_got_per_bfd.  Merge page entries as well as
	non-page entries.  Use the minimum of max_pages and the sum
	of the page_gotnos to estimate the number of page entries.
	(mips_elf_merge_gots): Use the minimum of max_pages and the
	bfd's page_gotno to estimate the number of page entries.
	Use the above functions.
	(mips_elf_multi_got): Add page entries as well as non-page entries
	to the individual per-bfd GOTs.  Initialize got_per_bfd_arg.max_pages.
	Initialize the page_gotno and got_page_entries fields when creating
	a new primary GOT.  Use the minimum of pages and page_gotno when
	adding the number of pages entries to local_gotno.
	(mips_elf_create_got_section): Initialize the page_gotno and
	got_page_entries fields of the GOT structure.
	(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
	(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
	functions, split out from...
	(_bfd_mips_elf_relocate_section): ...here.
	(_bfd_mips_elf_check_relocs): Record GOT page entries too.
	(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
	(_bfd_mips_elf_always_size_sections): Use the smaller of the
	loadable_size- and page_gotno-derived estimates.

2007-11-14  Thiemo Seufer  <ths@mips.com>

	* elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
	unwanted fallthroughs in case statement.

2007-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/5307
	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
	copy input subsystem if output is different from input.

2007-11-13  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the
	accidental termination of DWARF location list entries.
	(mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc
	is encountered that is larger than or not a mutliple of the number
	of bytes being deleted.
	When adjusting symbols, any symbols inside the region being
	deleted must be moved to the end of the region.
	Move align relocs forward if there is room for them after the
	deletion of the region.

2007-11-13  Alan Modra  <amodra@bigpond.net.au>

	PR 5233
	* elf.c (rewrite_elf_program_header): Formatting.  Add
	first_matching_lma and first_suggested_lma booleans and use
	instead of testing matching_lma and suggested_lma for zero.

2007-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/5299
	* peicode.h (pe_bfd_object_p): Save and restore previous bfd
	state when calling coff_object_p.

2007-11-12  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
	pointer when we have a valid symbol.  Init udata.p to NULL.

2007-11-09  Nathan Sidwell  <nathan@codesourcery.com>

	* elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
	rel_hash.  Move loop inside if test.

2007-11-08  Nathan Sidwell  <nathan@codesourcery.com>

	* elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
	(elf_vxworks_finish_dynamic_entry): Declare.
	* elf-vxworks.c: Include elf/vxworks.h.
	(elf_vxworks_add_dynamic_entries): New.
	(elf_vxworks_finish_dynamic_entry): New.
	* Makefile.am (elf-vxworks.lo): Add dependency.
	* Makefile.in (elf-vxworks.lo): Add dependency.
	* elf32-i386.c (elf_i386_size_dynamic_sections,
	elf_i386_finish_dynamic_sections): Call
	elf_vxworks_add_dynamic_entries and
	elf_vxworks_finish_dynamic_entry.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections,
	ppc_elf_finish_dynamic_sections): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
	sparc_finish_dyn): Likewise.
	* elf32-sh.c (sh_elf_size_dynamic_sections,
	sh_elf_finish_dynamic_sections): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
	_bfd_mips_elf_finish_dynamic_sections): Likewise.
	* elf32-arm.c (elf32_arm_size_dynamic_sections,
	elf32_arm_finish_dynamic_sections): Likewise.

2007-11-07  Olivier Hainque  <hainque@adacore.com>

	* bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force
	SHF_MIPS_NOSTRIP on .debug_frame for Irix.

2007-11-06  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
	(ppc64_elf_gc_sweep_hook): ..or here..
	(ppc64_elf_tls_optimize): ..or here.  Make two passes through the
	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
	(allocate_dynrelocs): Refcount tlsld_got here.
	(ppc64_elf_size_dynamic_sections): Allocate local got and call
	allocate_dynrelocs before allocating tlsld_got.
	(ppc64_elf_relocate_section): Remove check that a tls_get_addr
	call follows gd and ld relocs.

	* elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
	(ppc_elf_gc_sweep_hook): ..or here..
	(ppc_elf_tls_optimize): ..or here.  Make two passes through the
	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
	(allocate_dynrelocs): Refcount tlsld_got here.
	(ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
	allocating tlsld_got.
	(ppc_elf_relocate_section): Remove check that a tls_get_addr
	call follows gd and ld relocs.

2007-11-05  Alan Modra  <amodra@bigpond.net.au>

	* merge.c (sec_merge_hash_lookup): Revert last change.
	(record_section): Likewise.
	(_bfd_merge_sections): Likewise.
	(_bfd_merged_section_offset): Properly handle NULL secinfo.
	(_bfd_add_merge_section): Allocate extra space for a zero
	terminator on SEC_STRINGS sections.

2007-11-05  Danny Smith  <dannysmith@users.sourceforge.net>

	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
	 and .bss section use the default.
	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.

2007-11-01  Joseph Myers  <joseph@codesourcery.com>

	* merge.c (sec_merge_hash_lookup): Add parameter sec_end.  Check
	for unterminated strings.  All callers changed.
	(record_section): Add parameter abfd.  Give error message for
	unterminated strings.
	(_bfd_merge_sections): Update call to record_section.
	(_bfd_write_merged_section, _bfd_merged_section_offset): Handle
	NULL secinfo from merge failures.

2007-10-31  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
	align relocs when there are no relocs attached to the section.

2007-10-31  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
	* elflink.c (bfd_elf_match_symbols_in_sections): Make static.
	Remove section name comparisons.

2007-10-30  Nick Clifton  <nickc@redhat.com>

	* reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regnerate.
	* elf-m10300.h: Handle R_MN10300_ALIGN relocs.
	(mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
	Re-fix off by one error in comparisons.
  
2007-10-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
	* bfd-in2.h: Regenerate.

2007-10-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
	Tag_GNU_Power_ABI_Vector.

2007-10-25  Joseph Myers  <joseph@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
	PT_NULL header when not linking.

2007-10-25  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

	* elf.c (elfcore_grok_ppc_vmx): New function.
	(elfcore_grok_note): Handle NT_PPC_VMX.
	(elfcore_write_ppc_vmx): New function.
	* elf-bfd.h (elfcore_write_ppc_vmx): Declare.

2007-10-24  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

2007-10-23  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
	emitted for ".brlt" entries.
	(toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
	(ppc64_elf_next_input_section): ..instead do so here.

2007-10-19  Nick Clifton  <nickc@redhat.com>

	* config.bfd: Recognise am34-linux-gnu target.
	* reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
	(mn10300_reloc_map): Likewise.
	(mn10300_elf_check_relocs): Do not create dynamic relocs for
	symbol differences or relocations against absolute symbols.
	(mn10300_elf_final_link_relocate): Likewise.
	Handle R_MN10300_SYM_DIFF relocs. 
	(mn10300_elf_relocate_section): Fix for creating local copys of
	dynamic relocs.
	(mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
	region.  Adjust the size of function symbols.
	(mn10300_elf_relax_section): Ignore symbols that are in discarded
	sections.

2007-10-19  Nick Clifton  <nickc@redhat.com>

	* elf-m10300.c: Convert to ISO C.

2007-10-18  H.J. Lu  <hongjiu.lu@intel.com>
	    Alan Modra  <amodra@bigpond.net.au>

	PR ld/4424
	* config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
	alpha/FreeBSD.  Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
	Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
	(targ64_selvecs): Set for i386/FreeBSD.
	* elf-bfd.h (elf_backend_data): Add relocs_compatible.
	(_bfd_elf_default_relocs_compatible): Declare.
	(_bfd_elf_relocs_compatible): Declare.
	* elfxx-target.h (elf_backend_relocs_compatible): Define.
	(elfNN_bed): Init new relocs_compatible field.
	* elflink.c (_bfd_elf_default_relocs_compatible): New function.
	(_bfd_elf_relocs_compatible): New function.
	(elf_link_add_object_symbols): Call bed->relocs_compatible.
	* elf32-i386.c (elf_backend_relocs_compatible): Define.
	* elf64-alpha.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elf64-x86-64.c: Likewise.

2007-10-16  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (relax_section): Check for a reference to a discarded
	DWARF section and anticipate its replacement with the kept section.
	
2007-10-16  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
	unnecessary size variables.  Set sec->rawsize.
	(relax_section, relax_property_section): Likewise.
	
2007-10-16  Bob Wilson  <bob.wilson@acm.org>

	* section.c (struct bfd_section): Clarify comment for rawsize field.
	* bfd-in2.h: Regenerate.
	
2007-10-16  Bob Wilson  <bob.wilson@acm.org>

	* elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
	values if they are set.
	
2007-10-16  Nick Clifton  <nickc@redhat.com>

	PR 5146
	* configure.in (AC_CHECK_HEADERS): Add alloca.h
	* configure: Regenerate.
	* config.in: Regenerate.
	* som.c: Replace alloca-conf.h inclusion with code recommended in
	autoconf documentation.
	* elf64-hppa.c: Likewise.

2007-10-16  Nick Clifton  <nickc@redhat.com>

	* configure.in (--enable-elf-stt-common): New configure
	option.  If enabled then the tools can generate symbols with
	the ELF STT_COMMON type.
	* config.in: Regenerate.
	* configure: Regenerate.
	* elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
	the type of emitted common symbols to STT_COMMON.
	* elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
	types.
	
2007-10-15  Alan Modra  <amodra@bigpond.net.au>

	* coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
	Return status.  Adjust callers.
	* coff-mcore.c (mcore_emit_base_file_entry): Likewise.
	* coff-ppc.c (write_base_file_entry): New function.
	(coff_ppc_relocate_section): Use it.
	* elf32-arm.c (find_thumb_glue): Check asprintf return status.
	(find_arm_glue): Likewise.
	* vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.

2007-10-12  Nick Clifton  <nickc@redhat.com>

	PR 5160
	* elflink.c (eval_symbol): Remove bufsz variable and use
	sizeof(symbuf) where necessary.

2007-10-12  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.

2007-10-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
	local symbols specially.
	(mips_elf_set_global_got_offset): Skip forced local symbols.

2007-10-12  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (elfcore_grok_prxfpreg): Fix comment typo.

2007-10-10  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (get_program_header_size): Always add a PT_GNU_RELRO
	segment for -z relro.
	(_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
	segment only when needed.

2007-10-05  Bob Wilson  <bob.wilson@acm.org>
	
	* elf32-xtensa.c (relax_section): Call pin_internal_relocs when
	changing a relocation's offset.  Adjust call to translate_reloc.  Do
	not add a fix record for a DIFF reloc.  For other relocs, only add a
	fix record if the translated target is in a different object file;
	otherwise, just update the relocation.  Call pin_internal_relocs when
	updating a reloc but not when adding a fix record.
	(translate_reloc): Get the target section from a new argument, not
	from the relocation.  Change check for relaxable sections to an
	assertion.  Compute separate offset adjustments for the base symbol
	and the addend, and set the new relocation's addend correctly.  Return
	the new target section.
	
2007-10-05  Bob Wilson  <bob.wilson@acm.org>
	
	* elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
	r_type and howto after calling do_fix_for_relocateable_link and
	do_fix_for_final_link.
	
2007-10-05  Bob Wilson  <bob.wilson@acm.org>
	
	* elf32-xtensa.c (removed_by_actions): New.
	(offset_with_removed_text): Reimplement using removed_by_actions.
	(offset_with_removed_text_before_fill): Delete.
	(relax_property_section): Use removed_by_actions.  Rearrange logic.
	(relax_section_symbols): Likewise.
	
2007-10-04  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
	(reloc_bfd_fix_init): Remove target_abfd argument.
	(relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.

2007-10-04  Nick Clifton  <nickc@redhat.com>

	PR linker/5099
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
	apostrophe to error message.

2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
	final relocation phase.
	Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
	* reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
	R_CR16_SWITCH16, R_CR16_SWITCH32.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.

2007-09-30  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c: Formatting.

2007-09-29  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
	sections.  Don't test symbol st_shndx.  Don't bother with
	bfd_link_hash_common symbols.  Print longs rather than ints
	in debug messages.
	(eval_symbol): Replace "sym" and "advanced" params with "symp".
	Replace "addr" and "section_offset" params with "dot".  Don't
	cast bfd_vma values to signed, cast them to bfd_signed_vma.
	(bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
	"local_syms" and "local_sections" params.  Add "relocation".
	Delete code calculating relocation value.
	(evaluate_complex_relocation_symbols): Delete function.  Fold into..
	(elf_link_input_bfd): ..existing code examining relocs.
	* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
	* elf32-mep.c (mep_elf_check_relocs): Delete function.
	(mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
	(mep_elf_object_p): Don't set elf_bad_symtab.
	(elf_backend_check_relocs): Don't define.
	(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
	(elf_backend_can_gc_sections, USE_RELA): Likwise.
	(mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
	call after we have calculated reloc value.  Delete local sym
	debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
	adjusting code..
	(elf_backend_rela_normal): ..instead define this.

2007-09-28  Alan Modra  <amodra@bigpond.net.au>

	* elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
	* elf32-avr.c (elf32_avr_check_relocs): Likewise.
	* elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Likewise.
	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
	* elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
	(elf32_frv_check_relocs): Likewise.
	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
	* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
	* elf32-mt.c (mt_elf_check_relocs): Likewise.
	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
	* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
	(score_elf_local_relocation_p): Likewise.
	(_bfd_score_elf_relocate_section): Likewise.
	(score_elf_final_link_relocate): Likewise.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
	check for R_386_GNU_VTINHERIT.
	* elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
	pointer for R_xxx_GNU_VTENTRY.
	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
	* elf32-bfin.c (bfin_check_relocs): Likewise.
	(bfinfdpic_check_relocs): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Likewise.
	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
	* elf32-s390.c (elf_s390_check_relocs): Likewise.
	* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf32-v850.c (v850_elf_check_relocs): Likewise.
	* elf32-vax.c (elf_vax_check_relocs): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
	* elf64-s390.c (elf_s390_check_relocs): Likewise.
	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.

2007-09-26  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (set_symbol_value): Add isymbuf and locsymcount
	params.  Change symidx to a size_t.  Don't access past end
	of symbol buffer.
	(resolve_symbol): Add isymbuf param and use instead of
	finfo->internal_syms.
	(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
	(elf_link_input_bfd): Don't read symbols specially for
	evaluate_complex_relocation_symbols.

2007-09-26  Tristan Gingold  <gingold@adacore.com>

	* som.c (som_get_reloc_upper_bound): If there are no relocs return
	enough space to hold a NULL pointer.

2007-09-26  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.

2007-09-25  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
	(spu_elf_size_stubs): Count stub relocs.
	(write_one_stub): Emit relocs on overlay call stubs.

	* elf32-spu.c (struct spu_link_hash_table): Add "stubs".
	(spu_elf_link_hash_table_create): Init new field.
	(spu_elf_size_stubs): Store sorted stub syms in new htab field
	rather than local var.
	(spu_elf_build_stubs): Iterate over htab stubs rather than
	hash traversal.
	(struct stubarr): Delete.
	(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.

2007-09-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf.c (assign_file_positions_for_load_sections): Trust
	p_align_valid.
	(copy_elf_program_header): Copy PT_NULL segments.

2007-09-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>

	* elf32-spu.c (is_indirect_branch): New function.
	(find_function_stack_adjust): End scan on hitting indirect branch.
	(sum_stack): Cast %v arg to correct type.

2007-09-21  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

2007-09-21  Doug Kwan  <dougkwan@google.com>

	* Makefile.am (BFD32_LIBS): Add arange-set.lo.
	(BFD32_LIBS_CFILES): Add arange-set.c.
	(SOURCE_HFILES): Add arange-set.h
	(dwarf2.lo): Add dependency upon arange-set.h.
	(arange-set.lo): New target.
	* Makefile.in: Regenerate.
	* arange-set.c: New file.
	* arange-set.h: New file.
	* dwarf2.c: Include arange-set.h.  
	(struct dwarf2_debug) Add new fields comp_unit_count and
	comp_unit_arange_set.
	(struct comp_unit) Replace field arange with a new field arange_set.
	(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
	dwarf2_combine_arange_value, dwarf2_arange_set_new,
	dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
	functions to utilize arange set in dwarf2.c.
	(arange_add): Formatting change for a line longer than 80 characters.
	(decode_line_info): Replace call target arange_add with
	dwarf2_comp_unit_arange_add.
	(read_rangelist_insert_arange_list,
	read_rangelist_comp_unit_arange_add): New functions used as callbacks
	for read_rangelist.
	(read_rangelist): Change interface to accept a callback and data to
	allow caller to select the action peformed on a new range list read.
	(scan_unit_for_symbols): Use new interface of read_rangelist.
	(parse_comp_unit): Create an arange set for each new comp unit.
	Use new interface of read_rangelist.  Replace call to arange_add
	with that to dwarf2_comp_unit_arange_add.
	(comp_unit_contains_address): Replace sequential search with a call to
	arange_set_lookup_address, which can handles large set efficiently.
	(stash_copy_local_aranges, stash_maybe_enable_arange_set,
	stash_find_nearest_line_fast): New functions maintaining and using a
	valued global arange set for all compilation units to speed up
	bfd_dwarf2_find_nearest_line.
	(find_line): Use global arange set.  Replace sequential search over all
	compilation units with a call to stash_find_nearest_line_fast.  Add
	book keeping to count number of compilation units.  Replace empty
	arange list test with a call to arange_set_empty_p.

2007-09-21  Olivier Hainque  <hainque@adacore.com>
	    Tristan Gingold  <gingold@adacore.com>
	
	* syms.c (_bfd_stab_section_find_nearest_line): Look at the 
        specific SOM sections for stabs if the regular ones are not found.
	* som.h (struct somdata): Add a line_info field, to be used by
        som_find_nearest_line.
	* som.c (som_find_nearest_line): Implement using the bfd stabs
	function above.

2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
	will be output.

2007-09-19  Alan Modra  <amodra@bigpond.net.au>
	    Doug Kwan  <dougkwan@google.com>

	* bfd-in.h (bfd_hash_insert): Declare.
	* bfd-in2.h: Regenerate.
	* hash.c (bfd_hash_insert): New function.  Split out from..
	(bfd_hash_lookup): ..here.
	* merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.

2007-09-18  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (bfd_section_from_shdr): Check bfd_alloc return.
	(elfcore_write_note): Check realloc return.
	* elflink.c (_bfd_elf_link_find_version_dependencies): Check
	bfd_zalloc return.
	(_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
	(elf_link_add_object_symbols): Likewise.
	(struct hash_codes_info): New.
	(elf_collect_hash_codes): Return bfd_malloc error.
	(struct collect_gnu_hash_codes): Add "error".
	(elf_collect_gnu_hash_codes): Return bfd_malloc error.
	(bfd_elf_size_dynamic_sections): Check return status of
	_bfd_elf_link_find_version_dependencies.
	(bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
	and elf_collect_gnu_hash_codes changes.
	(elf_sym_name_compare): Formatting.
	(elf_fixup_link_order): Use bfd_malloc, not xmalloc.

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3281
	PR binutils/5037
	* elf-bfd.h (elf_obj_tdata): Remove relro.

	* elf.c (get_program_header_size): Check info->relro instead
	of elf_tdata (abfd)->relro.
	(_bfd_elf_map_sections_to_segments): Likewise.
	(assign_file_positions_for_load_sections): Don't set
	PT_GNU_RELRO segment alignment here.
	(assign_file_positions_for_non_load_sections): Properly set up
	PT_GNU_RELRO segment for copying executable/shared library.
	(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
	(copy_elf_program_header): Set p_size and p_size_valid fields for
	PT_GNU_RELRO segment. 

2007-09-17  Nick Clifton  <nickc@redhat.com>

	* po/fi.po: New Finnish translation.
	* po/es.po: Updated Spanish translation.
	* configure.in (ALL_LINGUAS): Add fi.
	* configure: Regenerate.
	* po/bfd.pot: Regenerate.

2007-09-15  Nick Clifton  <nickc@redhat.com>

	* bfd.c (_bfd_default_error_handler): fflush stdout.

2007-09-14  Alan Modra  <amodra@bigpond.net.au>

	* opncls.c (find_separate_debug_file): Ensure bfd_set_error has
	been called on all error return paths.
	(bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
	Clear padding after filename

2007-09-14  Alan Modra  <amodra@bigpond.net.au>

	* format.c (bfd_check_format_matches): Record matching targets even
	when "matching" is NULL to allow bfd_associated_vector matches.
	Consolidate error return code.  Consolidate ok return code.  Always
	restore original target and format on error.

2007-09-14  Alan Modra  <amodra@bigpond.net.au>

	* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
	long long.  Partly revert 2007-07-12 change, so that
	BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
	independent of "void *" size.
	* configure: Regenerate.
	* config.in: Regenerate.
	* Makefile.in: Regenerate.

2007-09-12  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
	and elf_backend_fprintf_vma.
	(_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
	* elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
	* elfxx-target.h (elf_backend_sprintf_vma): Don't define.
	(elf_backend_fprintf_vma): Likewise.
	(elfNN_bed): Don't init removed fields.
	* bfd.c (is32bit): New function.
	(bfd_sprintf_vma, bfd_fprintf_vma): Use the above.

2007-09-11  Nathan Sidwell  <nathan@codesourcery.com>

	* archures.c: Add bfd_mach_mcf_isa_c_nodiv,
	bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
	* ieee.c (ieee_write_processor): Update coldfire architecture
	list.
	* bfd-in2.h: Rebuilt.
	* cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
	(m68k_arch_features): Likewise.
	* elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
	(elf32_m68k_print_private_bfd_data): Likewise.

2007-09-11  Jan Beulich  <jbeulich@novell.com>

	* elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
	* elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.

2007-09-08  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (func_desc_adjust): When resolving undefined
	references to dot-symbols, transfer def_regular and
	def_dynamic from the descriptor symbol.

2007-09-08  Alan Modra  <amodra@bigpond.net.au>

	* config.bfd: Set want64 for spu-*-elf.

2007-09-08  Alan Modra  <amodra@bigpond.net.au>

	PR ld/2864, ld/5006
	* elf.c (special_sections): Comment typo.
	(elf_fake_sections): Force SHT_PROGBITS for sections that are
	SHT_NOBITS if BFD section flags say they have contents.

2007-09-04  Michael Snyder  <msnyder@access-company.com>

	* elf32-bfin.c (howto_table): Cut and paste error?  
	Name field of reloc is wrong.

2007-09-04  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (elf_howto_table): Formatting.

2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* dwarf2.c (new_line_sorts_after): Undo the last change.
	(add_line_info): Only keep the last entry with the same address
	and end sequence.

2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* dwarf2.c (new_line_sorts_after): Also compare line number.

2007-08-31  Jesse Michael  <jmichael@suse.de>

	* mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
	zerofill sections.

2007-08-28  David Heine  <dlheine@tensilica.com>

	* elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
	narrowing instructions.

2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
	then on type.

2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>

	* config.bfd: Add support for i[3-7]86-*-dragonfly*.
	* configure.in: Likewise.
	* configure: Regenerate.

2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
	    Alan Modra  <amodra@bigpond.net.au>

	* elf.c (elfcore_grok_spu_note): New function.
	(elf_parse_notes): Call it.

2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
	indentation.

2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>

	* elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
	guard.  Make it host independent.
	(elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
	NT_WIN32PSTATUS.

2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
	* elf.c (elfcore_read_notes): Split to ...
	(elf_read_notes) ... here ...
	(elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
	the former subfunctions called only for BFD_CORE.
	Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
	(_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
	(bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
	(elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
	Code advisory: Roland McGrath

2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf64-mips.c (elf_backend_sign_extend_vma): Define.

2007-08-24  Alan Modra  <amodra@bigpond.net.au>

	* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.

2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c: Include "bfd_stdint.h".
	(elf_i386_rtype_to_howto): New function.
	(elf_i386_info_to_howto_rel): Use it.
	(x86_64_opcode16): New union type.
	(elf_i386_check_tls_transition): New function.
	(elf_i386_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf_i386_check_relocs): Return FALSE if
	elf_i386_tls_transition returns FALSE.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

	* elf64-x86-64.c: Include "bfd_stdint.h".
	(x86_64_opcode16): New union type.
	(x86_64_opcode32): Likewise.
	(elf64_x86_64_check_tls_transition): New function.
	(elf64_x86_64_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf64_x86_64_check_relocs): Return FALSE if
	elf64_x86_64_tls_transition returns FALSE.
	(elf64_x86_64_gc_sweep_hook): Likewise.
	(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elfxx-ia64.c: Convert to ISO C90 prototypes.
	(elfNN_hpux_backend_section_from_bfd_section): Make it static.

2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c: Remove trailing whitespace.
	* elfxx-ia64.c: Likewise.

2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_tls_transition): Accept a pointer
	to ELF hash entry instead of an integer for local test.
	(elf_i386_check_relocs): Updated.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise.

	* elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
	pointer to ELF hash entry instead of an integer for local
	test.
	(elf64_x86_64_check_relocs): Updated.
	(elf64_x86_64_gc_sweep_hook): Likewise.
	(elf64_x86_64_relocate_section): Likewise.

2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_tls_transition): Break long line.
	* elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.

2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
	(ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
	(ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.

2007-08-20  Nick Clifton  <nickc@redhat.com>

	* elflink.c (elf_fixup_link_order): Rewrite conversion of
	s->alignment_power into an offset mask in order to avoid a gcc
	error message.

2007-08-17  Jakub Jelinek  <jakub@redhat.com>

	* config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
	Change sparc64-*-linux-* to sparc64*-*-linux-*.

2007-08-17  Alan Modra  <amodra@bigpond.net.au>

	* po/Make-in: Add --msgid-bugs-address to xgettext invocation.

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c: Revert last change.

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
	(bfd_section_from_phdr): Likewise.
	(get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
	if there is an attribute section.
	(_bfd_elf_map_sections_to_segments): Likewise.
	(IS_SECTION_IN_INPUT_SEGMENT): Likewise.

2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4918
	* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
	on ___tls_get_addr for GD->LE/LD->LE transitions when not
	building shared library.

	* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
	R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
	when not building shared library.

2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
	initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
	Removed PF_R checking for IA-64 vDSOs as redundant now.
	Code advisory: Roland McGrath

2007-08-13  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
	(mips_elf_record_global_got_symbol): Increment local_gotno for
	each forced-local symbol.
	(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
	mips_elf_record_global_got_symbol for VxWorks too.
	(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
	to true after computing the GOT size.
	(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
	got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
	For VxWorks, add a local entry when hiding a symbol that needs a
	plt but has not been marked as needing a global got entry.
	(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
	false.

2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* coffgen.c (coff_get_normalized_symtab): Correct cast.

2007-08-13  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (elf_modify_segment_map): Add remove_empty_load param.
	Don't remove empty PT_LOAD header if false.
	(_bfd_elf_map_sections_to_segments): If user phdrs, pass false
	to elf_modify_segment_map.
	(assign_file_positions_for_load_sections): Pass false to
	elf_modify_segment_map.

2007-08-13  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
	Update stub comments.
	(build_plt_stub): Build two variants, one without "addis".
	(ppc_build_one_stub): Build stubs without "addis" if possible.
	(ppc_size_one_stub): Size new stubs.

2007-08-11  Richard Sandiford  <richard@codesourcery.com>

	* config.bfd (sh-*-vxworks): Define targ_underscore to "yes".

2007-08-09  Michael Snyder  <msnyder@access-company.com>

	* aoutx.h (aout_get_external_symbols): Return if count is zero.

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.
	* 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  <joseph@codesourcery.com>

	* 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  <amodra@bigpond.net.au>

	* 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  <amodra@bigpond.net.au>

	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
	symsec != NULL tests.

2007-07-02  Alan Modra  <amodra@bigpond.net.au>

	PR 4712
	* elf.c (assign_file_positions_for_load_sections): Adjust lma
	by p_vaddr_offset.

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.

2007-06-29  Joseph Myers  <joseph@codesourcery.com>

	* elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
	(ppc_elf_merge_private_bfd_data): Call it.

2007-06-29  Joseph Myers  <joseph@codesourcery.com>

	* elfxx-mips.c (mips_elf_merge_obj_attributes): New.
	(_bfd_mips_elf_merge_private_bfd_data): Call it.

2007-06-29  Joseph Myers  <joseph@codesourcery.com>

	* 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  <paul@codesourcery.com>

	* 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  <msnyder@access-company.com>

	* bfd.c (bfd_demangle): Plug memory leak (Coverity).

2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>

	* 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  <amodra@bigpond.net.au>

	* 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  <froydnj@codesourcery.com>

	* elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
	types.

2007-06-29  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_fake_sections): New function.
	(elf_backend_fake_sections): Define.

2007-06-29  Alan Modra  <amodra@bigpond.net.au>

	* 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  <amodra@bigpond.net.au>

	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  <amodra@bigpond.net.au>

	* 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  <hongjiu.lu@intel.com>

	* 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  <joseph@codesourcery.com>

	* elf32-arm.c (copy_eabi_attributes): Copy type of attributes.

2007-06-25  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
	to be used for calls from MIPS16 code.

2007-06-23  Andreas Schwab  <schwab@suse.de>

	* 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  <nickc@redhat.com>

	* 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  <hongjiu.lu@intel.com>

	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  <hongjiu.lu@intel.com>

	* 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  <hongjiu.lu@intel.com>

	* 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  <sterling@tensilica.com>
	    Bob Wilson  <bob.wilson@acm.org>

	* 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  <rsandifo@nildram.co.uk>

	* 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  <amodra@bigpond.net.au>

	* simple.c (bfd_simple_get_relocated_section_contents): Init
	input_bfds_tail.

2007-05-30  Alan Modra  <amodra@bigpond.net.au>

	* 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  <echristo@apple.com>

	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
	Check that sym_sec isn't NULL before accessing.

2007-05-24  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in: Regnerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* doc/Makefile.in: Regenerate.

2007-05-22  Paul Brook  <paul@codesourcery.com>

	* 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  <paul@codesourcery.com>

	* 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  <hongjiu.lu@intel.com>
	    Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
	section to the minimum alignment.

2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
	    Alan Modra  <amodra@bigpond.net.au>

	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  <richard@codesourcery.com>

	* 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  <shinwell@codesourcery.com>

	* elf32-arm.c (elf32_arm_final_link_relocate): Correctly
	handle the Thumb-2 JUMP19 relocation.

2007-05-15  Alan Modra  <amodra@bigpond.net.au>

	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  <amodra@bigpond.net.au>

	* elf.c (bfd_elf_string_from_elf_section): Return NULL on
	invalid shstrndx.
	(bfd_elf_get_str_section): Likewise.

2007-05-12  Alan Modra  <amodra@bigpond.net.au>

	PR 4497
	* elf-eh-frame.c (struct cie): Add "local_personality".  Make
	"personality" a union.
	(cie_eq): Compare local_personality too.  Adjust personality
	comparison.
	(_bfd_elf_discard_section_eh_frame): Check binding on personality
	reloc sym to allow for bad symtab.  Use stashed local syms rather
	than reading personality local sym.  Handle discarded sections.

2007-05-12  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.

2007-05-11  Alan Modra  <amodra@bigpond.net.au>

	* elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
	(enum ppc_elf_plt_type): Move from..
	* elf32-ppc.c: ..here.
	(struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
	(struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
	can_use_new_plt.  Make is_vxworks a bitfield.
	(ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
	(ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
	(ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
	flags to better detect object files needing old bss-style plt.
	Allow secure plt to be used without rel16 relocs being detected.
	Warn if secure plt request cannot be allowed.

2007-05-11  Alan Modra  <amodra@bigpond.net.au>

	* reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
	* elf-bfd.h (struct elf_backend_data): Change return type of
	elf_backend_relocate_section to int.
	* elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
	R_SPU_PPU64.
	(spu_elf_bfd_to_reloc_type): Convert new relocs.
	(spu_elf_count_relocs): New function.
	(elf_backend_count_relocs): Define.
	(spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
	R_SPU_PPU64 relocs.
	* elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
	returns 2.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2007-05-10  Richard Sandiford  <richard@codesourcery.com>

	* elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
	for R_ARM_ABS12 relocs.
	(elf32_arm_finish_dynamic_symbol): Fix the loop that creates
	non-shared VxWorks PLT entries.

2007-05-11  Alan Modra  <amodra@bigpond.net.au>

	PR 4454
	* elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
	(_bfd_elf_discard_section_eh_frame): Handle local syms on
	personality relocation.

2007-05-10  Richard Sandiford  <richard@codesourcery.com>

	* elf.c (assign_file_positions_for_load_sections): Use p_memsz
	rather than p_filesz to calculate the LMA of the end of a segment.

2007-05-10  Jakub Jelinek  <jakub@redhat.com>

	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
	processing if symbol is defined in the executable.

2007-05-10  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
	(frvfdpic_elf_discard_info): New.
	(elf_backend_discard_info): Define for FDPIC.

2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>

	* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
	attempt to scan if the bfd doesn't correspond to an ELF image.
	(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.

2007-05-08  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
	for which _bfd_elf_section_offset returns -1.

2007-05-08  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
	(mark_functions_via_relocs): Likewise.

2007-05-07  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (bfd_elf_final_link): Correct reloc handling for
	elf_backend_count_relocs.
	(bfd_elf_discard_info): Print an error if we can't read syms.

2007-05-07  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
	invalid reloc code.
	(spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
	(elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
	define.

2007-05-07  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (assign_file_positions_for_load_sections): Don't check
	core segment.

2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
	and .rel.dyn aren't present.

2007-05-04  Nick Clifton  <nickc@redhat.com>

	* elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
	sections are present examine the indirect sections in an attempt
	to compute the correct relocation size.  If there is any
	ambiguity, produce an error and refuse to sort.

2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>

	* elf32-arm.c (allocate_dynrelocs): Fix typo in comment.

2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
	    Nick Clifton  <nickc@redhat.com>

	PR gas/3041
	* aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
	in the same way as relocs against external symbols.

2007-05-02  Alan Modra  <amodra@bigpond.net.au>

	* elf.c (assign_file_positions_for_load_sections): Set sh_offset
	here.  Set sh_type to SHT_NOBITS if we won't be allocating
	file space.  Don't bump p_memsz for non-alloc sections.  Adjust
	section-in-segment check.
	(assign_file_positions_for_non_load_sections): Don't set sh_offset
	here for sections that have already been handled above.

2007-04-30  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
	and emit_stack_syms bitfields.
	(get_sym_h): Read all symbols if stack analysis will be done.
	(spu_elf_create_sections): Add stack_analysis and emit_stack_syms
	params, and stash in hash table.
	(is_hint): Split off from..
	(is_branch): ..here.  Adjust callers.
	(spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
	and keep all syms.
	(write_one_stub): Fix mem leak.
	(find_function_stack_adjust): New function.
	(sort_syms_syms, sort_syms_psecs): New vars.
	(sort_syms): New function.
	(struct call_info, struct function_info): New.
	(struct spu_elf_stack_info): New.
	(alloc_stack_info, maybe_insert_function, func_name): New functions.
	(is_nop, insns_at_end, check_function_ranges): Likewise.
	(find_function, insert_callee, mark_functions_via_relocs): Likewise.
	(pasted_function, interesting_section, discover_functions): Likewise.
	(mark_non_root, call_graph_traverse, build_call_tree): Likewise.
	(sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
	(bfd_elf32_bfd_final_link): Define.
	* elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
	(spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.

2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>

	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
	memory which we might not own.

2007-04-27  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
	(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
	(elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.

2007-04-27  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (xtensa_read_table_entries): Step through table
	contents and relocs in parallel.

2007-04-27  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (relax_property_section): Remove extra irel increment.

2007-04-27  Alan Modra  <amodra@bigpond.net.au>

	* cpu-rs6000.c: Write Mimi's name in ASCII.
	* coff-rs6000.c: Likewise.
	* rs6000-core.c: Likewise.

2007-04-27  Alan Modra  <amodra@bigpond.net.au>

	* sysdep.h: Include config.h first.
	Many files: Include sysdep.h before bfd.h.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2007-04-25  Alan Modra  <amodra@bigpond.net.au>

	* sysdep.h: Revert last change.

2007-04-24  Nick Clifton  <nickc@redhat.com>

	* coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
	* coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.

2007-04-24  Alan Modra  <amodra@bigpond.net.au>

	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
	eh_frame_hdr table won't be created.

2007-04-24  Alan Modra  <amodra@bigpond.net.au>

	* acinclude.m4: Include config/stdint.m4.
	* configure.in: Invoke GCC_HEADER_STDINT.
	* sysdep.h: Don't include ansidecl.h here.
	* configure: Regenerate.
	* config.in: Regenerate.
	* Makefile.in: Regenerate.

2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>

	* archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
	bfd_mach_mcf_isa_c_emac): New.
	* elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
	elf_isac_plt_entry, elf_isac_plt_info): New.
	(elf32_m68k_object_p): Add ISA_C.
	(elf32_m68k_print_private_bfd_data): Print ISA_C.
	(elf32_m68k_get_plt_info): Detect ISA_C.
	* cpu-m68k.c (arch_info): Add ISAC.
	(m68k_arch_features): Likewise,
	(bfd_m68k_compatible): ISAs B & C are not compatible.

2007-04-21  Nick Clifton  <nickc@redhat.com>

	* ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
	(ecoff_link_add_archive_symbols): Likewise.
	* coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
	relent.howto.
	* ieee.c (parse_int): Initialise x.
	(must_parse_int): Initialise result.
	(ieee_slurp_external_symbols): Initialise value.

2007-04-21  Alan Modra  <amodra@bigpond.net.au>

	* config.bfd (spu-*-elf): Delete targ_selvecs.

2007-04-19  Nick Clifton  <nickc@redhat.com>

	* coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.

2007-04-19  Alan Modra  <amodra@bigpond.net.au>

	* bfd.c (bfd_demangle): New function.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.

2007-04-18  Matthias Klose  <doko@ubuntu.com>

	* Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
	(bfdver.h): Use the date in non-release builds for the soversion.
	* Makefile.in: Regenerate.

2007-04-17  Paul Brook  <paul@codesourcery.com>

	* elf.c (_bfd_elf_is_function_type): New function.
	* elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
	(_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
	is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
	* elf-bfd.h (elf_backend_data): Add is_function_type.
	(_bfd_elf_is_function_type): Add prototype.
	* elfxx-target.h (elf_backend_is_function_type): Add default
	definition.
	(elfNN_bed): Add elf_backend_is_function_type.
	* elf32-arm.c (elf32_arm_is_function_type): New function.
	(elf_backend_is_function_type): Define.

2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
	DT_MIPS_RLD_MAP before DT_DEBUG again.

2007-04-14  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.am: Add ACLOCAL_AMFLAGS.
	* configure.in: Change macro call order.
	* Makefile.in: Regnerate.
	* doc/Makefile.in: Regenerate.
	* configure: Regenerate.

2007-04-14  Jakub Jelinek  <jakub@redhat.com>

	* elflink.c (bfd_elf_final_link): Don't free symbuf for
	non-elf input bfds.
	(bfd_elf_size_dynamic_sections): Don't access elf_section_data
	for non-elf input bfds.

2007-04-12  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
	DT_MIPS_RTLD_MAP for PIEs.

2007-04-12  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
	when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
	in a read-only section.
	(_bfd_mips_elf_check_relocs): Likewise.

2007-04-12  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (xtensa_is_insntable_section): New.
	(xtensa_is_proptable_section): New.
	(elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
	tables with 12-byte entries, as well as tables with 8-byte entries.
	Sort the relocations before examining them.
	(relax_property_section): Use xtensa_is_proptable_section and
	xtensa_is_littable_section.  Rewrite code for combining table entries
	to be more robust in case of unexpected relocations.  Do not set offset
	of unused relocations to less than zero.
	(xtensa_is_property_section): Use other functions instead of
	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  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
	from Xtensa property sections.

2007-04-12  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
	is non-NULL before dereferencing.

2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>

	* elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
	relocs too.

2007-04-10  Richard Henderson  <rth@redhat.com>

	* elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
	(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
	relax_trip counter has changed.

2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
	* doc/Makefile.am (DOCFILES): Add bfdver.texi.
	(bfdver.texi): New rule.
	* Makefile.in, doc/Makefile.in: Regenerated.

2007-04-03  Matt Thomas  <matt@netbsd.org>

	* 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.

2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4304
	* elflink.c (bfd_elf_final_link): Call einfo callback in
	bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
	warning.

2007-04-05  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_output_symbol_hook): New function.
	(elf_backend_link_output_symbol_hook): Define.

2007-04-02  Nick Clifton  <nickc@redhat.com>

	PR binutils/4292
	* bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
	targets as 64-bit values, even if running on a 64-bit host.
	* coffgen.c (coff_print_symbol): Likewise.

2007-03-29  Nick Clifton  <nickc@redhat.com>

	PR binutils/4110
	* elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
	(setup_group): Use it.  Report corrupt group section headers.
	(bfd_section_from_shdr): Use new macro.  Replace constant 4 with
	GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
	(elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.

2007-03-29  Alan Modra  <amodra@bigpond.net.au>

	PR ld/4267
	* elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
	for rel->r_info values.
	(bfd_elf_perform_complex_relocation): Likewise.
	* elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
	unused entries.  Don't clear plt.plist in loop.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
	* elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
	Merge into...
	(sparc_elf_append_rela): ...this new function.
	(SPARC_ELF_APPEND_RELA): Delete.
	(_bfd_sparc_elf_link_hash_table_create): Don't initialize
	the deleted append_rela field.
	(_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
	instead of SPARC_ELF_APPEND_RELA.
	(_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
	elf_size_info structure to find the size of a RELA entry and
	the associated swap-out function.
	(sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
	(sparc_finish_dyn): ...this new function.
	(_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>
	    Phil Edwards  <phil@codesourcery.com>

	* doc/bfd.texinfo: Put the contents after the title page rather
	than at the end of the document.

2007-03-27  Andreas Schwab  <schwab@suse.de>

	* elfxx-ia64.c (elf_backend_default_execstack): Define to 0.

2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2007-03-26  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
	(allocate_spuear_stubs): New function.
	(spu_elf_size_stubs): Call allocate_spuear_stubs.

2007-03-26  Alan Modra  <amodra@bigpond.net.au>

	* aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
	* aout-arm.c (MY_bfd_reloc_name_lookup): Define.
	(MY (bfd_reloc_name_lookup)): New function.
	* aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
	* aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
	(MY_bfd_reloc_name_lookup): Define.
	* aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
	(MY_bfd_reloc_name_lookup): Define.
	* aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
	(NAME (aout, reloc_name_lookup)): New function.
	* bout.c (b_out_bfd_reloc_name_lookup): New function.
	* coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
	(_bfd_ecoff_bfd_reloc_name_lookup): Define.
	* coff-arm.c (coff_arm_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-i386.c (coff_bfd_reloc_name_lookup): Define.
	(coff_i386_reloc_name_lookup): New function.
	* coff-i860.c (coff_i860_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-i960.c (coff_i960_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-m68k.c (m68k_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-maxq.c (maxq_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-mips.c (mips_bfd_reloc_name_lookup): New function.
	(_bfd_ecoff_bfd_reloc_name_lookup): Define.
	* coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
	(_bfd_xcoff_reloc_name_lookup): New function.
	(rs6000coff_vec, pmac_xcoff_vec): Init new field.
	* coff-sh.c (coff_bfd_reloc_name_lookup): Define.
	(sh_coff_reloc_name_lookup): New function.
	* coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
	(tic30_coff_reloc_name_lookup): New function.
	* coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
	(tic4x_coff_reloc_name_lookup): New function.
	* coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
	(tic54x_coff_reloc_name_lookup): New function.
	* coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
	(coff_amd64_reloc_name_lookup): New function.
	* coff-z80.c (coff_z80_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
	(xcoff64_reloc_name_lookup): New function.
	(rs6000coff64_vec, aix5coff64_vec): Init new field.
	* coffcode.h (coff_bfd_reloc_name_lookup): Define.
	* elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
	* elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-cris.c (cris_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-crx.c (elf_crx_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-fr30.c (fr30_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-frv.c (frv_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-i370.c (i370_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-i386.c (elf_i386_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-m32c.c (m32c_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-m68k.c (reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-mep.c (mep_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	(mips_vxworks_bfd_reloc_name_lookup): Likewise.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-mt.c (mt_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elf32-pj.c (pj_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-s390.c (elf_s390_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-score.c (elf32_score_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-sh.c (sh_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-spu.c (spu_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-v850.c (v850_elf_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-vax.c (reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
	(bfd_elf32_bfd_reloc_name_lookup): Define.
	* elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
	(bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
	* elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
	* elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
	(bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-s390.c (elf_s390_reloc_name_lookup): New function.
	(bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
	(bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
	* elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
	(bfd_elf64_bfd_reloc_name_lookup): Define.
	* elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
	* elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
	(bfd_elfNN_bfd_reloc_name_lookup): Define.
	* elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
	* elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
	* i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
	* i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
	* ieee.c (ieee_bfd_reloc_name_lookup): Define.
	* libaout.h (NAME (aout, reloc_name_lookup)): Declare.
	* libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
	* mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
	(MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
	(MY(reloc_name_lookup)): New function.
	* nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
	* oasys.c (oasys_bfd_reloc_name_lookup): Define.
	* pdp11.c (NAME (aout, reloc_name_lookup)): New function.
	* pe-mips.c (coff_mips_reloc_name_lookup): New function.
	(coff_bfd_reloc_name_lookup): Define.
	* reloc.c (bfd_reloc_name_lookup): New function.
	* riscix.c (riscix_reloc_name_lookup): New function.
	(MY_bfd_reloc_name_lookup): Define.
	* som.c (som_bfd_reloc_name_lookup): New function.
	* targets.c (struct bfd_target): Add reloc_name_lookup.
	(BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
	* versados.c (versados_bfd_reloc_name_lookup): Define.
	* vms.c (vms_bfd_reloc_name_lookup): New function.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2007-03-26  Thiemo Seufer  <ths@mips.com>

	PR ld/4208
	* elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
	matching relocation is found.
	(_bfd_mips_elf_relocate_section): Only warn about missing relocations.

2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2007-03-23  Joseph Myers  <joseph@codesourcery.com>

	* configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
	* configure: Regenerate.

2007-03-23  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_stub_name): Don't put input section in stub name.
	Remove input_sec param.  Adjust all calls.
	(write_one_stub): Adjust stub symbol.
	(needs_ovl_stub): New function, extracted from..
	(spu_elf_size_stubs): ..here.
	(spu_elf_relocate_section): Use needs_ovl_stub.

2007-03-22  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
	if nonempty.
	* configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
	* Makefile.in, configure, doc/Makefile.in: Regenerate.

2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4210
	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
	address and virtual size of the last section for the image
	size.

2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4007
	* elf.c (assign_file_positions_for_load_sections): Check if
	all sections are in the segment.

2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4208
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
	matching LO16 relocation for HI16 relocation.

2007-03-20  Paul Brook  <paul@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): Add pic_veneer.
	(record_arm_to_thumb_glue): Use globals->pic_veneer.
	(elf32_arm_create_thumb_stub): Ditto.
	(bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.

2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>

	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
	argument and extra last argument.
	* bfd-in2.h: Regenerate.
	* elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
	member.
	(bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
	extra last argument.  Set no_enum_size_warning appropriately.
	(elf32_arm_merge_eabi_attributes): Improve enum sizes
	diagnostic, suppressing it when no_enum_size_warning dictates.

2007-03-20  Nick Clifton  <nickc@redhat.com>

	PR binutils/3535
	* elf.c (copy_private_bfd_data): Widen the scope of Solaris
	specific conditions that need the program headers to be
	rewritten.

2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>

	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
	MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
	SizeOfInitializedData, SizeOfUninitializedData,
	AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
	extra PE a.out header.
	(IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
	(IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
	defined.
	(IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
	defined.
	(_bfd_XX_print_private_bfd_data_common): Also print Magic,
	MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
	SizeOfInitializedData, SizeOfUninitializedData,
	AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
	extra PE a.out header.

2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	* targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
	only if BFD64 is defined.

2007-03-17  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
	on setjmp calls.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/Makefile.in: Regenerated.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
	create doc/bfdver.texi.
	* Makefile.in: Regenerated.

	* configure.in (--with-bugurl): New option.
	* configure: Regenerated.

	* version.h (REPORT_BUGS_TO): New.

2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3826
	* elf-bfd.h (elf_backend_data): Add elf_osabi.
	(_bfd_elf_set_osabi): New.

	* elf.c (_bfd_elf_set_osabi): New.

	* elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi.
	(ELF_OSABI): Properly defined for each target.

	* elf32-i370.c (i370_elf_post_process_headers): Removed.
	(ELF_OSABI): Defined.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi.

	* elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
	freebsd.
	(elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.

	* elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
	(ELF_OSABI): Defined.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi.

	* elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
	freebsd.
	(elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
	elf_osabi.

	* elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
	with elf_osabi.
	(ELF_OSABI): Properly defined for each target.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi for Linux.

	* elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
	(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi.

	* elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
	(ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
	(elf_backend_post_process_headers): Defined with
	_bfd_elf_set_osabi.

	* elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
	with any ELF target of the compatible machine for which we do not
	have a specific backend.

	* elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
	with elf_osabi.

	* elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
	(elfNN_bed): Initialize elf_osabi with ELF_OSABI.

2007-03-08  Alan Modra  <amodra@bigpond.net.au>

	* elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
	V850_OTHER_* bits.

2007-03-08  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
	(BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>

	* config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
	(x86_64-*-kfreebsd*-gnu): Likewise.
	(x86_64-*-netbsd*): Likewise.
	(x86_64-*-openbsd*): Likewise.
	(x86_64-*-linux-*): Likewise.

	* configure.in: Support bfd_efi_app_x86_64_vec.
	* configure: Regenerated.

	* efi-app-x86_64.c: New file.

	* targets.c (bfd_efi_app_x86_64_vec): New.
	(_bfd_target_vector): Add bfd_efi_app_x86_64_vec.

2007-03-07  Kai Tietz   <kai.tietz@onevision.com>

	* reloc.c (bfd_generic_get_relocated_section_contents): Remove
	const for type reloc_howto_type.

2007-03-07  Alan Modra  <amodra@bigpond.net.au>

	PR 3958
	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
	(elf_discarded_section): Move..
	* bfd-in.h: ..to here.
	* bfd-in2.h: Regenerate.
	* elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
	from discarded sections before relocate_section has done its job.
	* reloc.c (bfd_generic_get_relocated_section_contents): Handle
	relocs against symbols from discarded sections.
	* elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
	SECREL32.
	(elf_hppa_relocate_section): Handle relocatable link after setting
	sec, sym, h etc. for final link.  Squash error messages for
	relocatable link.  Clear section contents for relocs against
	symbols in discarded sections, and zero reloc.  Remove existing
	zero r_symndx code.
	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
	(bfin_relocate_section): Likewise.
	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
	* elf32-cris.c (cris_elf_relocate_section): Likewise.
	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-mep.c (mep_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-mt.c (mt_elf_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-spu.c (spu_elf_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
	(elf64_alpha_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.

	* elf32-arm.c (elf32_arm_relocate_section): Always adjust section
	symbols for relocatable link.  Don't use always-zero st_value.
	(elf_backend_rela_normal): Don't define.
	* elf32-bfin.c (bfinfdpic_relocate_section): Use
	RELOC_FOR_GLOBAL_SYMBOL.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
	section symbol adjustments with same for relocatable link.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
	(elf32_m68hc11_check_relocs): ..to here.
	* elf32-score.c (score_elf_final_link_relocate): Remove zero
	r_symndx code.
	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.

2007-03-07  Alan Modra  <amodra@bigpond.net.au>

	PR 4144
	* elf.c (assign_file_positions_for_load_sections): Don't
	adjust p_memsz for !SEC_LOAD section vma modulo page size.
	Instead, use the same lma based adjustment for SEC_LOAD
	sections.

2007-03-01  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
	(find_relaxable_sections): Do not increment src_count for unknown
	opcodes.  Decode only once instead of calling is_l32r_relocation.
	(compute_text_actions): Remove unused no_insn_move flag.  Assert that
	src_next matches src_count in relax_info.

2007-03-01  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (bfdver.h): Use "." not " " between version number
	and date.
	* Makefile.in: Regenerate.
	* configure.in (PKGVERSION): Default to "(GNU Binutils) ".
	* configure: Regenerate.

2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.

2007-02-27  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
	* elf32-spu.c (ovl_mgr_pread): Add const to casts.

2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>

	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
	DWARF even with 64-bit addresses.
	(_bfd_dwarf2_find_nearest_line): Likewise.

2007-02-23  Nick Clifton  <nickc@redhat.com>

	PR binutils/3535
	* elf.c (copy_private_bfd_data): Always rewrite the program
	headers when a Solaris interpreter segment is involved.

2007-02-22  Paul Brook  <paul@codesourcery.com>

	* elflink.c (gc_mark_hook_fn): Remove.
	(_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
	(bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
	* elf-bfd.h (elf_gc_mark_hook_fn): Define.
	(elf_backend_data): Add gc_mark_extra_sections.
	* elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
	definition.
	(elfNN_bed): Add elf_backend_gc_mark_extra_sections.
	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
	(elf_backend_gc_mark_extra_sections): Define.

2007-02-21  Nick Clifton  <nickc@redhat.com>

	* elf.c (_bfd_elf_map_sections_to_segments): If the
	override_segment_assignment callback is defined then call it.

2007-02-21  Alan Modra  <amodra@bigpond.net.au>

	* elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.

2007-02-19  Thiemo Seufer  <ths@mips.com>

	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
	translation marker from untranslatable strings.

2007-02-19  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (struct elf_backend_data): Add default_execstack.
	* elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
	* elfxx-target.h (elf_backend_default_execstack): Define to 1.
	(elfNN_bed): Init new field.
	* elf64-ppc.c (elf_backend_default_execstack): Define to 0.

2007-02-17  Mark Mitchell  <mark@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Vladimir Prus  <vladimir@codesourcery.com
            Joseph Myers  <joseph@codesourcery.com>

	* configure.in (--with-pkgversion): New option.
	* configure: Regenerate.
	* Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
	* Makefile.in: Regenerate.
	* version.h (BFD_VERSION_STRING): Define using
	@bfd_version_package@.

2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>

	* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
	Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
	and EF_MIPS_UCODE.

2007-02-15  Alan Modra  <amodra@bigpond.net.au>

	* libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
	declare.
	(_bfd_norelocs_canonicalize_reloc): Likewise.
	* libbfd.h: Regenerate.
	* libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
	(_bfd_norelocs_canonicalize_reloc): Likewise.
	* binary.c (binary_bfd_reloc_type_lookup): Don't define.
	(binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
	(binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
	* ihex.c: Similarly.
	* mach-o-target.c: Similarly.
	* mach-o.c: Similarly.
	* mmo.c: Similarly.
	* pef.c: Similarly.
	* ppcboot.c: Similarly.
	* srec.c: Similarly.
	* xsym.c: Similarly.

2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3953
	* elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
	when adding default symbol.

2007-02-13  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
	for branch lookup table.

2007-02-12  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (create_linkage_sections): Don't create
	.rela.rodata.brlt for --emit-relocs.
	(ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
	(ppc_size_one_stub): Count them.  Simplify test of stub type
	when counting stub relocs.  Set SEC_RELOC too.
	(ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
	(ppc64_elf_finish_dynamic_sections): Output brlt relocs.

2007-02-12  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
	with a zero symbol index.

2007-02-12  Alan Modra  <amodra@bigpond.net.au>

	* elflink.c (bfd_elf_discard_info): Tidy setting of "eh".

2007-02-05  Dave Brolley  <brolley@redhat.com>
            Stan Cox  <scox@redhat.com>

	PR ld/3972
	* elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.

2007-02-05  Dave Brolley  <brolley@redhat.com>
	    Richard Sandiford  <rsandifo@redhat.com>
	    Stan Cox  <scox@redhat.com>
	    Nick Clifton  <nickc@redhat.com>
	    DJ Delorie  <dj@redhat.com>
	    Frank Ch. Eigler  <fche@redhat.com>
	    Ben Elliston  <bje@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
	(ALL_MACHINES_CFILES): Add CPU_MEP.c.
	(BFD32_BACKENDS): Add elf32-mep.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-mep.c.
	(cpu-mep.lo,elf32-mep.lo): New targets.
	* archures.c (bfd_arch_mep): New enumerator.
	(bfd_mach_mep, bfd_mach_mep_h1): New macros.
	(bfd_mep_arch): New external variable.
	(bfd_archures_list): Add bfd_mep_arch.
	* config.bfd: Support mep-*-elf.
	* configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
	* reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
	* targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
	declarations.
	(_bfd_target_vector): Add bfd_elf32_mep_vec and
	bfd_elf32_mep_little_vec.
	* mep-relocs.pl: New file.
	* cpu-mep.c: New file.
	* elf32-mep.c: New file.
	* bfd-in2.h: Regenerate.
	* po/POTFILES.in: Regenerate.
	* libbfd.h: Regenerate.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2007-02-05  Dave Brolley  <brolley@redhat.com>

	* elflink.c (evaluate_complex_relocation_symbols): Check for
	STT_SRELC for global symbols.
	(perform_complex_relocations): Renamed to
	perform_complex_relocation and now examines only one relocation.
	(elf_link_input_bfd): Don't call perform_complex_relocations.
	* elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
	* elf32-mep.c (mep_elf_howto_table): Add R_RELC.
	(OD,OS,OU): #undefs corrected to N, S and U repectively.
	(mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
	(complex_reloc_installation_howto): Removed.
	(mep_info_to_howto_rela): Remove special case for r_type==0xff.
	(mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.

2007-02-05  Dave Brolley  <brolley@redhat.com>
	    Richard Sandiford  <rsandifo@redhat.com>
	    DJ Delorie  <dj@redhat.com>
	    Graydon Hoare  <graydon@redhat.com>
	    Nick Clifton  <nickc@cambridge.redhat.com>
	    Jeff Holcomb  <jeffh@redhat.com>
	    Frank Ch. Eigler  <fche@redhat.com>

	* elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
	* elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
	* elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
	* elflink.c (set_symbolValue): New static function.
	(resolve_symbol): Likewise.
	(resolve_section): Likewise.
	(undefined_reference): Likewise.
	(eval_symbol): Likewise.
	(evaluate_complex_relocation_symbols): Likewise.
	(put_value): Likewise.
	(get_value): Likewise.
	(decode_complex_addend):
	(bfd_elf_perform_complex_relocation): New function.
	(elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
	* reloc.c (BFD_RELOC_RELC): New relocation number.
	* syms.c (BSF_RELC,BSF_SRELC): New macros.

2007-02-05  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
	(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
	(elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
	(elf_xtensa_allocate_got_size): Replace these with...
	(elf_xtensa_allocate_dynrelocs): ...this new function.
	(elf_xtensa_size_dynamic_sections): Use it.

2007-02-05  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
	<R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
	Set src_mask to zero.
	<R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
	<R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
	(elf_xtensa_dynamic_symbol_p): ...this.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* elf32-xtensa.c (plt_reloc_count): Move into link hash table.
	(struct elf_xtensa_link_hash_table): New.
	(elf_xtensa_hash_table): New.
	(elf_xtensa_link_hash_table_create): New.
	(elf_xtensa_check_relocs): Update plt_reloc_count references.
	Update arguments to add_extra_plt_sections.
	(elf_xtensa_create_dynamic_sections): Record new sections in the hash
	table.  Update for plt_reloc_count and add_extra_plt_sections.
	(add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
	argument with link info.  Update calls to elf_xtensa_get_plt_section
	and elf_xtensa_get_gotplt_section.
	(elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
	(elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
	(elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
	(relax_property_section): Get sections from the hash table and update
	function calls.
	(elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
	dynobj argument with link info.  Get sections for first plt chunk from
	the hash table.
	(bfd_elf32_bfd_link_hash_table_create): Define.

2007-02-02  Jakub Jelinek  <jakub@redhat.com>

	* elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
	* elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
	(struct elf_symbol): Change first member into union.
	(elf_sort_elf_symbol): Compare pointers to internal syms rather than
	internal syms.  Only compare st_shndx fields.
	(elf_create_symbuf): New function.
	(bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
	for bfds, use a binary search, otherwise don't qsort symbols
	unnecessarily only to select which symbols are for the particular
	shndx.

2007-02-01  Nick Clifton  <nickc@redhat.com>

	PR ld/3852
	* elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
	in the elf_link_hash_table structure.

2007-02-01  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
	* elfxx-target.h (elf_backend_write_core_note): Define and use.
	* elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
	32-bit core note on 64-bit target.
	(elfcore_write_prstatus): Likewise.
	(elfcore_write_lwpstatus): Make note_name const.
	(elfcore_write_prfpreg): Likewise.
	(elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
	target.
	* elf32-ppc.c (ppc_elf_write_core_note): New function.
	(elf_backend_write_core_note): Define.
	* elf64-ppc.c (ppc64_elf_write_core_note): New function.
	(elf_backend_write_core_note): Define.

2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
	(elf32_bed): Defined for elf32-us-cris.

	* elf64-sh64.c (elf64_bed): Defined for Linux.
	(INCLUDED_TARGET_FILE): Removed.

	* elfxx-target.h (elfNN_bed): Always define. Don't check
	INCLUDED_TARGET_FILE.

2007-01-31  DJ Delorie  <dj@redhat.com>

	* elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
	message for dangerous relocs, special case the common user error.

2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (copy_elf_program_header): Start from the first section
	in a segment and stop when all sections in a segment are
	accounted for.

2007-01-29  Julian Brown  <julian@codesourcery.com>

	* bfd-in2.h: Regenerate.
	* bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
	instruction scanning should be done.
	(bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
	(bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
	(bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
	prototype.
	* elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
	argument.
	* elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
	(VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
	(elf32_vfp11_erratum_type): New enum.
	(elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
	veneers.
	(_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
	(elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
	vfp11_fix and num_vfp11_fixes fields.
	(elf32_arm_link_hash_table_create): Initialise vfp11_fix,
	vfp11_erratum_glue_size, num_vfp11_fixes fields.
	(VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
	(bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
	glue section.
	(elf32_arm_section_map_add): Add an code/data mapping symbol entry
	to a section's map.
	(record_vfp11_erratum_veneer): Create a single veneer, and its
	associated symbols.
	(bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
	(bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
	BFDs.
	(bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
	required.
	(bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
	(bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
	(bfd_arm_vfp11_write_mask): Update write mask according to coded
	register number.
	(bfd_arm_vfp11_antidependency): New function.
	(bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
	(elf32_arm_compare_mapping): Declare.
	(bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
	BFD for potential erratum-triggering insns. Record results.
	(bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
	and branches to veneers have been placed in virtual memory after
	layout.
	(bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
	hash table.
	(elf32_arm_output_symbol_hook): Remove.
	(elf32_arm_write_section): Output veneers, and branches to veneers.
	Use maps from input sections, not output sections, for code
	byte-swapping.
	* elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
	* elf32-score.c (_bfd_score_elf_write_section): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
	* elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.

2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
	(INCLUDED_TARGET_FILE): Removed.

2007-01-27  Mike Frysinger  <vapier@gentoo.org>

	* elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
	(INCLUDED_TARGET_FILE): Remove.

2007-01-25  DJ Delorie  <dj@redhat.com>

	* elf32-m32c.c (m32c_elf_howto_table): Don't complain about
	R_M32C_16 or R_M32C_24 relocs.

2007-01-25  Nick Clifton  <nickc@redhat.com>

	PR binutils/3874
	* elf32-avr.c (avr_link_hash_table): Check to make sure that the
	hash table was created by elf32_avr_link_hash_table_create before
	using it.
	(elf32_avr_link_hash_newfunc): New function.  Just pass the call
	through to _bfd_elf_link_hash_newfunc.
	(elf32_avr_link_hash_table_create): Use
	elf32_avr_link_hash_newfunc instead of
	_bfd_elf_link_hash_newfunc.
	(elf32_avr_relocate_section): Check for the hash table pointer
	being NULL.
	(elf32_avr_relax_section, avr_build_one_stub,
	elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
	elf32_avr_build_stubs): Likewise.

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/3831
	* elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
	argument, Elf_Internal_Sym *.

	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
	symbol dynamic if info->dynamic_data is TRUE.
	(bfd_elf_record_link_assignment): Updated call to
	bfd_elf_record_link_assignment.
	(_bfd_elf_merge_symbol): Likewise.  Always call
	bfd_elf_link_mark_dynamic_symbol.

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (BFD_LIBS): Removed.
	* Makefile.in: Regenerated.

2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3631
	* Makefile.am (OFILES): Add @bfd64_libs@.
	(libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
	* Makefile.in: Regenerated.

	* configure.in (bfd_libs): Replaced by ...
	(bfd64_libs): This.
	* configure: Regenerated.

2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>

	* elf.c (assign_file_positions_for_load_sections): We can
	require fewer phdrs than expected.

2007-01-08  Kazu Hirata  <kazu@codesourcery.com>

	* archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
	* bfd-in2.h: Regenerate.
	* cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
	bfd_mach_cpu32_fido.
	(m68k_arch_features): Use fido_a instead of cpu32.
	(bfd_m68k_compatible): Reject the combination of Fido and
	ColdFire.  Accept the combination of CPU32 and Fido with a
	warning.
	* elf32-m68k.c (elf32_m68k_object_p,
	elf32_m68k_merge_private_bfd_data,
	elf32_m68k_print_private_bfd_data): Treat Fido as an
	architecture by itself.

2007-01-08  Kai Tietz	<kai.tietz@onevision.com>

	* config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.

2007-01-05  Jakub Jelinek  <jakub@redhat.com>

	* texhex.c (first_phase): Don't fall through into the default
	case.
	(pass_over): Replace abort () calls with return FALSE.  Fix
	buffer overflow.

2007-01-04  Jie Zhang  <jie.zhang@analog.com>

	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
	SEC_EXCLUDE on zero size .eh_frame.

For older changes see ChangeLog-2006

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
