2008-10-05  Alan Modra  <amodra@bigpond.net.au>

	PR 6943
	* scripttempl/avr.sc (.bss): Set lma when relocating.
	(.bss, .noinit): No need to set vma when relocating.
	(.text, .bss, ,noinit): Set vma to zero when not relocating.

2008-09-30  Joseph Myers  <joseph@codesourcery.com>

	* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd
	and .rela.branch_lt.

2008-09-29  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2008-09-09  Peter Rosin  <peda@lysator.liu.se>  (tiny change)

	* emultempl/pe.em (pe_find_data_imports): Add trailing newline
	to warning message.
	* emultempl/pep.em (pep_find_data_imports): Likewise.

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

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* po/ld.pot: Regenerate.

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

	* emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Ditto.

2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a marker for the 2.19 features.

2008-09-07  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.h (lang_output_section_find): Define.
	(lang_output_section_statement_lookup): Update prototype.
	* ldlang.c (lang_output_section_find,
	lang_output_section_statement_lookup_1): Merge into..
	(lang_output_section_statement_lookup): ..here.  Update all callers.
	(process_insert_statements): Set constraint negative
	for output section statements we might be inserting.  Make error
	fatal on not finding insertion section.
	(lang_output_section_find): Rather than comparing
	output_section_statement.constraint against -1, test whether
	it is postive.
	(lang_output_section_statement_lookup_1): Likewise.
	(output_prev_sec_find, strip_excluded_output_sections): Likewise.
	(lang_record_phdrs): Likewise.
	* emultempl/elf32.em (output_rel_find): Likewise.
	* NEWS: Mention INSERT.

2008-08-26  Nick Clifton  <nickc@redhat.com>

	PR 6727
	* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all
	input sections in all input bfds and always select the last
	suitable one, so that interworking stubs are always processed
	after all other input sections.
	(arm_elf_before_allocation): Remove redundant use of
	output_has_begun flag.

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

	* configure.in: Update a number of obsolete autoconf macros.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2008-08-21  Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR ld/6833
	* ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Do not align
	EXPLD.DATASEG.MIN_BASE.
	* ldlang.c (lang_size_sections): New variable OLD_BASE.  Rename
	OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'.
	Use OLD_BASE now for the minimal base check after the base decrease by
	the maximum alignment found.

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

	PR 6478
	* ldcref.c (check_local_sym_xref): Use bfd_generic_link_read_symbols.
	Don't free symbol pointer array.
	(check_refs): Likewise.
	* ldmain.c (warning_callback): Likewise.
	* ldmisc.c (vfinfo): Likewise.
	* pe-dll.c (process_def_file): Likewise.
	(pe_walk_relocs_of_symbol, generate_reloc): Likewise.
	* emultempl/pe.em (pe_find_data_imports): Likewise.
	(gld_${EMULATION_NAME}_after_open): Likewise.
	* emultempl/pep.em (pep_find_data_imports): Likewise.
	(gld_${EMULATION_NAME}_after_open): Likewise.
	* ldlang.h (lang_input_statement_type): Delete asymbols, symbol_count,
	passive_position, closed.
	* ldlang.c (new_afile): Don't set asymbols and symbol_count.
	* ldmain.c (add_archive_element): xcalloc lang_input_statement_type.

2008-08-15  Alan Modra  <amodra@bigpond.net.au>

	PR 6526
	* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

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

	PR 6753
	* ldmain.c (check_for_scripts_dir, set_scripts_dir): Delete.
	(main): Don't set_scripts_dir here.
	* ldfile.c (check_for_scripts_dir, find_scripts_dir): New functions,
	largely based on ldmain.c versions.
	(ldfile_find_command_file): Set up search in script dir here without
	affecting library search.
	* Makefile.am (ldmain.o): No need to define SCRIPTDIR.
	(ldfile.o): New rule.
	* Makefile.in: Regenerate.

2008-08-08  Anatoly Sokolov  <aesok@post.ru>

	* Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o,
	and eavr51.o.
	Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c.
	* Makefile.in: Regenerate.
	* configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35
	and avr51.
	* emulparams/avr25.sh: New file.
	* emulparams/avr31.sh: New file.
	* emulparams/avr35.sh: New file.
	* emulparams/avr51.sh: New file.

