2010-06-29  Nick Clifton  <nickc@redhat.com>

	* scripttempl/xstormy16.sc (.gcc_except_table): Include sections
	with the .gcc_except_table. prefix.

2010-06-29  Alan Modra  <amodra@gmail.com>

	* emulparams/maxqcoff.sh: Delete file.
	* scripttempl/maxqcoff.sc: Delete file.
	* Makefile.am: Remove references to maxq.
	* configure.tgt: Likewise.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.

2010-06-27  Alan Modra  <amodra@gmail.com>

	* pe-dll.c (fill_edata): Avoid set but unused warning.
	(pe_walk_relocs_of_symbol): Delete set but unused variables.
	(generate_reloc, pe_implied_import_dll): Likewise.
	* emultempl/aix.em (open_dynamic_archive): Likewise.
	* emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise.
	(xtensa_layout_wild): Likewise.
	(xtensa_colocate_output_literals_callback): Likewise.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (prelim_size_sections): New function.
	(ppc_before_allocation): Use it.  Size sections before toc edit too.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* emultempl/elf32.em (find_exp_assignment): Handle etree_provided.

2010-06-20  Danny Smith  <dannysmith@users.sourceforge.net>

	* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Make
	auto-import and merge-rdata defaults same for i[3-7]86 and
	x86_64 mingw.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define.

2010-06-09  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR ld/11603
	* pe-dll.c (process_def_file_and_drectve): Reorder check for
	forwarded export name after check for ordinary export.

2010-06-08  Bernd Schmidt  <bernds@codesourcery.com>

	* emulparams/elf32_tic6x_le.sh (OTHER_BSS_SECTIONS): New.

2010-06-08  Nick Clifton  <nickc@redhat.com>

	* fdl.texi: Replace with v1.3 text.
	* ld.texinfo: Replace abbreviated 20th century year numbers with
	full versions.
	* ldint.texinfo: Likewise.
	Relicense under GFDL v1.3.  Replace text of v1.1 FDL with an
	include of the fdl.texi file.

2010-06-01  Tristan Gingold  <gingold@adacore.com>

	* scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
	readonly output-section. Handle LIB$INITIALIZE and sections
	created by gcc.
	* emultempl/vms.em (vms_place_orphan): Add comments.

2010-05-28  Nick Clifton  <nickc@redhat.com>

	* Makefile.am (eshlelf_fd.c): Fix typo in rule.
	* Makefile.in: Regenerate.

2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11628
	* ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
	multiple of maximum page size.

2010-05-25  Nick Clifton  <nickc@redhat.com>

	* Makefile.am: Fix typo.
	* Makefile.in: Regenerate.

2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
	(eshelf_fd.c, eshlelf_fd.c): New rules.
	* Makefile.in: Regenerate.
	* configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
	emulations.
	* emulparams/shelf_fd.sh: New file.
	* emulparams/shlelf_fd.sh: New file.
	* emulparams/shlelf_linux.sh: Update comment.

2010-05-25  Jay Krell  <jay.krell@cornell.edu>

	PR ld/11621
	* Makefile.am: Replace all occurences of .o with .@OBJEXT@
	* Makefile.in: Regenerate.