2008-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* emulparams/elf32bmip.sh (GOT): Define, moving .got.plt to...
	(OTHER_RELRO_SECTIONS, OTHER_READWRITE_SECTIONS): ...one of these
	two variables.
	* emulparams/elf32bmipn32-defs.sh: Likewise.
	* emultempl/mipself.em: Include ldctor.h, elf/mips.h and elfxx-mips.h.
	(is_mips_elf): New macro.
	(stub_file, stub_bfd): New variables.
	(hook_stub_info): New structure.
	(hook_in_stub): New function.
	(mips_add_stub_section): Likewise.
	(mips_create_output_section_statements): Likewise.
	(mips_before_allocation): Likewise.
	(real_func): New variable.
	(mips_for_each_input_file_wrapper): New function.
	(mips_lang_for_each_input_file): Likewise.
	(lang_for_each_input_file): Define.
	(LDEMUL_BEFORE_ALLOCATION): Likewise.
	(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise.

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

	* ldfile.c (ldfile_open_file_search): Use concat.
	(try_open): Don't use a fixed size pathname buffer.
	(ldfile_find_command_file): Likewise.
	* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): If
	using EXTRA_SHLIB_EXTENSION, don't open twice.

2008-08-04  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (POTFILES.in): Set LC_ALL=C.
	* Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.

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

	* Makefile.am (spu_ovl.o): Merge rule into..
	(spu_ovl.o_c): ..this one.  Only run cpp for spu target.
	* Makefile.in: Regenerate.

2008-08-02  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Include the spu_ovl ASCII form in the repository files.
	* emultempl/spuelf.em: No longer use `bin2c', use now `spu_ovl.o_c'.
	* Makefile.am (eelf32_spu.c): Depend now on `spu_ovl.o_c'.
	($(srcdir)/emultempl/spu_ovl.o_c): New target.
	($(srcdir)/emultempl/spu_ovl.o): Rename to...
	(spu_ovl.o): ...this one.
	* Makefile.in: Regenerate.
	* emultempl/spu_ovl.o_c: New file.
	* emultempl/spu_ovl.o: File removed.

2008-07-31  Takashi Ono  <t_ono@hkfreak.net>

	* pe-dll.c (generate_relocs): Don't generate relocs for
	undefined weak symbols.

2008-07-31  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'.

2008-07-30  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/pe.em, emultempl/pep.em: Silence gcc warnings.

2008-07-18  Joseph Myers  <joseph@codesourcery.com>

	* ld.texinfo (--no-wchar-size-warning): Document new ARM option.
	* emultempl/armelf.em (no_wchar_size_warning): New.
	(arm_elf_create_output_section_statements): Pass
	no_wchar_size_warning to arm_elf_create_output_section_statements.
	(OPTION_NO_WCHAR_SIZE_WARNING): New.
	(PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
	(PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
	(PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.

2008-07-15  Jie Zhang  <jie.zhang@analog.com>

	* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.

2008-07-12  Craig Silverstein  <csilvers@google.com>

	PR ld/6741
	* configure.in: Check for, and include, libz.a if it is present.
	* configure: Regenerate.
	* config.in: Regenerate.

2008-07-12  Jie Zhang  <jie.zhang@analog.com>

	Revert
	2008-07-12  Jie Zhang  <jie.zhang@analog.com>
	* Makefile.am (eelf32bfin.c): Depend on bfin.em.
	(eelf32bfinfd.c): Likewise.
	* Makefile.in: Regenerate.
	* gen-doc.texi: Set Blackfin.
	* ld.texinfo: Document --sep-code and Blackfin specific
	options.
	* ldmain.c (main): Initialize link_info.sep_code.
	* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
	(ld_options[]): Add --sep-code.
	(parse_args): Deal with --sep-code.
	* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
	* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
	* emultempl/bfin.em: New file.

2008-07-12  Jie Zhang  <jie.zhang@analog.com>

	* Makefile.am (eelf32bfin.c): Depend on bfin.em.
	(eelf32bfinfd.c): Likewise.
	* Makefile.in: Regenerate.
	* gen-doc.texi: Set Blackfin.
	* ld.texinfo: Document --sep-code and Blackfin specific
	options.
	* ldmain.c (main): Initialize link_info.sep_code.
	* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
	(ld_options[]): Add --sep-code.
	(parse_args): Deal with --sep-code.
	* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
	* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
	* emultempl/bfin.em: New file.

2008-07-09  Danny Smith  <dannysmith@users.sourceforge.net>

           *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols
           starting with ".".
           Exclude "_IMPORT_DESCRIPTOR_".
           (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA".
           (autofilter_symbollist_generic): Don't check for ".text".
           Exclude "_NULL_IMPORT_DESCRIPTOR".
           (autofilter_symbollist_i386): Likewise.

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

	* emultempl/armelf.em (elf32_arm_add_stub_section): Use
	bfd_make_section_with_flags.
	* emultempl/avrelf.em (avr_elf_create_output_section_statements):
	Likewise.
	* emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
	* emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
	* emultempl/m68kcoff.em (gld${EMULATION_NAME}_after_open): Likewise.
	* emultempl/m68kelf.em (m68k_elf_after_open): Likewise.
	* emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
	* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation):
	Likewise.

2008-07-06  Nathan Sidwell  <nathan@codesourcery.com>

	* ld.texinfo (File Commands): Document that INCLUDE can be used in
	several different places.
	* ldgram.y (statement, memory_spec, section): Allow INCLUDE.
	(memory, memory_spec_list): Simplify BNF
	(memory_spec_list_opt): New rule.
	* ldlex.l (INCLUDE): Recognize in EXPRESSION.

2008-06-20  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Make "can not
	build overlay stubs" a fatal error.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* config.in: Regenerate.
	* configure: Regenerate.

2008-06-17  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (extra_stack_space): New variable.
	(gld${EMULATION_NAME}_finish): Pass it to spu_elf_check_vma.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --extra-stack-space.
	* emultempl/spu_ovl.S: Mask interrupts during dma and update of
	overlay manager structures.
	* emultempl/spu_ovl.o: Regenerate.

2008-06-16  Hans-Peter Nilsson  <hp@bitrange.com>

	* ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, only
	mention it as being special for global symbols.

2008-06-12  Nick Clifton  <nickc@redhat.com>

	* ldlang.c (print_output_section_statement): If the output section
	statement has an update_dot_tree expression, apply it to
	print_dot.
	(print_input_section): Do not update print_dot if it would move
	print_dot backwards.
	(lang_do_assignments_1): If the output section statement has an
	update_dot_tree expression apply it to dot.

2008-06-07  Alan Modra  <amodra@bigpond.net.au>

	* NEWS: Mention archive:path patterns.
	* ld.texinfo: Likewise.
	* ldlang.c: Formatting throughout.
	(archive_path): Only assume "[A-Za-z]:" is a dos drive.
	(input_statement_is_archive_path): New function, extracted from..
	(walk_wild): ..here.
	(walk_wild_consider_section): Match archive:path here too.
	(init_map_userdata, sort_def_symbol): Convert to ISO C.
	* ldmain.c (main): Set link_info.path_separator.
	* emultempl/spuelf.em (choose_target): Don't set it here.

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

	* ldlang.c (name_match): New function.
	(unique_section_p, walk_wild_consider_section): Use it here.
	(walk_wild_section_general): And here.
	(archive_path): New function.
	(walk_wild): Match archive:path filespecs.
	(open_input_bfds): Don't load archive:path files.
	* emultempl/spuelf.em (choose_target): Set path_separator.
	* emulparams/elf32_spu.sh: Add ._ea.* sections to ._ea output.

2008-06-04  Nick Clifton  <nickc@redhat.com>

	* ld.texinfo (Orphan Sections): Fix texi typo.

2008-06-04  Chris Metcalf  <cmetcalf@tilera.com>

	* lexsup.c (option_values): Add OPTION_NO_WARN_FATAL.
	(ld_options): Add entry for --no-fatal-warnings.
	(parse_args): Handle OPTION_NO_WARN_FATAL.
	* ld.texinfo (Options): Document new command line switch.

2008-06-04  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.

2008-06-02  Nathan Sidwell  <nathan@codesourcery.com>

	* ldlang.c (closest_target_match): Skip generic big and little
	endian ELF targets.

2008-05-31  Evandro Menezes  <evandro@yahoo.com>

	PR ld/6430
	* ld.h (enum sort_order): New.
	* ldlang.c (lang_check: Fix comment.
	(lang_common): Sort commons in ascending or descending order.
	(lang_one_common): Likewise.
	* lexsup.c (ld_options): Have --sort-common take an option
	argument.
	(parse_args): Handle argument to --sort-common.
	* ld.texinfo (--sort-common): Document new optional argument.
	* NEWS: Mention new feature.

2008-05-28  Christophe Lyon  <christophe.lyon@st.com>
	
	* ld.texinfo: State that farcalls stubs are supported for ARM-EABI
	only.

2008-05-27  Kai Tietz  <kai.tietz@onevision.com>

	* pe-dll.c (fill_edata): Make sure we calculate vma's in
	type bfd_vma.
	(generate_reloc): Likewise.
	(pe_implied_import_dll): Likewise.

2008-05-21  Nick Clifton  <nickc@redhat.com>

	PR ld/6519
	* ld.texinfo (Orphan Sections): Mention that the linker will
	provide start and stop symbols for orphaned sections if their
	names are valid C identifiers.
	* NEWS: Add an addendum to the description of the linker feature
	for providing orphan section start and end symbols.

2008-05-21  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* configure.in (--enable-got): New option.  Handle it.
	* configure: Regenerate.
	* config.in: Regenerate.
	* emultempl/m68kelf.em: (got_handling_target_default): New shell
	variable.
	(GOT_HANDLING_TARGET_DEFAULT): New macro.
	(GOT_HANDLING_DEFAULT): New macro.  Initialize it from configure
	option if one was given.
	(got_handling): New static variable.
	(elf_m68k_create_output_section_statements): New static function
	implementing hook.
	(PARSE_AND_LIST_PROLOGUE): Define shell variable.
	(OPTION_GOT): New macro.
	(PARSE_AND_LIST_LONGOPTS): Define shell variable.  Specify
	--got option.
	(got): New linker option.
	(PARSE_AND_LIST_OPTIONS): Define shell variable.  Print help string
	for --got option.
	(PARSE_AND_LIST_ARGS_CASES): Define shell variable.  Handle --got
	option.	
	* ld.texinfo: Document --got=<type> option.
	* gen-doc.texi: Add M68K.
	* NEWS: Mention the new feature.

2008-05-21  Evandro Menezes  <evandro@yahoo.com>

	PR ld/6430
	* ld.texinfo (--sort-common): Correct documentation to indicate
	that sorting is performed by alignment, not size, biggest
	alignment first.

2008-05-21  Christophe Lyon  <christophe.lyon@st.com>
	    Nick Clifton  <nickc@redhat.com>

	* ld.texinfo (ARM): Document --stub-group-size=N option.
	Move description of --pic-veneer option into the ARM section.
	* NEWS: Mention the support for long function calls.

2008-05-15  Christophe Lyon  <christophe.lyon@st.com>
	
	* emultempl/armelf.em (build_section_lists): New function.
	(stub_file): Define.
	(need_laying_out): Define.
	(group_size): Define.
	(hook_stub_info): Define.
	(hook_in_stub): New function.
	(elf32_arm_add_stub_section): New function.
	(gldarm_layout_sections_again): New function.
	(gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
	stubs for long calls if needed.
	(arm_elf_create_output_section_statements): create stub_file bfd.
	(arm_for_each_input_file_wrapper): New function.
	(arm_lang_for_each_input_file): New function.
	(lang_for_each_input_file): Define.
	(PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
	(PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
	(PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
	(PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
	(LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
	* lang.c (print_input_statement): Skip if bfd has
	BFD_LINKER_CREATED.

2008-05-14  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.in: Regenerate.

2008-05-09  Kai Tietz  <kai.tietz@onevision.com>

	ld/PR6502
	* emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
	of long and change return type to bfd_vma.
	(definfo): Change type of address from long to bfd_vma.
	(set_pep_value): Replace strtoul to strtoull.
	(gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long..
	* pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
	ImageBase.
	(quick_reloc): Change argument address from int to bfd_size_type.

2008-05-08  Tom Tromey  <tromey@redhat.com>

	* ld.texinfo (PowerPC64 ELF64): Fix typo.

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

	* elf32_spu.sh (OTHER_SECTIONS): Add "._ea".
	* elf32ppc.sh: If building with spu support, put ".data.spehandle"
	sections at the start of ".data" and provide a symbol to locate
	the directory of embedded spe programs.

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

	* ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K.  Correct
	MAX_K.
	(fold_binary <SEGMENT_START>): Set expld.result.section to
	current section.  Expand comment.  Formatting.
	(fold_name <DEFINED>): Set expld.result.section to current section.

2008-04-28  Nathan Sidwell  <nathan@codesourcery.com>

	* ldlang.c (lang_size_sections_1): Don't check LMA overflow on
	non-load sections.

2008-04-25  Michael Frysinger  <vapier@gentoo.org>

	* configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
	and targ_extra_emuls to elf32bfin.

2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2008-04-03  Kai Tietz  <kai.tietz@onevision.com>

	* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.

2008-04-08  Alan Modra  <amodra@bigpond.net.au>

	* po/POTFILES.in: Regenerate.

2008-04-08  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (auto_overlay, auto_overlay_file,
	auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
	(spu_before_allocation): Warn on --auto-overlay and existing overlays.
	(struct tflist, clean_tmp): Move.
	(new_tmp_file): New function, extracted from..
	(embedded_spu_file): ..here.
	(spu_elf_open_overlay_script, spu_elf_relink): New function.
	(gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
	Warn on --auto-overlay and zero local store.
	(gld${EMULATION_NAME}_choose_target): New function to stash argv.
	(OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
	OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
	OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
	(PARSE_AND_LIST_LONGOPTS): Add entries for new options.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Likewise.
	(LDEMUL_CHOOSE_TARGET): Define.

2008-04-03  Kai Tietz  <kai.tietz@onevision.com>

	PR ld/6026
	* pe-dll.c (make_head): Fix iat and thunk addend offset.

2008-03-31  Nick Clifton  <nickc@redhat.com>

	* po/fr.po: Updated French translation.

2008-03-24  Ian Lance Taylor  <iant@google.com>

	The sha1 code is now in libiberty.
	* sha1.c: Remove.
	* sha1.h: Remove.
	* Makefile.am (CFILES): Remove sha1.c.
	(HFILES): Remove sha1.h.
	(OFILES): Remove sha1.o.
	(ld_new_SOURCES): Remove sha1.c.
	(sha1.o): Remove target.
	* Makefile.in: Rebuild.

2008-03-20  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em: Update calls to elf32-spu.c funcs.

2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.
	* configure: Likewise.
	* Makefile.in: Likewise.

2008-03-14  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
	spu_elf_build_stubs with is_spu_target.

2008-03-13  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2008-03-06  Joseph Myers  <joseph@codesourcery.com>
	    Roman Zippel  <zippel@linux-m68k.org>

	* emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
	(COMMONPAGESIZE): Define.

2008-02-22  Nick Clifton  <nickc@redhat.com>

	PR ld/5785
	* ldlang.c (lang_size_sections_1): Honour the setting of an
	lma_region even if there is no vma region set, or the vma region
	is the same as the lma region.

2008-02-18  Nick Clifton  <nickc@redhat.com>

	* scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
	relocatable link.
	* scripttempl/elf32cr16.sc: Likewise.
	* scripttempl/elf32cr16c.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/ip2k.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/v850.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

2008-02-16  Alan Modra  <amodra@bigpond.net.au>

	PR ld/5761
	* ldexp.c (fold_name <LOADADDR>): Check result of evaluating
	load_base before calling make_abs.

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

	* emultempl/alphaelf.em (alpha_after_open): Use elf_object_id.
	* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
	Likewise.
	* emultempl/ppc64elf.em (ppc_create_output_section_statements):
	Likewise.
	* emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete.  Replace all
	uses with..
	(is_ppc_elf): ..this new macro.

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

	* ldmain.h (output_bfd): Delete.
	* ldmain.c (output_bfd): Delete.
	Replace all occurrences of output_bfd with link_info.output_bfd.
	* ldcref.c: Likewise.
	* ldctor.c: Likewise.
	* ldemul.c: Likewise.
	* ldexp.c: Likewise.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldmisc.c: Likewise.
	* ldwrite.c: Likewise.
	* pe-dll.c: Likewise.
	* emultempl/aix.em: Likewise.
	* emultempl/alphaelf.em: Likewise.
	* emultempl/armcoff.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/avrelf.em: Likewise.
	* emultempl/beos.em: Likewise.
	* emultempl/elf-generic.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/irix.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68hc1xelf.em: Likewise.
	* emultempl/mmix-elfnmmo.em: Likewise.
	* emultempl/mmo.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/scoreelf.em: Likewise.
	* emultempl/sh64elf.em: Likewise.
	* emultempl/spuelf.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/vanilla.em: Likewise.
	* emultempl/vxworks.em: Likewise.
	* emultempl/xtensaelf.em: Likewise.
	* emultempl/z80.em: Likewise.
	* ldlang.c (open_output): Don't return output, instead write
	link_info_output_bfd directly.
	* emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator
	with link_info.output_bfd->xvec.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/spuelf.em: Likewise.

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

	* ldlang.c (new_afile): Don't pass unadorned NULL to concat.
	* ldfile.c (ldfile_add_library_path): Likewise.
	* emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise.
	* emultempl/lnk960.em (lnk960_before_parse): Likewise.
	* emultempl/spuelf.em (embedded_spu_file): Likewise.

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

	* emultempl/spu_ovl.S: Use low bit of _ovly_table.size as
	a "present" bit rather than low bit of .buf.  Correct indexing
	into _ovly_buf_table.  Use relative loads and stores to access
	overlay manager local vars.
	* emultempl/spu_ovl.o: Regenerate.

2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR 5715
	* configure: Regenerated.

2008-01-31  Marc Gauthier  <marc@tensilica.com>

	* configure.tgt (xtensa*-*-*): Recognize processor variants.

2008-01-28  Fabian Groffen  <grobian@gentoo.org>

	* configure.tgt (x86_64-*-solaris2): Add support for this target.

2008-01-28  Vincent Riviere  <vincent.riviere@freesbee.fr>

	PR ld/5652
	* genscripts.sh: Check for the existence of BASH_LINENO not just
	the BASH shell before generating line numbers in the emulation
	file.

2008-01-28  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spu_ovl.S: Rewrite.
	* emultempl/spu_ovl.o: Regenerate.
	* emultempl/spuelf.em (toe): Delete.
	(spu_place_special_section): Add param to control section placement.
	Adjust callers.
	(spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data
	changes.
	(spu_before_allocation): Adjust spu_elf_size_stubs call.
	(gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call.

2008-01-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/5670
	* ldlang.c (process_insert_statements): Silence gcc 4.1 alias
	warning.

2008-01-25  Alan Modra  <amodra@bigpond.net.au>

	* ld.texinfo (INSERT): Describe.
	* ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
	(INSERT_K, AFTER, BEFORE): Add as tokens.
	(ifile_p1): Handle INSERT statements.
	(saved_script_handle, force_make_executable): Move to..
	* ldmain.c: ..here.
	(previous_script_handle): New global var.
	* ldmain.h (saved_script_handle, force_make_executable): Declare.
	(previous_script_handle): Likewise.
	* ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
	* lexsup.c (parge_args <-T>): Set previous_script_handle.
	* ldlang.c (lang_for_each_statement_worker): Handle insert statement.
	(map_input_to_output_sections, print_statement): Likewise.
	(lang_size_sections_1, lang_do_assignments_1): Likewise.
	(insert_os_after): New function, extracted from..
	(lang_insert_orphan): ..here.
	(process_insert_statements): New function.
	(lang_process): Call it.
	(lang_add_insert): New function.
	* ldlang.h (lang_insert_statement_enum): New.
	(lang_insert_statement_type): New.
	(lang_statement_union_type): Add insert_statement.
	(lang_add_insert): Declare.

2008-01-18  Bob Wilson  <bob.wilson@acm.org>

	* scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
	changes from elf.sc.

2008-01-16  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.

2008-01-16  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.h (lang_afile_asection_pair_statement_enum): Delete.
	(lang_afile_asection_pair_statement_type): Delete.
	(lang_statement_union_type): Delete afile_asection_pair_statement.
	* ldlang.c (lang_insert_orphan): Delete case handling the above.
	(map_input_to_output_sections, print_statement): Likewise.

2008-01-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
	with __data_start.
	* emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.

2008-01-15  Alan Modra  <amodra@bigpond.net.au>

	PR 5604
	* ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
	syms to _bfd_elf_gc_keep.
	* emultempl/ppc64elf.em (ppc_before_allocation): Don't call
	ppc64_elf_edit_opd if no_opd_opt.

2008-01-11  Tristan Gingold  <gingold@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* ldlang.c (lang_end): Warns if the entry point is not found when
	--gc-sections.
	Emit an error if no root is specified when --gc-sections -r.
	* ld.texinfo (Options): Document that --gc-sections is compatible
	with -r and -q.
	* ldmain.c (main): Do not error out if -r and --gc-sections.
	* scripttempl/elf.sc: Emit ENTRY command only if relocating.

2008-01-10  Daniel Jacobowitz  <drow@sources.redhat.com>

	PR ld/5533
	* ldlang.c (lang_end): Issue a warning for a missing start symbol
	of a shared library if the symbol was specified on the command
	line.

2008-01-10  Alan Modra  <amodra@bigpond.net.au>

	* ld.texinfo (--gc-sections): Describe linker behaviour.

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