2010-05-25  Kai Tietz  <kai.tietz@onevision.com>

	* deffilep.y (opt_name): Allow leading dot.
	(dot_name): Likewise.
	(anylang_id): Likewise.
	* emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by
	default auto_import.
	(gld${EMULATION_NAME}_handle_option): Warn about v1.
	(pep_find_data_imports): Remove superflous warnings about
	auto-import.
	(gld_${EMULATION_NAME}_get_script): Don't merge for auto-import
	and active pseudo-relocation-v2 rdata into data section.
	* emultempl/pe.em (default_merge_rdata): New shell variable.
	(MERGE_RDATA_V2): New macro.
	(gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import
	selected script.

2010-05-15  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pe.em (is_underscoring): New helper function.
	(gld_${EMULATION_NAME}_before_parse): Replace code
	for pe(p)_leading_underscore detection by is_underscoring.
	(U): Likewise.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(U_SIZE): Likewise.
	(set_pe_name):
	(set_entry_point):
	(gld_${EMULATION_NAME}_set_symbols):
	* emultempl/pep.em: Likewise.
	* pe-dll.c (pe_detail_list): Set default
	underscoring for x64 target.
	(pe_dll_id_target): Add initialization of
	pe(p)_leading_underscore.

2010-05-15  Dave Korn  <dave.korn.cygwin@gmail.com>

	* pe-dll.c: Removed trailing whitespaces.

2010-05-14  Alan Modra  <amodra@gmail.com>

	PR ld/11583
	* ldexp.c (exp_fold_tree_1): If assignment source expression is
	invalid, make the destination symbol undefined.

2010-05-11  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
	Initialize pe(p)_leading_underscore variable.
	(set_pe_name): Likewise.
	* emultempl/pep.em: Likewise.
	Additional change default to non-underscore for
	pep_leading_underscore equal to -1.

2010-05-07  Tristan Gingold  <gingold@adacore.com>

	* Makefile.in: Regenerate with automake 1.11.1.
	* aclocal.m4: Ditto.

2010-05-05  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2010-04-27  Kai Tietz  <kai.tietz@onevision.com>

	* pe-dll.c (_nm_-symbols): Use always underscored variant
	for symbols.
	(__imp_-symbols): Likewise.
	(___imp_-symbols): Likewise.
	* NEWS: Mention ABI change for x64 PE-COFF.

2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (install-exec-local): Properly install ld as
	default cross linker.
	* Makefile.in: Regenerated.

2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
	    Nick Clifton  <nickc@redhat.com>

	* configure.in (install_as_default): Define and set to true
	unless --enable-gold=both/gold has been specified.
	* configure: Regenerate.

	* Makefile.am (transform): Use ld.bfd as the default name of
	the linker.
	(install-exec-local): Also install the executable as a binary
	named 'ld' if install_as_default is true.
	* Makefile.in: Regenerate.

2010-04-22  Nick Clifton  <nickc@redhat.com>

	* po/ld.pot: Updated by the Translation project.
	* po/vi.po: Updated Vietnamese translation.
	* po/bg.po: Updated Bulgarian translation.

2010-04-15  Andrew Haley  <aph@redhat.com>

	* emultempl/armelf.em (merge_exidx_entries): New variable.
	(OPTION_NO_MERGE_EXIDX_ENTRIES): New definition.
	("no-merge-exidx-entries"): New option.
	* ld.texinfo (merge-exidx-entries): Document this option.

2010-04-14  Tristan Gingold  <gingold@adacore.com>

	* emulparams/alphavms.sh: New file.
	* emultempl/vms.em: New file.
	* scripttempl/alphavms.sc: New file.
	* configure.tgt (alpha*-*-*vms*): Added.
	* Makefile.am (ALL_EMULATIONS): Add ealphavms.o
	(ealphavms.c): New target.
	* Makefile.in: Regenerate.

2010-04-09  Nick Clifton  <nickc@redhat.com>

	* ldlang.c (wild_sort): Remove unused variable section_name.

2010-04-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11434
	* ld/testsuite/ld-x86-64/unique1.d: New.
	* ld/testsuite/ld-x86-64/unique1.s: Likewise.

	* ld-x86-64/x86-64.exp: Run unique1.

2010-04-05  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pep.em (U): Macro modified.
	(U_SIZE): New helper macro.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(enum options): Add OPTION_NO_LEADING_UNDERSCORE
	and OPTION_LEADING_UNDERSCORE enumerator-values.
	(gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
	option.
	(definfo): Add new member is_c_symbol.
	(D): Add to macro underscore mode parameter.
	(init): Add definition for is_c_symbol.
	(gld_${EMULATION_NAME}_list_options): Display new options.
	(set_pep_name): Adjust underscoring dependent fixed
	symbol handling.
	(gld_${EMULATION_NAME}_set_symbols): Likewise.
	(saw_option): Likewise.
	(gld_${EMULATION_NAME}_unrecognized_file): Likewise.
	(set_entry_point): Initial initial_symbol_char dependent to
	target's default and new option flag pep_leading_underscore.
	* emultempl/pe.em (U): Macro modified.
	(U_SIZE): New helper macro.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(OPTION_LEADING_UNDERSCORE): Add new option define.
	(OPTION_NO_LEADING_UNDERSCORE): Likewise.
	(gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
	option.
	(definfo): Add new member is_c_symbol.
	(D): Add to macro underscore mode parameter.
	(init): Add definition for is_c_symbol.
	(gld_${EMULATION_NAME}_list_options): Display new options.
	(set_pep_name): Adjust underscoring dependent fixed
	symbol handling.
	(gld_${EMULATION_NAME}_set_symbols): Likewise.
	(saw_option): Likewise.
	(gld_${EMULATION_NAME}_unrecognized_file): Likewise.
	(set_entry_point): Initial initial_symbol_char dependent to
	target's default and new option flag pep_leading_underscore.
	* pe-dll.c (pe_leading_underscore): New flag variable.
	(pe_detail_list): Remove const to allow modify of
	member underscore.
	(pe_dll_id_target): Initialize pe_details' underscore variable
	dependent to target's default and flag pe_leading_underscore.
	* pe-dll.h (pe_leading_underscore): Add extern declaration of
	option flag.
	* pep-dll.c (pe_leading_underscore): Add alias define for
	pep_leading_underscore.
	* pep-dll.h (pep_leading_underscore) Add extern declaration of
	option flag.
	* ld.texinfo: Add documentation for --(no-)leading-underscore
	option.

2010-03-26  Alan Modra  <amodra@gmail.com>

	PR ld/11426
	* configure.host (many linux targets <HOSTING_CRT0>): Remove edits.
	(m68*-motorola-sysv <HOSTING_LIBS>): Use here doc, not echo.

2010-03-25  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
	eelf32_tic6x_le.o.
	(eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
	* NEWS: Add news entry for TI C6X support.
	* configure.tgt (tic6x-*-*): New.
	* emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.

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

	* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
	BSS_NAME): Define if not already defined.  Use in place of some
	hardcoded section names.

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

	* scripttempl/elf.sc (INIT_ARRAY): Re-indent.

2010-03-18  Aymeric Vincent  <vincent@labri.fr>

	PR ld/11384
	* emultempl/sh64elf.em: Add missing EOF.

2010-03-18  Doug Semler  <dougsemler@gmail.com>

	* pe-dll.c (make_one): Make text section readonly.
	(make_one): Add *ABS* symbol @feat.00 with value 1 to tag
	the jump stub on X86 as /SAFESEH compatible for
	native toolchains.

2010-03-17  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_size_sections_1): Remove "s" param.  Set "s" from
	*prev instead.  Update all callers.

2010-03-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* ldlang.c (lang_insert_orphan): Place loadable orphans in the same
	region and phdrs as their placement section.

2010-03-15  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (move_input_section, sort_toc_sections): New.
	(ppc_before_allocation): Call sort_toc_sections.
	(no_toc_sort, OPTION_NO_TOC_SORT): New.
	(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
	 PARSE_AND_LIST_OPTIONS): Handle --no-toc-sort.

2010-03-14  Alan Modra  <amodra@gmail.com>

	PR ld/11378
	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
	ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs.

2010-03-11  George Gensure  <werkt0@gmail.com>

	PR ld/11367
	* ldcref.c (handle_asneeded_cref): Correct copying of refs.

2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
	eelf_i386_sol2.o.
	(ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o.
	(eelf32_sparc_sol2.c): New rule.
	(eelf64_sparc_sol2.c): Likewise.
	(eelf_x86_64_sol2.c): Likewise.
	(eelf_i386_sol2.c): Likewise.
	* Makefile.in: Regenerate.
	* configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to
	elf_i386_sol2.
	Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls.
	(x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2.
	Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls.
	(sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2.
	Add target_extra_emuls.
	(sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2.
	Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls.
	(sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2.
	Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls.
	* emulparams/elf32_sparc_sol2.sh: New file.
	* emulparams/elf64_sparc_sol2.sh: New file.
	* emulparams/elf_i386_sol2.sh: New file.
	* emulparams/elf_x86_64_sol2.sh: New file.
	* emultempl/solaris2.em: New file.

2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11330
	* ld.texinfo: Replace explicitely with explicitly.

2010-02-27  Jie Zhang  <jie@codesourcery.com>

	* scripttempl/armbpabi.sc: Don't combine .init_array.* or
	.fini_array.* when do relocatable linking.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2010-02-26  Alan Modra  <amodra@gmail.com>

	* scripttempl/elf.sc (.fini_array): Place input .fini_array after
	.fini_array.*.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2010-02-25  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c (init_os): Remove isec param.  Don't check for
	bfd_section already set or call bfd_init_private_section_data
	here.
	(exp_init_os): Update init_os call.
	(lang_add_section): Tidy.  Really don't set SEC_LINK_ONCE
	flags.  Call bfd_init_private_section_data here.
	(map_input_to_output_sections): Tidy.  Update init_os calls.
	Use os->sectype to select sec flags for lang_data_statement.

2010-02-23  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c: Revert last patch.

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

	* po/bg.po: Updated Bulgarian translation.

2010-02-22  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c (exp_init_os): Delete forward declaration.
	(init_os): Don't check for bfd_section already created and don't
	init addr_tree and load_base expressions here.
	(map_input_to_output_sections): Only map input to output sections
	and set constraints here, and as an exception, create output
	sections which have their address set.  Move all the other code to..
	(create_other_output_sections): ..here.  New function.  Handle init
	of addr_tree and load_base here too.
	(lang_process): Call create_other_output_sections.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* Makefile.am (eelf32_i960.c): Depend on ELF_GEN_DEPS, not ELF_DEPS.
	* Makefile.in: Regenerate.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* ldlang.c (unique_section_p): Add os param.  Allow group
	sections to match /DISCARD/.  Update all callers.
	* emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New.
	(LDEMUL_BEFORE_ALLOCATION): Define.

2010-02-15  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2010-02-10  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* Makefile.am (CFILES): Add ldlex-wrapper.c.
	(OFILES): Replace ldlex.c with ldlex-wrapper.c.
	(ldlex.o): Replace with...
	(ldlex-wrapper.o): ...this new rule.
	(EXTRA_ld_new_SOURCES): Add ldlex.l.
	(ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c.
	* Makefile.in: Regenerate.
	* ldlex.l (sysdep.h): Don't include here.
	* ldlex-wrapper.c: New file.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (ppc_before_allocation): Update for changed
	function parameters.

2010-02-05  Nick Clifton  <nickc@redhat.com>

	* configure.in (ALL_LIBGUAS): Add bg.
	* configure: Regenerate.
	* po/bg.po: New Bulgarian translation.

2010-02-05  Ryan Mansfield  <rmansfield@qnx.com>

	* emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Fix help for
	--target1-abs and --target1-rel options.

2010-02-03  Nick Clifton  <nickc@redhat.com>

	* emultempl/alphaelf.em: Update value expected from elf_object_id.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/mipself.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.

2010-02-03  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (build_toc_list): Report errors from
	ppc64_elf_next_toc_section.
	(after_allocation): Update for changed function names and params.
	Run second pass of multitoc partitioning.

2010-01-21  Jon Grant  <jg@jguk.org>
	    Nick Clifton  <nickc@redhat.com>

	PR 4437
	* ldfile.c: (ldfile_open_file): Do not stop link upon encountering
	a missing file or library.  Instead mark the entry as missing and
	set the global flag to indicate that missing files were
	encountered.
	* ldlang.c (missing_files): New exported variable.
	(load_symbols): Skip loading if the file is missing.
	(open_input_bfds): Terminate link if any input files were
	missing.
	* ldlang.h (struct lang_input_statement_struct): Add missing_file
	field.
	Add export of missing_file variable.

2010-01-13  DJ Delorie  <dj@redhat.com>

	* emultempl/elf32.em (_place_orphan): If an input section doesn't
	match an existing output section, but an unused output section
	statement does match, use it.
	* emultempl/pe.em (_place_orphan): Likewise.
	* emultempl/pep.em (_place_orphan): Likewise.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.
	* Makefile.in: Regenerate.

2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* ldver.c (ldversion): Change to "Copyright 2010".

2010-01-08  Alan Modra  <amodra@gmail.com>

	PR 11107
	* emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr.

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